如何使用Cypher查找neo4j上断开连接的节点?
我在玩弄neo4j,注意到所有Cypher查询都需要在如何使用Cypher查找neo4j上断开连接的节点?,neo4j,graph-databases,cypher,Neo4j,Graph Databases,Cypher,我在玩弄neo4j,注意到所有Cypher查询都需要在START子句中有一个起点。 我想知道如何使用Cypher查找所有断开连接的节点 谢谢你不能。使用今天的Cypher无法进行图形全局查询。如果所有节点都已索引(例如通过自动索引),则可以使用索引查询作为起点,然后查找没有传出关系的节点 start n=node:node_auto_index("id:*") match n-[r?]->m where r is null return n 现在我宁愿使用: start n=node:n
START
子句中有一个起点。
我想知道如何使用Cypher查找所有断开连接的节点
谢谢你不能。使用今天的Cypher无法进行图形全局查询。如果所有节点都已索引(例如通过自动索引),则可以使用索引查询作为起点,然后查找没有传出关系的节点
start n=node:node_auto_index("id:*")
match n-[r?]->m
where r is null
return n
现在我宁愿使用:
start n=node:node_auto_index("id:*")
where not (n-->m)
return n
我使用类似的东西,但只有在我使用spring-data-neo4j时:
start n = node:__types__(className="com.app.entity.Model")
// match, where...
return n
希望有帮助 使用neo4jv3.0+I只需使用
MATCH (n)
WHERE NOT (n)--()
RETURN n
(或其变体)。查询速度相当快 有什么方法可以追溯索引吗?是的,但是您必须创建所需的索引,然后遍历所有节点并在适当的地方添加它们。在本机JavaAPI中,您将使用REST或webadmin。。。有希望吗?应该可以使用gremlin控制台。首先启用自动索引,然后执行gremlin脚本。手头没有语法,但是像g.V.each{it,idx->it.id=idx}就足够了。这不能很好地回答这个问题。查询仍将匹配通过入站连接连接到图形的节点。它们现在(Neo4j 1.7)的起始n=节点(*)匹配。。。哪里这个答案最终被否决了,但它在发布时似乎是准确的