首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Neo4J --如何在拆分现有关系属性并自动创建链接的基础上创建新节点?

Neo4J --如何在拆分现有关系属性并自动创建链接的基础上创建新节点?
EN

Stack Overflow用户
提问于 2017-06-04 17:47:50
回答 1查看 871关注 0票数 2

我有一个代表、People、、由关系连接的节点网络(、Email、)。

电子邮件的接收者是m.slug

根据:()-r-(m)

我希望拆分该属性(在本例中为“发件人”/ m.slug ie Larry@google.com),并将一个新节点"Google.com“创建为Company (也就是说,我现在有一组根据现有信息创建的公司节点)。

然后我想链接谷歌(公司)到我的个人节点(Larry@Google.com)。

--

在不创建多个重复的公司节点的情况下,您将如何处理此问题?(即Sergey@Google.com和Larry@Google.com应该连接到同一个Google.com公司节点)。

人与关系的视觉表征

查询和关系属性的示例语法

EN

回答 1

Stack Overflow用户

发布于 2017-06-04 18:08:33

这就是如何确保每个电子邮件地址域名都有一个唯一的Company节点,并将其(通过AT关系)与每个Person与该域中的电子邮件地址相关联。域名在存储之前是小写的,以确保唯一性,因为电子邮件地址经常带有不同的大小写。

代码语言:javascript
复制
MATCH (n:Person)
MERGE (c:Company {name: TOLOWER(SPLIT(n.slug, '@')[1])})
CREATE (n)-[:AT]->(c);

注意:上面的查询应该只执行一次,因为CREATE子句每次都会创建关系,即使它已经存在。如果需要多次运行查询,可以将CREATE替换为MERGE

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

https://stackoverflow.com/questions/44357079

复制
相关文章

相似问题

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