特定の関係を除く、接続されているすべてのノードを取得する方法

ダニエル

接続されているすべてのノードを取得するためのパフォーマンスの高い方法を探しています。しかし、ひねりがあります。特定の関係タイプを介して接続されているノードとその結果の子を除外したいと思います。

添付の図は私の場合を示しています。

ノードのクラスターが2つ以上あります。クエリ内のIDに応じて、単一のクラスターのすべてのノードを取得したいと思います。(異なるクラスターからの)他のすべてのノードおよび「LINK ...」関係を介して接続されたノードは含まれません。

接続されているすべてのノードを次の方法で取得する方法を知っています。

MATCH (n:MyNode {id : 123})-[*]-(connectedNodes) RETURN connectedNodes

WHEREを使用したフィルタリングは、グラフ全体をフェッチするため、悪い考えのように聞こえます。APOCの手順の中に、そのような方法で何かを行うことができる何かがあるのでしょうか。すでにあなたの助けをどうもありがとう。

編集1:ソファコメントで与えられた最初の提案を試しましたが、実行時間は十分ではありませんでした。結局、リレーションシップとノードタイプを制限しようと思います。また、再帰関数を使用してPython内でカスタム実装を試しました。まだ確定していません。

編集2:@InverseFalconの提案がうまくいったのは魅力が好きだった。最初に、考慮されない1回の使用可能なすべての関係タイプをフィルタリングapoc.path.subgraphNodesしてから、それぞれの開始ノードと有効な関係タイプを使用して手順を適用します。ありがとうございました。ここに画像の説明を入力してください

InverseFalcon

Tezraの回答にはいくつかの良い点があり、DISTINCTconnectedNodesを返したいと思うでしょう。そうしないと重複が発生しますが、高度に接続されたグラフでは、Cypherが関心を持っているため、ノードの数によっては時間がかかる(またはハングする)場合があります。一致する可能性のあるすべてのパス。これはすぐに制御不能になる可能性があります。

APOCの場合、このケースを処理できますが、Tezraが述べたように、関係をブラックリストに登録する方法はありません。また、それがあったとしても、関係タイプの部分的な名前に基づいてブラックリストに登録する方法はありません。

使用する必要があるアプローチは、最初にすべての関係タイプを取得してから、で始まるものをすべて削除しLINK、残りの関係のリストを|分離された文字列に結合することです。次に、それを関係フィルターに渡すことができます。

CALL db.relationshipTypes() YIELD relationshipType
WHERE NOT relationshipType STARTS WITH 'LINK'
WITH collect(relationshipType) as relTypes
WITH apoc.text.join(relTypes, '|') as relTypesString
MATCH (n:MyNode {id : 123})
CALL apoc.path.subgraphNodes(n, {relationshipFilter:relTypesString}) YIELD node
RETURN node as connectedNode

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

関係のある特定のノードに接続されているすべてのノードを取得します

分類Dev

neo4jの特定のトップノードに接続されているすべてのノードと関係を検索する方法

分類Dev

特定の関係Gremlinを持つすべての間接的に接続されたノードを見つける

分類Dev

ノードとすべての関係、およびNeo4jでそれに接続されているノードを削除する方法

分類Dev

neo4jで接続されているすべてのノードを取得する方法

分類Dev

gremlinは、特定のノードに直接または間接的に接続されているすべてのノードを取得します

分類Dev

Neo4j:特定のノードに接続されているノードと関係をリーフノードまで削除します

分類Dev

リンクを介して接続されているすべてのノードを取得します

分類Dev

Neo4j で特定のノードに接続されていないノードを取得する

分類Dev

netlogo:ノードNへのリンクで接続されているノードを取得する方法

分類Dev

Laravelの雄弁な関係を使用してNULLを除くすべてのレコードを取得する

分類Dev

特定のエッジに接続されているすべてのノードを削除するにはどうすればよいですか?

分類Dev

グラフ内の接続されているすべてのノードをカウントする

分類Dev

