使用 python 字典填充 Neo4j

Rob*_*Rob 3 python dictionary neo4j nosql cypher

所以我刚刚开始使用 Neo4j,我正在尝试弄清楚如何填充我的 DataFrame。我有一本字典,其中单词作为键,同义词作为列表中的值,我想填充 Neo4j,这似乎是学习如何使用数据库的一种有趣的方式。

一个例子是:

'CRUNK' : [你'醉了',你'浪费了',你'高',你'皱巴巴的',你'疯狂',你'锤子',你'酒精',你'hyphy',你'派对']

这些列表的长度不会相等,因此无法将其转换为更典型的 csv 格式,而且我还没有找到如何填充数据库的解释,就像在 Django 应用程序中填充 SQL 数据库一样。我想做这样的事情:

for each k,v in dictionary:
    add k and add relationship to each value in v
Run Code Online (Sandbox Code Playgroud)

有谁有任何教程、文档或答案可以帮助我指明正确的方向吗?

Mic*_*ger 5

我认为你想做的事情可以直接在 Cypher 中完成:

MERGE (w:Word {text:{root}})
UNWIND {words} as word
MERGE (w2:Word {text:word})
MERGE (w2)-[:SYNONYM]->(w)
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用http://py2neo.org的 cypher-session API 和两个参数(一个单词root和一个words.

您还可以使用 foreach 而不是 unwind

MERGE (w:Word {text:{root}})
FOREACH (word IN {words} |
  MERGE (w2:Word {text:word})
  MERGE (w2)-[:SYNONYM]->(w)
)
Run Code Online (Sandbox Code Playgroud)