プロジェクトの1つにneo4jを使用していますが、プロパティが1つしかないノードがありname、IDを使用してそのノードを取得したいのですが、すでにIDがありますが、このコードを使用すると
MATCH (s:SKILLS{ID:65110}) return s
それは何も返しません、ここに私のノードがあります

クエリが間違っている場合は、番号を使用してクエリを実行するにはどうすればよいですか
プロジェクトの1つにneo4jを使用していますが、プロパティが1つしかないノードがありname、IDを使用してそのノードを取得したいのですが、すでにIDがありますが、このコードを使用すると
MATCH (s:SKILLS{ID:65110}) return s
それは何も返しません、ここに私のノードがあります

クエリが間違っている場合は、番号を使用してクエリを実行するにはどうすればよいですか
回答:
MATCH (s)
WHERE ID(s) = 65110
RETURN s
このID関数は、ノードまたは関係のIDを取得します。これは、呼び出された、idまたはID作成したプロパティとは異なります。
CONSTRAINTエンティティを追跡するための独自の一意のIDプロパティ(理想的にはを使用)を作成します
警告:次の答えは正しくありません!STARTは、レガシーインデックスにアクセスする場合にのみ使用する必要があります。Cypher2.2以降では無効になっています。
Neo4jは、の使用を推奨し
WHERE ID(n) =、さらに1回のルックアップのみが必要であると述べています(一致するIDを見つけるためにすべてのノードをスキャンするわけではありません)誰かが同じ過ちを犯さないように、この答えを維持します。
あなたはできる使いWHERE ID(s) = 65110ますが、これは、データベース内のすべてのノードのIDをチェックします。
これを行うためのより効率的な方法があります:
START s=NODE(517) MATCH(s) RETURN s
Result Detailsコンソールでこれらの例を見てください:console.neo4j.org/r/dbz1we(AllNodesScanを実行)およびconsole.neo4j.org/r/9076wd(NodeByIdを実行)
+NodeByIdSeek1つのノードにのみアクセスする必要がありますが、何らかの理由で+AllNodesScan。を実行しています。