Datomic许多对许多与数据的关系

问题描述 投票:0回答:1

我想实现一个多对多的关系,它也有元数据来描述这种关系。如果我的理解正确的话,在datomic中需要对这种关系进行一些重新定义(因为我们不能直接标记边缘),比如像join这样的实体。

:path/path-member      ; ref, many

:path-member/series    ; ref, one
:path-member/position  ; long, one

或者将其更完整地重新定义。

:path-member/series    ; ref, one
:path-member/path      ; ref, one
:path-member/position  ; long, one

有没有其他的数据建模方案可以用?

复合属性在这里是否相关?

这个问题已经 前问 但我想知道,自从这个问题被提出后(2015年),对datomic的任何补充是否提供了任何新的可能性。

datomic
1个回答
0
投票

几乎每个人在开始使用datomic进行数据建模的时候都会遇到这个问题,这一点从大量的堆栈溢出问题中就可以看出。

有一个好消息。异源元组,2019年6月新增,是一个强大的新功能,它能漂亮地解决这个问题--这正是我们都认为缺少的功能。

它的意思是,一个属性值,即 veavto 5-元组,现在它本身也可以是一个元组。

虽然这个长度限制并不能完全允许任意数量的元数据作为标签存储在边上,就像在一个真正的图db中一样,但它为datomic增加了巨大的建模能力,同时保留了datomic提供的所有其他杠杆和简单性。

官方 博文 公告。

讨论发布关于 .

要在数据记录中使用这个功能,你需要的是 元组不重复 的功能。它精美简洁,正是 "缺失 "的功能。

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