グラフ内の接続されているすべてのノードをカウントする

分類Dev

接続されている可能性のあるすべてのノードを列挙します

分類Dev

値のリストに接続されているすべてのノードのNeo4jサイファー、関係パラメーターの合計を取得

分類Dev

x に接続されていないノードを取得する方法

分類Dev

リストに含まれている関係からすべてのノードを取得します

分類Dev

Pythonを使用してネットワークグラフから特定のノードを指定して、接続されているすべてのノードのリストを返す再帰関数

分類Dev

関係にあるすべてのノードを取得し、関係にないすべてのノードを取得します

分類Dev

接続されているすべてのネットワークのBSSIDを取得する方法は?

分類Dev

Neo4j Cypherクエリ:ノードに接続されている、他に3つ以上の関係があるすべてのノードを検索する

分類Dev

nに接続されているすべてのノードを検索します

分類Dev

TreeViewで表示されているすべてのノードを取得する

分類Dev

サイファーでノードのすべての関係を取得する

分類Dev

Java ConnectorJarを使用してneo4jですべてのノードの関係を取得する方法

分類Dev

Laravelで指定されたフィールドを「除く」すべてのセッションを取得する方法

分類Dev

特定の関係を除くすべての関係に従う

分類Dev

特定のノードに関連しているが別のノードには関連していないすべてのノードを取得する

Related 関連記事

  1. 1

    関係のある特定のノードに接続されているすべてのノードを取得します

  2. 2

    neo4jの特定のトップノードに接続されているすべてのノードと関係を検索する方法

  3. 3

    特定の関係Gremlinを持つすべての間接的に接続されたノードを見つける

  4. 4

    ノードとすべての関係、およびNeo4jでそれに接続されているノードを削除する方法

  5. 5

    neo4jで接続されているすべてのノードを取得する方法

  6. 6

    gremlinは、特定のノードに直接または間接的に接続されているすべてのノードを取得します

  7. 7

    Neo4j:特定のノードに接続されているノードと関係をリーフノードまで削除します

  8. 8

    リンクを介して接続されているすべてのノードを取得します

  9. 9

    Neo4j で特定のノードに接続されていないノードを取得する

  10. 10

    netlogo:ノードNへのリンクで接続されているノードを取得する方法

  11. 11

    Laravelの雄弁な関係を使用してNULLを除くすべてのレコードを取得する

  12. 12

    特定のエッジに接続されているすべてのノードを削除するにはどうすればよいですか?

  13. 13

    グラフ内の接続されているすべてのノードをカウントする

  14. 14

    グラフ内の接続されているすべてのノードをカウントする

  15. 15

    接続されている可能性のあるすべてのノードを列挙します

  16. 16

    値のリストに接続されているすべてのノードのNeo4jサイファー、関係パラメーターの合計を取得

  17. 17

    x に接続されていないノードを取得する方法

  18. 18

    リストに含まれている関係からすべてのノードを取得します

  19. 19

    Pythonを使用してネットワークグラフから特定のノードを指定して、接続されているすべてのノードのリストを返す再帰関数

  20. 20

    関係にあるすべてのノードを取得し、関係にないすべてのノードを取得します

  21. 21

    接続されているすべてのネットワークのBSSIDを取得する方法は?

  22. 22

    Neo4j Cypherクエリ:ノードに接続されている、他に3つ以上の関係があるすべてのノードを検索する

  23. 23

    nに接続されているすべてのノードを検索します

  24. 24

    TreeViewで表示されているすべてのノードを取得する

  25. 25

    サイファーでノードのすべての関係を取得する

  26. 26

    Java ConnectorJarを使用してneo4jですべてのノードの関係を取得する方法

  27. 27

    Laravelで指定されたフィールドを「除く」すべてのセッションを取得する方法

  28. 28

    特定の関係を除くすべての関係に従う

  29. 29

    特定のノードに関連しているが別のノードには関連していないすべてのノードを取得する

ホットタグ

アーカイブ