我有一个节点网络代表人它们通过关系连接(电子邮件)。Neo4J - 如何基于分割现有关系属性并自动创建链接来创建新节点?
的邮件的接收者是m.slug
基于:() - [R] - (M)
我要拆分的属性(在这种情况下“发件人“/ m.slug即[email protected])并创建一个新的节点”Google.com“AS公司(即现在我有一组公司节点是根据现有信息创建的)。
我想然后将Google(公司)链接到我的人员节点([email protected])。
-
您会如何处理此问题,而不会创建多个重复的公司节点? (即对于[email protected] & [email protected]应连接到同一Google.com公司节点)。
Visual Representation of People and relationships
Example syntax of queries and relationship properties
感谢萨姆 - 我试图运行上面的代码并获得 _“使用空属性值的名称Neo.ClientError.Statement.SemanticError 不能合并节点” _ - 我试图然后更改的名称查询公司名称 'MATCH(n:Person) MERGE(c:Company {公司名称:TOLOWER(SPLIT(n.slug,'@')[1])}) CREATE(n) - [:AT] - >(c);' _但是,我收到了相同的回复,现在创建了两个不能使用的关系属性(名称和公司名称) 任何想法? – MShariff
似乎并非所有的'slug'值都有'@'字符。在进行上述查询之前,您应该清理数据以确保所有'slug'值是有效的电子邮件地址。 – cybersam