我最近开始使用Neo4j并且正在努力了解事情是如何运作的.我正在尝试在我的脚本中创建的节点之间创建关系.我发现的cypher查询看起来应该可以工作,但我不知道如何获取id来替换#s
START a= node(#), b= node(#)
CREATE UNIQUE a-[r:POSTED]->b
RETURN r
Run Code Online (Sandbox Code Playgroud)
如果要使用普通密码,文档中有很多用法示例.
创建节点时,您可以返回它们(或者只返回它们的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接口.