2
Neo4j的REST接口返回的響應非常冗長 - 它們不僅返回請求的每個節點中的數據,而且還返回請求的每個節點的完全可發現性。如果我只是想要一些節點數據,結果大約比我實際需要的大20倍,並且遇到了內存不足異常等問題。Neo4j - 減少在REST響應中返回的字段的數量
例如,對於一個節點的請求可能返回以下:
{
"labels" : "http://giuncwy02:7475/db/data/node/67/labels",
"outgoing_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/out",
"data" : {
"id" : "908754897618956",
"currentStatus" : "Active",
},
"traverse" : "http://giuncwy02:7475/db/data/node/67/traverse/{returnType}",
"all_typed_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/all/{-list|&|types}",
"self" : "http://giuncwy02:7475/db/data/node/67",
"property" : "http://giuncwy02:7475/db/data/node/67/properties/{key}",
"outgoing_typed_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/out/{-list|&|types}",
"properties" : "http://giuncwy02:7475/db/data/node/67/properties",
"incoming_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/in",
"extensions" : { },
"create_relationship" : "http://giuncwy02:7475/db/data/node/67/relationships",
"paged_traverse" : "http://giuncwy02:7475/db/data/node/67/paged/traverse/{returnType}{?pageSize,leaseTime}",
"all_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/all",
"incoming_typed_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/in/{-list|&|types}",
"metadata" : {
"id" : 67,
"labels" : [ "Substation" ]
}
}
有沒有減少在響應中返回的信息量的方法嗎?我真正想爲每個節點是這樣的:
{
"id" : "908754897618956",
"currentStatus" : "Active",
}
甚至:
[ "908754897618956", "Active" ]
是可實現的?當我請求數十萬個節點時,它會產生很大的差異。
其餘格式絕對過於冗長。在將來的版本中,對http tx端點使用的協議有一些計劃的修改。 您可能需要考慮將resultDataContent更改爲「圖形」或「行」,以減少冗長的響應。 http://neo4j.com/docs/stable/rest-api-transactional.html#rest-api-return-results-in-graph-format –
謝謝Christophe,有沒有使用事務API的相應選項?現在我正在打擊'/ db/data/label/MyLabel/nodes'。 –
不是我所知道的。順便說一句,我認爲這些終端越來越少用於tx api的青睞。 –