neo4j:如何查询子图



我想从neo4j数据库中选择一个子图(S),并在S上使用另一个查询来查找两个给定节点是否连接。有没有一种方法可以在neo4j中编写查询?我使用的是node.js和Cypher。编辑:我正在做类似的事情,例如:

Match (u:User)-[:adds]->(y:Paper)-[:consistsOf]->(e:L2)-[]->(m:L3)
where u.username = 'test'
MATCH p=(m:L3)-[r:gives*1..4]->(n:L3)
...

感谢

在您的示例中,您可以使用WITH子句连接2个MATCH语句,如下所示(稍微清理一下):

MATCH (u:User {username:'test'})-[:adds]->(y:Paper)-[:consistsOf]->(e:L2)-->(m:L3)
WITH m
MATCH p=(m)-[r:gives*1..4]->(n:L3)
...

WITH子句类似于RETURN,只是它的目的是将值从一个查询传递到下一个查询。在这种情况下,只传递"m",因此第二个MATCH将不知道"u"、"y"或"e"。

最新更新