Datomic参考关系的属性

问题描述 投票:2回答:2

我正在尝试为一个模式建模,其中list可以有很多items,而每个item可以属于许多lists。对我来说很明显,我可以使用:list/items ref类型来建立关系模型,但是我也想拥有rank属性,该属性确定项目在每个存在的列表中的位置。怎么会这样呢?

datomic
2个回答
2
投票

我唯一的答案-假设定位取决于列表-是您需要添加具有rank属性的间接实体。这不是很愉快。如果可以订购多个关系,将是很好的,因为此用例将大大简化。


0
投票

Heterogenous tuples,于2019年6月添加,现在可以很好地解决此问题。

这是人们对原子学的一个非常普遍的问题。

[属性值,即v 5元组中的eavto,现在本身可以是元组。

[这是最大长度为8的clojure向量。虽然此长度限制并未完全允许将任意数量的元数据存储为边上的标签,就像在真正的图数据库中一样,但它增加了很多在保留datomic提供的所有其余杠杆和简单性的同时,为datic提供了强大的建模能力。

blog post官方公告。

讨论twitter的发行版。

要在数据记录中使用此功能,只需要tupleuntuple功能。它非常简单,正是“缺失”的功能。

© www.soinside.com 2019 - 2024. All rights reserved.