如何使用Cypher在neo4j上找到断开连接的节点?

时间:2011-12-29 15:06:09

标签: neo4j graph-databases cypher

我正在玩neo4j并注意到所有Cypher查询都需要START子句中的起点。 我想知道如何使用Cypher找到所有断开连接的节点?

感谢

4 个答案:

答案 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无法实现图形全局查询。