Neo4j的数据建模问题
我对Neo4j非常陌生,但它让我很兴奋。但是,我在尝试建模以下CSV文件形式的数据时遇到了困难Neo4j的数据建模问题,neo4j,Neo4j,我对Neo4j非常陌生,但它让我很兴奋。但是,我在尝试建模以下CSV文件形式的数据时遇到了困难 ID Document Word 123 Book Potter,Love,Bond 124 Book Love,Game 134 Pad Game,Hate 111 BB Hate,Level,Awesome 109 Feat Awesome 理想情况下,我希望将ID
ID Document Word
123 Book Potter,Love,Bond
124 Book Love,Game
134 Pad Game,Hate
111 BB Hate,Level,Awesome
109 Feat Awesome
理想情况下,我希望将ID作为每个节点的唯一元素,将文档列作为节点属性之一,并将所有单词作为附加到每个ID的单个节点,并具有关系。所以爱与ID123和124都有关系
关于cypher查询的任何帮助都非常有用首先在文档节点和word节点上创建一个约束
CREATE CONSTRAINT ON (d:Document) ASSERT d.id IS UNIQUE
CREATE CONSTRAINT ON (w:Word) ASSERT d.name IS UNIQUE
我猜您正在使用加载CSV
LOAD CSV WITH HEADERS FROM "url" as row
MERGE (d:Document{id:row.ID})
ON CREATE SET d.type = row.Document
with d,split(row.Word,",") as words
UNWIND words as word
MERGE (w:Word{name:word})
MERGE (d)-[:HAS]->(w)
谢谢你的回复。只有几件事,那一定是打字错误。但是我无法解决由它们引起的错误1。第二个CREATE constraint语句似乎需要w.name而不是d.name 2。MERGE(d:Document{row.ID})语句给了我一个错误“输入时没有可行的替代方案…”查看下一次合并时,我用ID替换了行。但是这引发了另一个错误,如下所示:“Variable
ID
notdefined(第2行,第21列(偏移量:60))”MERGE(d:Document{d:ID})“.任何帮助都会很好。谢谢你给出了答案。。。cypher很好,这取决于csv的外观