1
我試圖通過org.neo4j.rest.graphdb進行neo4j REST批處理工作,但我不知道該如何工作。我做的事:通過REST的Neo4j批處理請求
final RestAPIFacade rest = new RestAPIFacade("http://localhost:7474/db/data");
BatchTransaction tx = BatchTransaction.begin(rest);
BatchRestAPI newrest = new BatchRestAPI("http://localhost:7474/db/data",rest);
try {
for (int i = 0; i < 1000; i++) {
newrest.createNode(null);
}
tx.success();
} finally {
tx.finish();
}
我明白,我可以寫我自己的休息請求,構造函數,但它不是合適的解決方案我需要什麼。也許有人曾與這個圖書館合作,並且知道正確的方法。問題是數據庫沒有任何更改,並且沒有出現錯誤。
更新:如果我用一個平常RestAPIFacade交易,並設置
System.setProperty( 「org.neo4j.rest.batch_transaction」, 「真」);
我得到過早的EOF錯誤。
Caused by: java.io.IOException: Premature EOF
at sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:565)
at sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:609)
at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:696)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
所以,一個交易似乎被限制在一定的尺寸(近700個空節點)。那麼,有沒有辦法增加事務大小,或者我應該將數據部分劃分爲許多事務(因此性能顯然會受到影響)?
謝謝!
我想這個交易,但沒有改變...'System.setProperty(「組織.neo4j.rest.batch_transaction「,」true「); \t \t GraphDatabaseService graphDb =新RestGraphDatabase( \t \t \t \t 「HTTP://本地主機:7474 /分貝/數據」); \t \t RestAPI rest =((RestGraphDatabase)graphDb).getRestAPI(); \t \t Transaction tx = graphDb.beginTx(); \t \t嘗試{ \t \t \t對(INT I = 0; I <1000;我++){ \t \t \t \t rest.createNode(空); \t \t \t} \t \t}最後{ \t \t \t tx.success(); \t \t}' – Natal