4

私は最近 Neo4j を使い始めましたが、仕組みを理解するのに苦労しています。以前にスクリプトで作成したノード間の関係を作成しようとしています。私が見つけたサイファー クエリは動作するように見えますが、ID を取得して # を置き換える方法がわかりません

START a= node(#), b= node(#)
CREATE UNIQUE a-[r:POSTED]->b
RETURN r
4

5 に答える 5

5

プレーンサイファーを使用したい場合は、ドキュメントに多くの使用例があります。

ノードを作成すると、次のようにノードを返すことができます (または return でID のみid(a))。

CREATE (a {name:'john doe'}) RETURN a

このようにして、関係を追加するために ID を保持できます。

後でリレーションシップをアタッチする場合は、ノードの内部 ID を使用して外部システムからノー​​ドを参照しないでください。たとえば、ノードを削除して作成すると再利用できます。

すべてをスキャンしてフィルタリングすることでノードを検索するか、データベースにインデックスWHEREを追加することができます。

START n = node:node_auto_index(name='john doe') 

そこから続けます。Neo4j 2.0 はインデックス ルックアップを透過的にサポートするため、MATCH と WHERE が効率的になるはずです。

Python を使用している場合は、 cypherと REST インターフェイスを使用してサーバーと通信しながら、より Pythonic なインターフェイスを提供するpy2neoを参照することもできます。

于 2013-06-18T19:35:06.230 に答える
0

これを理解しようと何時間も試みた後、私はついに探していたものを見つけました。ノードが返される方法に苦労していたところ、

userId=person[0][0][0].id

私が欲しかったものを返すでしょう。でも、助けてくれてありがとう!

于 2013-06-19T13:28:08.737 に答える
0

クライアント側で Javascript を使用して、暗号クエリを投稿します。

start n = node(*) WHERE n.name = '" + a.name + "' return n

次に、応答 "self" からの ID 番号を次の形式で解析します。

server_url:7474/db/data/node/node_id

于 2013-06-18T18:43:03.293 に答える