有没有办法在neo4j中获得更简洁的rest api响应, 也许只有节点数据?在每次请求中发送所有额外数据似乎有点浪费带宽。
为什么所有元数据都包含在响应中?例如,基础api url在整个过程中重复,一旦你 拥有节点ID,可以可靠地预测所有属性的URL 喜欢自我,财产,人际关系等...他们似乎不是非常不稳定的网址。
{
"extensions" : {
},
"paged_traverse" : "http://localhost:7474/db/data/node/183/paged/traverse/{returnType}{?pageSize,leaseTime}",
"outgoing_relationships" : "http://localhost:7474/db/data/node/183/relationships/out",
"traverse" : "http://localhost:7474/db/data/node/183/traverse/{returnType}",
"all_typed_relationships" : "http://localhost:7474/db/data/node/183/relationships/all/{-list|&|types}",
"all_relationships" : "http://localhost:7474/db/data/node/183/relationships/all",
"property" : "http://localhost:7474/db/data/node/183/properties/{key}",
"self" : "http://localhost:7474/db/data/node/183",
"outgoing_typed_relationships" : "http://localhost:7474/db/data/node/183/relationships/out/{-list|&|types}",
"properties" : "http://localhost:7474/db/data/node/183/properties",
"incoming_relationships" : "http://localhost:7474/db/data/node/183/relationships/in",
"incoming_typed_relationships" : "http://localhost:7474/db/data/node/183/relationships/in/{-list|&|types}",
"create_relationship" : "http://localhost:7474/db/data/node/183/relationships",
"data" : {
}
}
答案 0 :(得分:4)
发送的信息是HTTP API中内置的REST发现机制的一部分。改变这种情况会导致许多现有的客户端软件被破坏,因为这些值被用来替代“有教育的猜测”。
现有服务器无法不生成此数据,但如果它只是您所追求的节点属性,http://localhost:7474/db/data/node/183/properties
URI将只为您提供这一组简单的键值对
URI确实看起来不是特别不稳定。但是,如果这些URI在未来的服务器版本中发生变化,那么遵守发现机制的客户端软件将受到保护,不会受到这种变化的影响。
答案 1 :(得分:3)
您可以随时编写自己的server plugin,以您想要的格式提供数据。
答案 2 :(得分:3)
如果你使用Cypher,你可以通过返回不是完整的节点/ rels来减少冗长的数量,但是你需要这些数值,请参阅http://docs.neo4j.org/chunked/snapshot/rest-api-cypher.html
答案 3 :(得分:0)
当我寻找同样的事情时,我遇到了这个未解决的问题,所以我知道我可以通过插入我的解决方案解决这个问题来帮助某人。 Trying to interpret the Node-Neo4j API