Neo4j计算关系



假设我们"结婚了";具有"配偶"关系的对象和";spouse2"到"人"类。在Neo4J中可以计算/派生类似(p1 -已婚to ->P2)从存在配偶1=p1和配偶2= P2的婚姻对象m这一事实?

我没有在Neo4J中找到这样的构造。

假设存在一个属性为spouse1=p1和spouse2=p2的节点婚姻。如果p1和p2是个人id(如果p1和p2是名字,只需将其更改为名字并确保它是唯一的),您可以运行下面的cypher来创建关系:从p1到p2的marriedTo。

MATCH (m: Marriage)
WITH m.spouse1 as person1, m.spouse2 as person2
MATCH (p1: Person {id: person1})
WITH p1
MATCH (p2: Person {id: person2})
WITH p1, p2
MERGE p=(p1) - [:marriedTo] - (p2)
RETURN p

在模式不需要持久的情况下,最好的方法是使用虚拟关系。

一种方法是使用apoc: https://neo4j.com/labs/apoc/4.1/virtual/如果您需要与可视化关系进行进一步的交互,您可以使用其他工具,例如我们的Graphileon平台(披露:我为Graphileon团队工作)

最新更新