web-dev-qa-db-ja.com

サイファーリクエストでノードのIDを取得するにはどうすればよいですか?

私はneo4jを使用してこのクエリを実行しています:

MATCH (n:Person) RETURN n.name LIMIT 5

名前を取得していますが、IDも必要です。助けてください!

21
Aleksandrenko

IDはプロパティではないため、ID関数を使用して返されます。

MATCH (n:Person) RETURN ID(n) LIMIT 5
44
subvertallchris

これがどれほど役立つか関連があるかはわかりませんが、NodeJS APIを使用している場合、Cypherクエリから返されるレコードオブジェクトには、プロパティオブジェクトと同じレベルのIDフィールドがあります(たとえば、record.get(0).properties、record)。 get(0).identity)。単純なCypherクエリを実行しているのではなく、実際にドライバーを使用してクエリを送信しているのではないので、別のMATCHステートメントを実行する必要がない場合もあります。

OPがCypherについて具体的に尋ねていることは承知していますが、この質問に出くわした他のユーザーにとっては役立つかもしれません。

0
e.upton

または、 Neo4j Cypher Refcard を確認することもできます。

作成できる多くの関数とパターンを簡単に見ることができます。

そして、関数の詳細 Neo4j開発者マニュアル-第3章サイファー-3.4。関数

0
Marcus.D