我想从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)
...
由于
答案 0 :(得分:6)
在您的示例中,您可以使用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不会知道'你','y'或'e'。