首页 > 解决方案 > 如何使用 ne04j 密码显示三个节点的图形,其中第一个节点通过第二个节点连接到第三个节点?

问题描述

我试图找出见解在哪里(node1)-[:related_to]->(node2)-[:belongs_to]->(node3)。我想 (node1)-[:belongs_to]->(node3)根据上述关系显示。建立了三个关系。

MATCH (n2:node2),(n3:node3)
WHERE n2.Name = n3.Name
CREATE (n3) <- [:BELONGS_TO]- (n2)

MATCH (n1:node2),(n2:node2)
CREATE (n1) <- [:related_to]- (n2)

MATCH (n1:node2),(n2:node2)
CREATE (n2) <- [:related_to]- (n1)

我已经尝试过这个查询,但它通过关系给了我。

MATCH (n1:node1)-[r1:related_to]-(n2:node2)-[r2:BELONGS_TO]-(n3:node3) 
RETURN n1,n2,n3

我是这个领域的新手,并试图带来一些见解。您的宝贵意见将不胜感激。

标签: graphneo4jcypheranalytics

解决方案


如果有,则数据库中不存在(n)-->(m)-->(p)该关系。(n)-->(p)

所以要做你想做的事,你需要APOC。有一些程序/函数可以创建虚拟图。

MATCH (n1:node1)-[r1:related_to]-(n2:node2)-[r2:BELONGS_TO]-(n3:node3) 
WITH n1, n3
CALL apoc.create.vRelationship(n1,'belongs_to',{​}, n3) YIELD rel
RETURN n1,n3, rel

示例:https ://neo4j.com/docs/labs/apoc/current/virtual/


推荐阅读