在neo4j中,我可以获得更简洁的REST api响应

时间:2012-12-30 16:59:21

标签: neo4j

  1. 有没有办法在neo4j中获得更简洁的rest api响应, 也许只有节点数据?在每次请求中发送所有额外数据似乎有点浪费带宽。

  2. 为什么所有元数据都包含在响应中?例如,基础api url在整个过程中重复,一旦你 拥有节点ID,可以可靠地预测所有属性的URL 喜欢自我,财产,人际关系等...他们似乎不是非常不稳定的网址。


  3. {
          "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" : {
          }
        }
    

4 个答案:

答案 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