【发布时间】:2014-09-17 14:55:25
【问题描述】:
我想将深度嵌套的树结构转换为 Datomic。示例数据结构:
{:tree/id (d/tempid :db.part/user),
:tree/nodes [
{:node/name "Node1",
:node/parent "root-node-ref",
:node/tasks {"task-entities-map"}},
{:node/name "Node2",
:node/parent "node1-ref",
:node/tasks {"task-entities-map"}}]}
这里 Node2 是 Node1 的子节点,而 Node1 是某个根节点的子节点。
http://blog.datomic.com/2013/06/component-entities.html 上的 Datomic 文档表明没有必要为嵌套映射指定临时 ID,因为它们将自动创建(假设 :db/isComponent 对于 :tree/nodes、:node/tasks 等设置为 true .).
问题是:我如何在这里指定父子关系,由 :node/parent 属性给出?我想避免必须指定节点子节点,例如通过 :node/children 属性。 Datomic 是否会自动为 :node/tasks 列表中的实体指定临时 ID?
提前致谢。
【问题讨论】: