我正在尝试找出(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
我是这个领域的新手,并试图提供一些见解。您的宝贵意见将不胜感激。
如果您有(n)->(m)->(p), the relationship
(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