如何根据匹配属性的条件创建与现有节点的关系

时间:2015-05-29 16:43:14

标签: neo4j cypher

在Neo4j中,我正在尝试加载CSV文件,同时根据特定属性匹配的条件在节点之间创建关系。

我的Cypher代码是:

LOAD CSV WITH HEADERS FROM "file:C:/Users/George.Kyle/Simple/Simple scream v3.csv" AS
csvLine
MATCH (g:simplepages { page: csvLine.page}),(y:simplepages {pagekeyword: csvLine.keyword} )
MATCH (n:sensitiveskin)
WHERE g.keyword = n.keyword
CREATE (f)-[:_]->(n)

你可以看到我试图在'simplepages'和'sensitiveskin'之间创建一个基于关键字属性相同的关系。

查询正在执行,但不会形成关系。

我希望的是当我执行诸如

之类的查询时
MATCH (n:sensitiveskin) RETURN n LIMIT 25 

您将看到所有节点(敏感皮肤和简单页面)都已打开自动完成。

1 个答案:

答案 0 :(得分:1)

CREATE (f)-[:_]->(n)正在使用先前未定义的f变量,因此它正在创建一个新节点(没有标签或属性),然后从该新节点创建关系。我认为您打算使用gy代替f。 (可能是y,因为你没有使用它?)