2016-04-25 19 views
3

我看过Nicole White的真棒youtubeUsing 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) 
; 
+0

我建议ST剥去一些后面的语句并执行“RETURN标识符1,标识符2”等来查看引擎正在做什么。 –

+1

谢谢Tim Kuehn,你的建议让我发现我离开了一步。换句话说,确保你有你认为你应该拥有的所有节点。与不存在的节点建立关系会给你这个错误。如果你做出这个答案,我会接受它作为解决方案。 –

+0

我已经添加了这个答案。 –

回答

3

地带了一些后来的声明,并做了“RETURN标记位,identifier2”等,看看发动机在做什么。

相关问题