2ノードを超えるすべてのラベルを取得するためのCypherクエリ
質問
各接続コンポーネントには、複数のノードを持つすべてのラベルを返すCypherクエリを作成したいと考えています。 私はこのようなすべてのラベルを手に入れます:
match (n) return labels(n)
.
だから私は必要なラベルだけを手に入れるためにこれをやろうとしました:
match (n) with labels(n) as lb where count(k:lb[0]) >= 2) return lb limit 10
.
しかし、構文エラーを得ます:
無効な入力 ')':予想桁、 '。'、 'e'、空白、ノードラベル、 '['、 "=〜"、in、 '*'、 '/'、 '%'、 '^'、 '+'、 ' - '、 '<'、 '>'、 "<="、 "<="、">="、 '='、 "<>"、 "!="、XOR、または、ロードCSV、Start、Match、Wond、Merge、Merge、Merge、 作成、設定、削除、削除、foreach、return、union、 ';'または終了 入力(1行目、列57)
私はそのラベルを持つノードの数でラベルを注文したいと思う...
解決
2.1
match (n)
unwind labels(n) as l
with l,count(*) as cnt
where cnt > 2
return l
. 他のヒント
あなたがNeo4jバージョン2.0でこれをしている場合は、この文字列クエリで欲しいものを達成できます。
Start n=node(*)
match (n)-->() with n,count(*) as rel_cnt where rel_cnt >= 2 return n;
.
このクエリはグラフ全体を横断するように注意してください、それはおそらくそれを特定のラベルに制限することをお勧めします。歓声。
更新
私は1つ以上の関係を持つノードとして質問を読みました、私の悪い。このクエリは、opが尋ねたのをしません。
所属していません StackOverflow