Py2neo - ValueError: первичная метка и первичный ключ требуются для операции MERGE - PullRequest
0 голосов
/ 19 марта 2019

Я новичок в py2neo и пытаюсь понять операцию слияния в отношении соединения с другими типами узлов с другим первичным ключом. пример: я перешел по ссылке ниже https://py2neo.org/v4/database.html

    graphdb = Graph(scheme="bolt", host="localhost", port=7687, secure=True, auth=(userName, userPass))

a = Node("Person", name="Alice", age=33)
b = Node("Person", name="Bob", age=44)
KNOWS = Relationship.type("KNOWS")
graphdb.merge(KNOWS(a, b), "Person", "name")

c = Node("Company", name="ACME")
c.__primarylabel__ = "Company"
c.__primarykey__ = "name"
WORKS_FOR = Relationship.type("WORKS_FOR")
graphdb.merge(WORKS_FOR(a, c) | WORKS_FOR(b, c))

пока все хорошо ... Следующий

Ожидается: я хочу найти человека и добавить еще одну связь с узлом человека

a1 = graphdb.nodes.match("Person", age=33)
print(a1)

d = Node("Company", name="OLDCOM")
d.__primarylabel__ = "Company"
d.__primarykey__ = "name"
WORKED_FOR = Relationship.type("WORKED_FOR")
graphdb.merge(WORKED_FOR(a1, d))

ОШИБКА: повысить ValueError («Первичная метка и первичный ключ требуются для операции MERGE») ValueError: первичная метка и первичный ключ требуются для операции MERGE

Нет общего первичного ключа или метки между этими узлами, поскольку они имеют разные типы.

...