【发布时间】:2018-05-15 20:24:01
【问题描述】:
Neo4j 3 中有没有一种方法可以为具有给定标签或属性的边缘设置边缘多重性设置?
例如,如果我有一个“亲生母亲”关系,我希望对这种类型的关系强制执行多对一的边多重性。
我正在寻找类似于边缘多重性设置in JanusGraph 的东西。
作为后续问题,如果可以定义边多重性,可以使用哪些设置值?
【问题讨论】:
标签: neo4j
Neo4j 3 中有没有一种方法可以为具有给定标签或属性的边缘设置边缘多重性设置?
例如,如果我有一个“亲生母亲”关系,我希望对这种类型的关系强制执行多对一的边多重性。
我正在寻找类似于边缘多重性设置in JanusGraph 的东西。
作为后续问题,如果可以定义边多重性,可以使用哪些设置值?
【问题讨论】:
标签: neo4j
Neo4j 目前没有限制来支持这种用法(限制给定标签节点上的边多重性)。不过,你可以自己做。
您可以通过adding a trigger 的 APOC 程序执行此操作,当您将给定类型的关系添加到节点时,该程序可以检查链接的节点是否符合您预期的多重性限制。
如果您想在没有 APOC 的情况下执行此操作,则需要创建一个 TransactionEventHandler 来执行检查,然后您需要创建一个内核扩展来加载您的 TransactionEventHandler 实例。这是blog entry describing this approach。
【讨论】: