Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Neo4j中加载CSV,字段用逗号分隔_Csv_Neo4j_Cypher - Fatal编程技术网

在Neo4j中加载CSV,字段用逗号分隔

在Neo4j中加载CSV,字段用逗号分隔,csv,neo4j,cypher,Csv,Neo4j,Cypher,我有一个CSV文件,看起来像这样 id;title;startdate;enddate;budget;description;department;supervisor;supervisor_email;member;member_email;tags 49206;Some title;29.09.2015;27.04.2016;4 billion;Something about the title;ABC;Person1;person1@aol.com;Person2, Person3;per

我有一个CSV文件,看起来像这样

id;title;startdate;enddate;budget;description;department;supervisor;supervisor_email;member;member_email;tags
49206;Some title;29.09.2015;27.04.2016;4 billion;Something about the title;ABC;Person1;person1@aol.com;Person2, Person3;person2@aol.com, person3@aol.com;Some tags
8501;Some Title2;13.07.2015;15.02.2016;14 billion;Something about Title2;DEF;Person4;person4@aol.com;Person5, Person6;person5@aol.com, person6@aol.com;Title2
我写了下面的密码

LOAD CSV WITH HEADERS FROM 'file:///..../Project.csv' AS row FIELDTERMINATOR ';'
MERGE (pr:Project {projectID: row.id, title: row.title, startdate: row.startdate, enddate: row.enddate, budget: row.budget})
FOREACH (n IN row.member_email |
    WITH SPLIT(row.member_email, ", ") AS memberEmails
    MERGE (p:Person {email: memberEmails})
    MERGE (p)-[:IS_MEMBER]->(pr)
)
正如我们可以看到的,成员电子邮件地址由逗号分隔,我希望拆分电子邮件地址,并使用电子邮件地址匹配人员,以创建项目有成员的新关系

SPLIT
FOREACH
产生了冲突,我不知道为什么。非常感谢有人能帮助我。

尝试使用:

解决方案
我认为,这将只适用于CSV中的一行数据,我使用FOREACH是因为有更多的数据行data@jorzylicious我没有完全理解你的问题。你能提供更多的细节吗?我在示例中添加了另一行。“成员电子邮件”列可以有一个或多个电子邮件地址,地址之间用逗号分隔。当我阅读row.member_电子邮件时,我将整个字段作为字符串。我想用split来分隔字符串,每次我读这一行,并使关系一致,找到了解决方案。谢谢布鲁诺@欢迎你!:)此外,我建议您与我们分享您的解决方案,回答您自己的问题,并接受它作为正确答案!谢谢<代码>加载带有标题的CSV,从'file:///..../Project.csv'作为行字段终止符';'合并(pr:Project{projectID:row.id,title:row.title,startdate:row.startdate,enddate:row.enddate,budget:row.budget})和pr,拆分(row.member_email,,,”)作为成员电子邮件将成员电子邮件作为电子邮件释放给每个人(n个成员电子邮件|合并(p:Person{email:email})合并(p)-[:IS_成员]->(pr))
LOAD CSV WITH HEADERS FROM 'file:///..../Project.csv' AS row FIELDTERMINATOR ';'
MERGE (pr:Project {projectID: row.id, title: row.title, startdate: row.startdate, enddate: row.enddate, budget: row.budget})
WITH pr, SPLIT(row.member_email, ", ") AS memberEmails
UNWIND memberEmails as email
MERGE (p:Person {email: email})
MERGE (p)-[:IS_MEMBER]->(pr)
LOAD CSV WITH HEADERS FROM 'file:///..../Project.csv' AS row FIELDTERMINATOR ';' 
MERGE (pr:Project {projectID: row.id, title: row.title, startdate: row.startdate, enddate: row.enddate, budget: row.budget}) 
WITH pr, SPLIT(row.member_email, ", ") AS memberEmails 
UNWIND memberEmails as email 
FOREACH (n IN memberEmails | MERGE (p:Person {email: email}) MERGE (p)-[:IS_MEMBER]->(pr) )