Neo4j 中连接同一节点的关系
Relationship that connect the same node in Neo4j
我会尽量简洁地解决我的问题。我有使用 .csv 文件加载的节点 Person,我还有另一个要加载的 .csv 文件 - person_speaks_language_0.csv
(得到这个 header:idPerson|languagePSL)
我怎么能把它联系起来?我怎样才能建立这种关系?
再举一个例子,和上一个很相似,我无法解决。我在 Neo4j 中加载了 Comment 节点,我需要加载另一个 .csv 文件,该文件是 - comment_replyOf_comment_0.csv
(得到他的 header: idComment|idComment)
如何加载此文件?如何连接来自同一节点的 "in and out" 关系 - 连接同一节点?
对于第一个例子。有2个选项。
如果你想让语言成为一个单独的节点,试试这个密码:
LOAD CSV FROM 'person_speaks_language_0.csv' AS line
MATCH (p:Person)
WHERE p.id=line[0]
MERGE (p)-[r:Speaks]->(l:Language { name: line[1])})
RETURN p, l, r
或者,可能,更好的选择
LOAD CSV FROM 'person_speaks_language_0.csv' AS line
MERGE (p:Person { id:line[0] })-[r:Speaks]->(l:Language { name: line[1]) })
RETURN p, l, r
如果您希望语言成为 属性,试试这个:
LOAD CSV FROM 'person_speaks_language_0.csv' AS line
MERGE (p { id:line[0], language:line[1] })
RETURN p
RETURN 语句是可选的,您不想将它包含在大型 csv 文件中(尽管它可能对调试有用)。
对于第二个例子,试试这个:
LOAD CSV FROM 'comment_replyOf_comment_0.csv' AS line
MERGE (c1:Comment { id:line[0] })-[r:Commented]->(c2:Comment { id:line[1]) })
RETURN c1, r, c2
我会尽量简洁地解决我的问题。我有使用 .csv 文件加载的节点 Person,我还有另一个要加载的 .csv 文件 - person_speaks_language_0.csv
(得到这个 header:idPerson|languagePSL)
我怎么能把它联系起来?我怎样才能建立这种关系?
再举一个例子,和上一个很相似,我无法解决。我在 Neo4j 中加载了 Comment 节点,我需要加载另一个 .csv 文件,该文件是 - comment_replyOf_comment_0.csv
(得到他的 header: idComment|idComment)
如何加载此文件?如何连接来自同一节点的 "in and out" 关系 - 连接同一节点?
对于第一个例子。有2个选项。
如果你想让语言成为一个单独的节点,试试这个密码:
LOAD CSV FROM 'person_speaks_language_0.csv' AS line
MATCH (p:Person)
WHERE p.id=line[0]
MERGE (p)-[r:Speaks]->(l:Language { name: line[1])})
RETURN p, l, r
或者,可能,更好的选择
LOAD CSV FROM 'person_speaks_language_0.csv' AS line
MERGE (p:Person { id:line[0] })-[r:Speaks]->(l:Language { name: line[1]) })
RETURN p, l, r
如果您希望语言成为 属性,试试这个:
LOAD CSV FROM 'person_speaks_language_0.csv' AS line
MERGE (p { id:line[0], language:line[1] })
RETURN p
RETURN 语句是可选的,您不想将它包含在大型 csv 文件中(尽管它可能对调试有用)。
对于第二个例子,试试这个:
LOAD CSV FROM 'comment_replyOf_comment_0.csv' AS line
MERGE (c1:Comment { id:line[0] })-[r:Commented]->(c2:Comment { id:line[1]) })
RETURN c1, r, c2