neo4jrestclient - 查询获取id

时间:2014-09-29 11:48:58

标签: neo4j neo4jrestclient

我正在使用neo4jrestclient库。

from neo4jrestclient.client import GraphDatabase
from neo4jrestclient import client
from neo4jrestclient import query
gdb = GraphDatabase("http://localhost:7474/db/data/")
q = """MATCH n RETURN n;"""
result = gdb.query(q=q)
print(result[0])

当我执行查询“MATCH n RETURN n时,输出为:

[{
'all_relationships': 'http://localhost:7474/db/data/node/1131/relationships/all', 
'all_typed_relationships': 'http://localhost:7474/db/data/node/1131/relationships/all/{-list|&|types}', 
'self': 'http://localhost:7474/db/data/node/1131', 
'labels': 'http://localhost:7474/db/data/node/1131/labels', 
'properties': 'http://localhost:7474/db/data/node/1131/properties', 
'create_relationship': 'http://localhost:7474/db/data/node/1131/relationships',
'outgoing_relationships': 'http://localhost:7474/db/data/node/1131/relationships/out', 
'data': {
  'title': 'title', 
  'name': 'Poludnie'
}, 
'incoming_typed_relationships': 'http://localhost:7474/db/data/node/1131/relationships/in/{-list|&|types}', 
'property': 'http://localhost:7474/db/data/node/1131/properties/{key}', 
'paged_traverse': 'http://localhost:7474/db/data/node/1131/paged/traverse/{returnType}{?pageSize,leaseTime}', 
'incoming_relationships': 'http://localhost:7474/db/data/node/1131/relationships/in', 
'outgoing_typed_relationships': 'http://localhost:7474/db/data/node/1131/relationships/out/{-list|&|types}', 
'traverse': 'http://localhost:7474/db/data/node/1131/traverse/{returnType}'}]

我看到节点的id = 1131.问题是:我可以在没有这些链接的原始表单中获取此ID吗?我想只将id与'data'字段的值一起使用。

2 个答案:

答案 0 :(得分:1)

要获取ID和数据,请将查询更改为:

MATCH (n) RETURN id(n), n.data

看看是否令人满意。

答案 1 :(得分:1)

在Cypher中,可以这样表达:

MATCH (n) RETURN {id: ID(n), name: n.name, title: n.title} as city

在响应中,data哈希将包含一个数组,每个元素的row键将包含可使用给定键访问的数据。