3
我看过Nicole White的真棒youtube
“Using LOAD CSV in the Real World”,并决定使用相同的方法重新创建neo4j数据。cypher语句返回(没有更改,没有行)
我已经克隆了她在这个主题上的git repo,并且一直在我的Mac上为社区版本的neo4j开发这个例子。
我正在通过load.cql文件一次将每个命令粘贴到命令窗口中。
事情很顺利 - 我有一堆创建的节点。为了处理 主文件中sub_products和sub_issues的空值,我创建了 两个其他csv文件:sub_issues.csv和sub_products.csv,如视频中所述。
但是当我尝试阅读醚这些文件,我得到“(没有变化,没有行)”
不知何故,我得到的印象有什么不对......
下面是我用实际的命令序列对于增量读取。
// Load.
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS
FROM 'file:///Volumes/microSD/neo4j-complaints/sub_issue.csv' AS line
WITH line
WHERE line.`Sub-issue` <> '' AND
line.`Sub-issue` IS NOT NULL
MATCH (complaint:Complaint { id: TOINT(line.`Complaint ID`) })
MATCH (complaint)-[:WITH]->(issue:Issue)
MERGE (subIssue:SubIssue { name: UPPER(line.`Sub-issue`) })
MERGE (subIssue)-[:IN_CATEGORY]->(issue)
CREATE (complaint)-[:WITH]->(subIssue)
;
我建议ST剥去一些后面的语句并执行“RETURN标识符1,标识符2”等来查看引擎正在做什么。 –
谢谢Tim Kuehn,你的建议让我发现我离开了一步。换句话说,确保你有你认为你应该拥有的所有节点。与不存在的节点建立关系会给你这个错误。如果你做出这个答案,我会接受它作为解决方案。 –
我已经添加了这个答案。 –