Neo4j:在cypher查询中获取索引属性“name”作为返回值

时间:2013-05-12 16:36:15

标签: neo4j cypher py2neo

您好我是neo4j和cypher的新手。我已经构建了我的数据库,以便您可以从图表中创建多个深度。在我的示例中,图是树,根节点是索引,第4级节点是索引。我使用py2neo开发图表,并按照以下方法使用get_or_create_indexed_node方法:py2neo documentation

patient_node = graph_db.get_or_create_indexed_node('patients', 'name',
patients[patient_id])

但是当我运行我的密码查询以便我登陆索引节点时,我只能获得id。例如,当我这样做时:

start n=node:rootnode(name='root'), p=node:patients('name:*')
match n-[:chrm]-()-[:pos]-()-[:patient]-p-[:variant]->vars 
where (has(vars.mutations))  return p.name"

我收到错误说: 该物业名称'节点[84361]

上不存在

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您没有提到要向get_or_create_indexed_node返回的节点添加任何属性。函数是get_or_create_indexed_node(index, key, value, properties=None),因此您提供的值只是索引名称,键和值。

您需要创建如下节点:

node = graph_db.get_or_create_indexed_node('patients', 
                                           'name', patients[patient_id], 
                                           patient_properties)