如何减少neo4j查询中的数据量?

时间:2013-02-06 01:03:12

标签: api rest neo4j

通过Neo4j请求数据时,例如

curl -i -XPOST -d'{ "query" : "start n=node(*) return n" }' 
  -H "accept:application/json;stream=true" 
  -H content-type:application/json 
  http://localhost:7474/db/data/cypher
据我所知,我得到了这样的答复:

{
  "columns" : [ "n" ],
  "data" : [ [ {
    "outgoing_relationships" : "http://localhost:7474/db/data/node/0/relationships/out",
    "data" : {
    },
    "traverse" : "http://localhost:7474/db/data/node/0/traverse/{returnType}",
    "all_typed_relationships" : "http://localhost:7474/db/data/node/0/relationships/all/{-list|&|types}",
    "property" : "http://localhost:7474/db/data/node/0/properties/{key}",
    "self" : "http://localhost:7474/db/data/node/0",
    "properties" : "http://localhost:7474/db/data/node/0/properties",
    "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/0/relationships/out/{-list|&|types}",
    "incoming_relationships" : "http://localhost:7474/db/data/node/0/relationships/in",
    "extensions" : {
    },
    "create_relationship" : "http://localhost:7474/db/data/node/0/relationships",
    "paged_traverse" : "http://localhost:7474/db/data/node/0/paged/traverse/{returnType}{?pageSize,leaseTime}",
    "all_relationships" : "http://localhost:7474/db/data/node/0/relationships/all",
    "incoming_typed_relationships" : "http://localhost:7474/db/data/node/0/relationships/in/{-list|&|types}"
  } ], [ {
    "outgoing_relationships" : "http://localhost:7474/db/data/node/1/relationships/out",
    "data" : {
      "glyph" : "一",
      "~isa" : "glyph"
    },
    "traverse" : "http://localhost:7474/db/data/node/1/traverse/{returnType}",
    "all_typed_relationships" : "http://localhost:7474/db/data/node/1/relationships/all/{-list|&|types}",
    "property" : "http://localhost:7474/db/data/node/1/properties/{key}",
    "self" : "http://localhost:7474/db/data/node/1",
    "properties" : "http://localhost:7474/db/data/node/1/properties",
    "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/1/relationships/out/{-list|&|types}",
    "incoming_relationships" : "http://localhost:7474/db/data/node/1/relationships/in",
    "extensions" : {
    },
    "create_relationship" : "http://localhost:7474/db/data/node/1/relationships",
    "paged_traverse" : "http://localhost:7474/db/data/node/1/paged/traverse/{returnType}{?pageSize,leaseTime}",
    "all_relationships" : "http://localhost:7474/db/data/node/1/relationships/all",
    "incoming_typed_relationships" : "http://localhost:7474/db/data/node/1/relationships/in/{-list|&|types}"
  } ], [ {
    "outgoing_relationships" : "http://localhost:7474/db/data/node/2/relationships/out",
    "data" : {
      "~isa" : "LPG",
      "LPG" : "1"
    },
    "traverse" : "http://localhost:7474/db/data/node/2/traverse/{returnType}",
    "all_typed_relationships" : "http://localhost:7474/db/data/node/2/relationships/all/{-list|&|types}",
    "property" : "http://localhost:7474/db/data/node/2/properties/{key}",
    "self" : "http://localhost:7474/db/data/node/2",
    "properties" : "http://localhost:7474/db/data/node/2/properties",
    "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/2/relationships/out/{-list|&|types}",
    "incoming_relationships" : "http://localhost:7474/db/data/node/2/relationships/in",
    "extensions" : {
    },
    "create_relationship" : "http://localhost:7474/db/data/node/2/relationships",
    "paged_traverse" : "http://localhost:7474/db/data/node/2/paged/traverse/{returnType}{?pageSize,leaseTime}",
    "all_relationships" : "http://localhost:7474/db/data/node/2/relationships/all",
    "incoming_typed_relationships" : "http://localhost:7474/db/data/node/2/relationships/in/{-list|&|types}"
  } ], [ {

依此类推。每个节点提供的URL肯定是有意义的,但它们也占据了传输数据的主要部分。在查询之后,它们也是高度冗余的,而不是我的。有没有办法放弃所有traverseall_typed_relationshipspropertyselfpropertiesoutgoing_typed_relationshipsincoming_relationshipsextensionscreate_relationshippaged_traverseall_relationshipsincoming_typed_relationships 爵士乐?

1 个答案:

答案 0 :(得分:2)

唯一的方法是在return语句中指定要返回的属性。像:

return id(n), n.glyph;