1

Cypher内で、あるノードxの下流にあるすべてのノードのカウントを取得する方法があるかどうか疑問に思っています。

私の特定のユースケースでは、いくつかのグラフがあります。これらは別々のエンティティですが、同じインスタンスに格納されています。グラフごとに、ノードと関係の数を調べたいと思います。

私はすでに関係のためにこれを持っていますstartr= rel()return count(

これはノードの場合開始n=node()return count(

データベース内のすべてに対して。

どうもありがとう、

エーモン

4

2 に答える 2

2

サブグラフごとに「参照」またはルートノードがある場合は、パス式を使用してすべてのノードを検索できます。

start root=node:roots(id="xx")
match root-[*..5]->end
return count(distinct end)

検索の深さを制限することは理にかなっています。

于 2012-11-30T07:52:29.157 に答える
1

ノード/リリース内のすべてのプロパティにインデックスを付ける必要があります。次に、これらのインデックスから始めてカウントを取得し、必要に応じて、グラフごとにそれらを合計する必要があります。本の著者タイプと車の色タイプの2つのグラフがあると仮定します。次に、サイファーの各グラフのノードの全体的な合計を取得するには、次のようにします。

start g1=node:node_auto_index('bookName:*'), g11=node:node_auto_index('authorName:*'),
      g2=node:node_auto_index('carName:*'), g22=node:node_auto_index('carColor:*')
return count(g1)+count(g11) as graph1, count(g2)+count(g22) as graph2

すべての関係について類似しています。未定義のプロパティで単純にグループ化できるサイファーソリューションについては知りません。問題を簡単に解決できます。

于 2012-11-29T14:15:40.227 に答える