Neo4j rest apiを使用して、より多くのノードとリレーションシップを持つグラフ構造を作成しています。私は、以下のCypherクエリフォーマットを使用して、ノードのバッチとそれらの関係を1回のポストリクエストで送信しました。Neo4j rest API経由で送信されたデータが保持されない
UNWIND [[0,1], [0,6309]] AS pair
MATCH (n {name: pair[0]}), (m {name: pair[1]})
CREATE (n)-[:X]->(m)
1GBサイズのファイルからデータを読み取り、データをneo4jに一括してアップロードしています。送信したすべてのリクエストに対してレスポンスコード200が返されますが、{$NEO4J_HOME}/data/databases/graph.db
のサイズを確認すると244Kサイズしか表示されません。また、graph.db内のdu -hc *store.db*
コマンドは、nodestore.db、relationshipstore.db、およびpropertystore.dbのサイズがすべて0であることを示しました。なぜrest API経由でアップロードされたデータはグラフDBのファイルに書き込まれませんか?どんな助けも高く評価されます。 du -hc *store.db*
0 neostore.nodestore.db
4.0K neostore.nodestore.db.id
8.0K neostore.nodestore.db.labels
4.0K neostore.nodestore.db.labels.id
0 neostore.propertystore.db
8.0K neostore.propertystore.db.arrays
4.0K neostore.propertystore.db.arrays.id
4.0K neostore.propertystore.db.id
8.0K neostore.propertystore.db.index
4.0K neostore.propertystore.db.index.id
8.0K neostore.propertystore.db.index.keys
4.0K neostore.propertystore.db.index.keys.id
0 neostore.relationshipstore.db
から
出力このジャージクライアントを使用して、残りのAPIをのNeo4jに送られ、完全な要求です。
Client client = Client.create();
client.addFilter(new HTTPBasicAuthFilter(user, password));
WebResource cypherResource = client.resource("http://localhost:7474/db/data/cypher");
ClientResponse cypherResponse = cypherResource.accept(MediaType.APPLICATION_JSON)
.type(MediaType.APPLICATION_JSON_TYPE).entity(query).post(ClientResponse.class);
エンティティとして設定されたサンプルクエリ:
{"query":"UNWIND [[0,1], [0,6309]] AS pair
MATCH (n {name: pair[0]}), (m {name: pair[1]}) CREATE (n)-[:X]->(m)"}
Neo4jに送信された完全なクエリ(メソッド、パス、ヘッダー、本文)を表示します。取引を決して決してしていないかもしれませんか? –
私はNeo4jに送る完全な質問で質問を更新しました。ご協力いただきありがとうございます。 – sathya