使用Python在Neo4j中获取节点ID

dro*_*ode 4 neo4j cypher

我最近开始使用Neo4j并且正在努力了解事情是如何运作的.我正在尝试在我的脚本中创建的节点之间创建关系.我发现的cypher查询看起来应该可以工作,但我不知道如何获取id来替换#s

START a= node(#), b= node(#)
CREATE UNIQUE a-[r:POSTED]->b
RETURN r
Run Code Online (Sandbox Code Playgroud)

Tho*_*nzl 5

如果要使用普通密码,文档中有很多用法示例.

创建节点时,您可以返回它们(或者只返回它们的ID id(a)),如下所示:

CREATE (a {name:'john doe'}) RETURN a
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以保持id以添加关系.

如果要在以后附加关系,则不应使用节点的内部标识从外部系统引用它们.例如,如果删除并创建节点,则可以重复使用它们.

您可以通过扫描全部搜索节点并使用WHERE或向数据库添加索引进行过滤,例如,如果在名称上添加auto_index:

START n = node:node_auto_index(name='john doe') 
Run Code Online (Sandbox Code Playgroud)

并从那里继续.Neo4j 2.0将透明地支持索引查找,以便MATCH和WHERE应该同样有效.

如果您正在使用python,您还可以查看py2neo,它在使用cypher和REST接口与服务器通信时为您提供更多pythonic接口.