所以我一直在尝试加载一个csv文件,参与者不得不评价他们在学习上遇到问题时会从谁那里得到建议。该表看起来像这样:
字母表只是人物的名字。如您所见,此表中有空值。我正在尝试将其加载到Neo4j中,以便我们可以想象谁在选择谁以及这种关系是否是互惠的。任何的想法?非常感谢所有帮助!
使用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。
希望这可以帮助!