私はneo4jをいじっていて、すべてのCypherクエリがSTART
句の開始点を必要としていることに気づきました。Cypherを使用して切断されたすべてのノードを見つけるにはどうすればよいですか?
ありがとう
私はneo4jをいじっていて、すべてのCypherクエリがSTART
句の開始点を必要としていることに気づきました。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
お役に立てば幸いです。
Neo4j v3.0 +では、使用するだけです。
MATCH (n)
WHERE NOT (n)--()
RETURN n
(またはそのバリエーション)。クエリはかなり高速です。
できません。今日のCypherでは、グラフのグローバルクエリは不可能です。