我的Neo4j图表显示像下面..
300连接到100和100被连接到201和400.
我想找出neo4j中的第二级连接.例如:300的节点的第二级应该返回201和400
是否可以在neo4j中?


当我使用下面的密码查询时:
MATCH(n) - [:CALLED*2] - (结果)WHERE n.name ='300'RETURN结果
它应该只给我201和400,但它返回如下

在Neo4j中这很容易.如果你正在使用Cypher,它可能是这样的:
MATCH (n)-[:CALLED]-()-[:CALLED]-(result)
WHERE n.id = 300
RETURN result
Run Code Online (Sandbox Code Playgroud)
我在这里假设id财产是持有识别号码的,但显然你可以改变它.
你甚至可以做这样的可变长度路径:
MATCH (n)-[:CALLED*2]-(result)
WHERE n.id = 300
RETURN result
Run Code Online (Sandbox Code Playgroud)
但是,这里的部分问题是这将返回节点#200.一个适合您要查找的结果的查询是:
MATCH (n)-[:CALLED]->()<-[:CALLED]-(result)
WHERE n.id = 300
RETURN result
Run Code Online (Sandbox Code Playgroud)
这仅匹配中间节点具有指向它的关系的位置.