首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >上传具有多个关系的csv

上传具有多个关系的csv
EN

Stack Overflow用户
提问于 2017-05-18 04:13:34
回答 1查看 76关注 0票数 0

我正在尝试建立一系列公司(具有员工层次结构)之间的关系,这些公司除了投资者之外,还在一个生态系统中合作。我的csv中有6列:公司、投资者、客户(J标记为公司,但用于关系客户)、CompanyX (X标记为公司,但用于合作公司的关系)、Employee (用于员工)和EmployeeL (L表示层次结构)。

代码语言:javascript
运行
复制
LOAD CSV WITH HEADERS FROM 'FILE:///ecosystem.csv' AS line
MERGE (C:Company {Company: line.Company })
MERGE (I:Investor {Investor: line.Investor })
MERGE (J:Customer {Company: line.Company })
MERGE (X:CompanyX {Company: line.Company })
MERGE (N:Employee {Employee: line.Employee })
MERGE (L:EmployeeL {Employee: line.Employee })
MERGE (C)<-[:works_for]-(N)
MERGE (L)<-[:reports_to]-(N)
MERGE (J)<-[:Customer]-(C)
MERGE (X)<-[:Partners]->(C)
MERGE (C)<-[:Investor]-(I);

我是不是把事情搞得太复杂了?我是Cypher的新手,我不确定我这样做是正确的,上一次我做了类似的上传,我必须清除我的数据库。另外,由于并非所有层次结构都是完整的,我如何为J/I/C输入空值?当存在空值时,我无法上传csv。

EN

回答 1

Stack Overflow用户

发布于 2017-05-19 05:19:32

如果您的csv中只有三列,我将创建一个查询,如下所示:

代码语言:javascript
运行
复制
LOAD CSV WITH HEADERS FROM 'FILE:///ecosystem.csv' AS line
MERGE (C:Company {name: line.Company })
MERGE (I:Investor {name: line.Investor })
MERGE (N:Employee {name: line.Employee })
MERGE (C)<-[:Investor]-(I)
MERGE (C)<-[:works_for]-(N)

应避免将双向方向用作:works_for:reports_to。检查此article

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

https://stackoverflow.com/questions/44034018

复制
相关文章

相似问题

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