У меня есть следующий код python для создания графика в neo4j. Я использую py2neo версии 2.0.3., соединяющий узлы с отношениями в py2neo
import json
from py2neo import neo4j, Node, Relationship, Graph
graph = neo4j.Graph("http://localhost:7474/db/data/")
with open("example.json") as f:
for line in f:
while True:
try:
file = json.loads(line)
break
except ValueError:
# Not yet a complete JSON value
line += next(f)
# Now creating the node and relationships
news, = graph.create(Node("Mainstream_News", id=unicode(file["_id"]), entry_url=unicode(file["entry_url"]),
title=unicode(file["title"]))) # Comma unpacks length-1 tuple.
authors, = graph.create(
Node("Authors", auth_name=unicode(file["auth_name"]), auth_url=unicode(file["auth_url"]),
auth_eml=unicode(file["auth_eml"])))
graph.create(Relationship(news, "hasAuthor", authors))
Я могу создать график с узлами Mainstream_News и Authors с отношением 'hasAuthor'. Моя проблема заключается в том, что я делаю это. У меня есть один узел Mainstream_News с одним автором, но на самом деле у одних узлов есть более одного Mainstream_News. Я хотел бы сделать свойство узлов auth_name
узлом как индекс для соединения с узлами Mainstream_news. Любые предложения будут замечательными.
Очень большое указывающий уникальной реализация ограничений, но все еще получают странные ошибки при использовании merge_one: TypeError: merge_one() занимает не более 4 аргументов (8 данных) –
Я обновил свой ответ. – cybersam