【发布时间】:2018-12-10 03:27:08
【问题描述】:
我正在浏览 LOAD CSV 电影示例中的教程示例,同时将其应用于我的项目的测试数据。 (我正在尝试遵循此处的示例代码: https://neo4j.com/docs/getting-started/current/cypher-intro/load-csv/)
我正在尝试在每篇文章的关键字之间建立关系,然后找到具有相同关键字的其他文章。
我的测试数据 csv 文件的表示如下: 用于创建所有标题节点的 CSV:
title_id,title
T1,Article Title 1
T2,Article Title 2
我想用来创建关系的 CSV:
title_id,keyword_id,keyword
T1,K1,aaa
T1,K2,bbb
T1,K3,ccc
T1,K4,ddd
T2,K1,aaa
T2,K5,eee
T2,K6,fff
T2,K4,ddd
首先,我尝试使用以下代码创建标题节点:
LOAD CSV WITH HEADERS FROM "file:///1209_tet_titles.csv" AS csvLine1
WITH csvLine1
WHERE csvLine1.title_id IS NOT NULL
MERGE (a_title:title{t_id:csvLine1.title_id,Title:csvLine1.title})
然后,我尝试使用以下代码在关系旁边创建单个关键字节点:
LOAD CSV WITH HEADERS FROM "file:///1209test_titleid_kwid_kw.csv" AS csvLine3
WITH csvLine3
WHERE csvLine3.title_id IS NOT NULL
MERGE(keywords:Keyword{k_id:csvLine3.keyword_id,Keyword:csvLine3.keyword})
WITH csvLine3
MATCH(title:Title{id:csvLine3.title_id}),(keyword:Keyword{id:csvLine3.keyword_id)})
CREATE (title)-[r1:HAS_KEYWORDS]->(keyword)
节点创建成功,但是 match 命令什么也没找到,因此没有创建任何关系。在这个阶段,我不确定我的情况和电影示例之间有什么区别......
【问题讨论】: