如何pull
通过实体 ID 使用该方法检索实体?我已经使用事务向我的数据库添加了一些 datoms/facts(正确的措辞?)。如果我执行以下简单查询,我可以看到实体 ID:
[:find ?e
:where
[?e :arb/value]
]
结果是:
{[17592186045418] [17592186045420] [17592186045423]}
现在我想使用pull检索其中之一。但是,拉取文档中的示例使用了相关实体与 id 相关联的示例。
具体来说,文档引用了 musicbrainz 示例数据集中的示例,他们建议的示例是:
(pull db '[*] led-zeppelin)
其中(尽管文档没有显示)led-zeppelin 的定义是这样的(可以在这里看到:
(def led-zeppelin [:artist/gid #uuid "678d88b2-87b0-403b-b63d-5da7465aecc3"])
文档说拉命令需要三件事:一个数据库,一个选择器模式,确定我认为为每个实体提取哪些属性,以及实体的“eid”。所以上面的led-zeppelin
var 在某种程度上是开斋节。
我并不完全了解那里发生的事情。:artist/gid 似乎是在 musicbrainz 的模式中定义的 id 属性,第三项看起来像特定的 id。我不确定#uuid 是什么。
但是,就我而言,我没有为我的实体定义 id 属性。我希望能够使用我认为默认分配给每个实体的唯一实体 ID。这可能吗?如果是这样,这将如何完成?