Neo4j 的 REST 接口返回的响应非常冗长——它们不仅返回请求的每个节点中的数据,还返回请求的每个节点的完整可发现性。如果我只想要一些节点数据,结果大约是我实际需要的 20 倍,并且我遇到了内存不足异常等问题。
例如,对节点的请求可能会返回以下内容:
{
"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" ]
这是可以实现的吗?当我请求数十万个节点时,它会产生很大的不同。