所以我一直试图加载一个csv文件,参与者不得不评价他们在学习有问题时会从谁那里得到建议。该表看起来像这样:
字母表只是人物的名字。如您所见,此表中有空值。我试图将其加载到Neo4j中,这样我们就可以想象出谁在选择谁以及这种关系是否是互惠的。任何的想法?非常感谢所有帮助!
答案 0 :(得分:1)
使用IS NOT NULL
可以解决您的问题。
LOAD CSV WITH HEADERS FROM file:///xyz.csv AS line
WITH line LIMIT 10
RETURN line
使用此功能,您可以查看数据的加载方式。(不要忘记使用限制)。由于从CSV加载的所有值均为字符串格式,因此您将获得空列值 - > ""
。
您可以通过关注我引用的博客来创建您的节点。并且还使用IS NOT NULL
,您可以跳过空值并创建架构。
示例:
MERGE (n:Person{name:line.Person})-[:CHOSE]-(:Study1{name:line[1]})
MERGE (n)-[:CHOSE]-(:Study2{name:line[2]})
MERGE (n)-[:CHOSE]-(:Study3{name:line[3]})
MERGE (n)-[:CHOSE]-(:Study4{name:line[4]})
MERGE (n)-[:CHOSE]-(:Study5{name:line[5]})
或者你可以使用
WITH Line[1] as Person, Line[2] as Study1 and so on...
WHERE Study5 IS NOT NULL
MERGE (n:Person{name:line.Person})-[:CHOSE]-(:Study1{name:line[1]})
MERGE (n)-[:CHOSE]-(:Study2{name:line[2]})
MERGE (n)-[:CHOSE]-(:Study3{name:line[3]})
MERGE (n)-[:CHOSE]-(:Study4{name:line[4]})
MERGE (n)-[:CHOSE]-(:Study5{name:line[5]})
有关详细信息,请参阅此example。
希望这有帮助!