Python Neo4j-密码读写返回查询

Python Neo4j-密码读写返回查询,python,node.js,neo4j,read-write,cypher,Python,Node.js,Neo4j,Read Write,Cypher,我对neo4j相当陌生。我已经玩了一点cypher和restapi。我希望能够沿着某个路径创建一个叶子节点,考虑这些节点是一些类型的事件。我不知道在运行时此事件将附加到的节点的id。我需要进行查找,然后获取节点的id,然后创建新节点 因此,在运行时,我希望可以使用cypher进行匹配,以获取可以附加事件的节点,并创建新节点以及与MATCH返回的现有节点的关系。因此,我偶然发现了cypher备忘单,其中有一个读写返回查询,我认为这非常合适。但在文档中并没有太多关于它的提及,或者我不是一个超级谷歌人

我对neo4j相当陌生。我已经玩了一点cypher和restapi。我希望能够沿着某个路径创建一个叶子节点,考虑这些节点是一些类型的事件。我不知道在运行时此事件将附加到的节点的id。我需要进行查找,然后获取节点的id,然后创建新节点

因此,在运行时,我希望可以使用cypher进行匹配,以获取可以附加事件的节点,并创建新节点以及与MATCH返回的现有节点的关系。因此,我偶然发现了cypher备忘单,其中有一个读写返回查询,我认为这非常合适。但在文档中并没有太多关于它的提及,或者我不是一个超级谷歌人

有人能告诉我这(读写返回)是否是正确/有效的方法吗


非常感谢

是的。这是个好办法。这是关于
CREATE
如何在Cypher中工作的一件好事。您还可以选择使用
create unique
,同时创建rel/节点。比如:

start n=node(1)
create unique n-[:event]->(event {prop:"val"})
return n, event;
或不使用
创建唯一的

start n=node(1)
create (event {prop:"val"}), n-[:event]->event
return n, event;

谢谢-也许我应该更清楚地回答这个问题。在上面的两个示例中,您都从节点id 1开始,然后创建一个节点,其关系为:event“to node(1),我希望类似于,
START client=node:node\u auto\u index(client\u name=“Client1”)MATCH client-[:OWNS]>(device1)create(event{time:“1234567890”})、device1-[:FAILURE\u event]>事件返回设备,事件
这可能吗?我自己还没有尝试过上述问题。干杯,它会工作的,但是device1会匹配client:拥有的所有设备,这可能不是你想要的?很好,不,我想得到一个可能已经创建的唯一设备。我是否先在其中执行
,然后再创建
?我试图避免查找以插入/更新。在mongodb,沿着upsert的路线的东西会很酷。但我不知道如何在neo4j中实现它。再次感谢!是的,您可以一起执行
CREATE
WHERE
,还可以使用
CREATE UNIQUE
,这将在创建新节点之前实际检查属性(例如设备id或其他)。在console.neo4j.org(您可以通过链接共享)中试用。如果您描述了确切的开始场景和您想要的结束,也许我们可以为您提供一个好的密码查询。