web-dev-qa-db-ja.com

暗号化されたノードのすべての関係を取得します

ノードのすべての着信および発信の関係を見つけたいです。他の質問で提案されたいくつかのクエリを試しましたが、あまり運がありませんでした。これらは私が試した2つです

MATCH (a:User {username: "user6"})-[r*]-(b)
RETURN a, r, b

ノードは500個しかなく、永久に実行されます。私は1時間後にあきらめました。

私はこれを試しました

MATCH (c:User {username : 'user6'})-[r:*0..1]-(d)
WITH c, collect(r) as rs
RETURN c, rs

しかし、私はこのエラーを受け取ります

WARNING: Invalid input '*': expected whitespace or a rel type name (line 1, column 35 (offset: 34))
"MATCH (c {username : 'user6'})-[r:*0..1]-(d)"

ノードのすべての関係を取得する正しい方法は何ですか?

バージョン3.0.3を使用しています

18
jas

単一ノードのすべての関係を取得する最も簡単な方法は次のとおりです。

MATCH (:User {username: 'user6'})-[r]-()
RETURN r
28
Ant P

上記のソリューションでは、3.1のグラフ表現が返されなくなりました。代わりに以下のソリューションが動作するはずです

MATCH (a:User {username: 'user6'})-[r]-(b)
RETURN r, a, b

これは another SO question で回答されました

18
jas
MATCH (n1:Node1)-[:HAS_RELATIONSHIP]-(OtherNodes)
RETURN n1, OtherNodes

これにより、Node1と他のノードとの関係が取得されます

enter image description here

5
Obiii

これらの答えのほとんどは問題なく動作しますが、私のように、リレーションシップ自体の名前も必要な場合は、rtype()でラップする必要があります。

MATCH (a:User {username: 'user6'})-[r]-(b)
RETURN type(r), a, b
5
Geoherna

:すべてのノードを取得します。-START n = node()RETURN n;またはmatch(n)return n 2:ノードと関係を表示します。-MATCH(n)MATCH(n)-[r]-()RETURN n、rまたはSTART n = node()MATCH(n)-[r ]->(m)RETURN n、r、m 3:ノードと関係の一致:-MATCH(a:Policy)-[:APPLIES_TO]-(Cluster)WHERE a.name = "pol-1nils" RETURN a、Cluster 4 :特定のノードのすべてのオブジェクトを取得します。-MATCH(list:Policy)リスト5を返します。2つのノード間のエンティティにバインドされています。-match(a:WorkLoad)-[b:APPLIES_TO]->(c:Policy)c。 name = "shamshad"はa、b、cを返します。

0
MD SHAMSHAD