首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cypher,如何在不破坏原始结果的情况下对结果使用匹配?

Cypher,如何在不破坏原始结果的情况下对结果使用匹配?
EN

Stack Overflow用户
提问于 2014-11-25 10:45:43
回答 1查看 37关注 0票数 1

我要尽可能多地理解,我写的东西很可能不是我想要做的事情的好方法,在这种情况下,我会很感激一些指向正确方向的指示。

我想要做的是创建一个节点:挂起并创建到每个节点的关系:在一个定义的数组中的每个节点:用户,然后,匹配它的一个节点上基于fb_id创建的关系。在该关系上设置一个属性,并返回第一个节点:用户匹配。

下面的内容做了我想做的一切,但它返回的是具有匹配关系的用户,而不是原来匹配的用户。

如何使它返回原来匹配的用户?(xxxx,zzzz)

代码语言:javascript
运行
AI代码解释
复制
 CREATE (hang:Hang {})
 WITH hang
 MATCH (users:User) WHERE users.fb_id IN [xxxx, zzzz]
 CREATE (users)-[:member {status: 0}]->(hang)
 WITH users, hang
 MATCH (users)-[r:member]->(hang) WHERE users.fb_id = xxxx
 SET r.founder = 1, r.status = 1
 RETURN users
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-25 11:03:50

我觉得你说得通。我举了个例子。以下是三个用户:

代码语言:javascript
运行
AI代码解释
复制
CREATE (:User {fb_id:1234}),
       (:User {fb_id:5678}),
       (:User {fb_id:9101});

然后,如果您想从用户1234和5678创建一个[member]关系到H挂,但只为用户1234设置founder=1status=1,同时仍然返回两个用户:

代码语言:javascript
运行
AI代码解释
复制
CREATE (hang:Hang {name:'Some Hang'})
WITH hang
MATCH (users:User) WHERE users.fb_id IN [1234, 5678]
CREATE (users)-[r:member]->(hang)
SET r.founder = CASE WHEN users.fb_id = 1234 THEN 1 ELSE 0 END,
    r.status = CASE WHEN users.fb_id = 1234 THEN 1 ELSE 0 END
RETURN users;

这将返回最终的用户1234和5678,但只在用户1234和Hang之间的founder=1关系上设置status=1[member]

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27134337

复制
相关文章

相似问题

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