与空值合并

问题描述 投票:0回答:1

所以我一直在尝试加载一个csv文件,参与者不得不评价他们在学习上遇到问题时会从谁那里得到建议。该表看起来像这样:

enter image description here

字母表只是人物的名字。如您所见,此表中有空值。我正在尝试将其加载到Neo4j中,以便我们可以想象谁在选择谁以及这种关系是否是互惠的。任何的想法?非常感谢所有帮助!

neo4j merge null cypher
1个回答
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

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.