我正在玩neo4j并注意到所有Cypher查询都需要START
子句中的起点。
我想知道如何使用Cypher找到所有断开连接的节点?
感谢
答案 0 :(得分:7)
如果所有节点都被编入索引(例如通过自动索引),您可以使用索引查询作为起点,然后找到那些没有传出关系的节点。
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
答案 1 :(得分:2)
我使用类似的东西,但只有当我使用spring-data-neo4j:
时 start n = node:__types__(className="com.app.entity.Model")
// match, where...
return n
希望有所帮助!
答案 2 :(得分:0)
我刚使用Neo4j v3.0 +;
MATCH (n)
WHERE NOT (n)--()
RETURN n
(或其变体)。查询相当快。
答案 3 :(得分:-2)
你做不到。今天的Cypher无法实现图形全局查询。