4

私はneo4jをいじっていて、すべてのCypherクエリがSTART句の開始点を必要としていることに気づきました。Cypherを使用して切断されたすべてのノードを見つけるにはどうすればよいですか?

ありがとう

4

4 に答える 4

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
于 2011-12-29T23:43:36.823 に答える
2

私はこのようなものを使用しますが、spring-data-neo4jを使用している場合のみです:

    start n = node:__types__(className="com.app.entity.Model")
    // match, where...
    return n

お役に立てば幸いです。

于 2012-04-09T01:06:11.303 に答える
2

Neo4j v3.0 +では、使用するだけです。

MATCH (n)
WHERE NOT (n)--()
RETURN n

(またはそのバリエーション)。クエリはかなり高速です。

于 2018-07-02T10:16:29.540 に答える
-2

できません。今日のCypherでは、グラフのグローバルクエリは不可能です。

于 2011-12-29T16:40:15.170 に答える