首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用ID匹配节点之后创建节点和关系

在使用ID匹配节点之后创建节点和关系
EN

Stack Overflow用户
提问于 2017-04-29 05:15:00
回答 1查看 58关注 0票数 0

我有三种类型的节点-挑战、输入和用户,以及这些节点之间的两个关系:(条目)-PART_BY->(用户)和(条目)-部分->(挑战)。

下面是我要完成的任务:-我有一个现有的挑战,我可以通过它的ID (内部neo4j id)来识别它--我也有一个现有的用户,我可以通过它的id (与neo4j内部id不同)来识别它--给定现有的挑战和用户,我需要创建一个新的入口节点,并将它与具有PART_OF关系的挑战节点链接起来。

  • 此外,我还需要通过POSTED_BY关系将新条目与用户节点链接起来--如果可能的话,我希望在一个单独的Cypher查询语句中实现上述目标。

这就是我想要的:

代码语言:javascript
运行
复制
MATCH (c:Challenge) 
WHERE (id(c) = 240), 
MATCH (u:User {id: '70cf6846-b38a-413c-bab8-7c707d4f46a8'}) 
CREATE (e:Entry {name: "My Entry"})-[:PART_OF]->(c), (u)<-[r:POSTED_BY]-(e)
RETURN e;

但是,这是失败的,因为我似乎不能用上面的语法匹配两个节点。但是,如果我将“挑战”与非内部属性相匹配,例如“名称”,它似乎是有效的:

代码语言:javascript
运行
复制
MATCH (c:Challenge {name: "Challenge Name"), 
MATCH (u:User {id: '70cf6846-b38a-413c-bab8-7c707d4f46a8'}) 
CREATE (e:Entry {name: "My Entry"})-[:PART_OF]->(c), (u)<-[r:POSTED_BY]-(e) 
RETURN e;

但是,正如我前面提到的,我想匹配挑战的neo4j内部节点ID,除了使用WHERE id(c) = 232子句之外,我不确定是否有其他方法来匹配它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-29 05:19:14

您的语法几乎是正确的,但是您不需要在WHERE和下一个匹配之间使用逗号。

代码语言:javascript
运行
复制
MATCH (c:Challenge) 
WHERE id(c) = 240
MATCH (u:User {id: '70cf6846-b38a-413c-bab8-7c707d4f46a8'}) 
CREATE (e:Entry {name: "My Entry"})-[:PART_OF]->(c), (u)<-[r:POSTED_BY]-(e) 
RETURN e;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43692038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档