私のプロジェクトの1つにneo4jを使用しています。name
として単一のプロパティのみを持つノードがあります。IDを使用してそのノードを取得したいのですが、このコードを使用するとすでにIDがあります
MATCH (s:SKILLS{ID:65110}) return s
それは何も返しません、ここに私のノードがあります
クエリが間違っている場合は、番号を使用してどのようにクエリしますか
MATCH (s)
WHERE ID(s) = 65110
RETURN s
ID
function は、ノードまたは関係のIDを取得します。これは、作成するid
またはID
と呼ばれるプロパティとは異なります。
警告:次の答えは間違っています! STARTはレガシーインデックスにアクセスする場合にのみ使用する必要があります 。 Cypher 2.2以降では無効 です。
Neo4j
WHERE ID(n) =
を使用することをお勧めします 、さらに、それは 単一のルックアップのみを必要とします(一致するIDを見つけるためにすべてのノードをスキャンしない)誰も同じ間違いをしないように、この答えを保持します。
あなたcanはWHERE ID(s) = 65110
を使用できますが、これはあなたのすべてのノードのIDをチェックしますデータベース。
これを行うには、より効率的な方法があります。
START s=NODE(517) MATCH(s) RETURN s
あなたは言うことができます:
(n:User) where id(n) >=20 RETURN n
これは、ノード参照IDが20を超えるユーザータイプのすべてのノードを返します