Я новичок в 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
Нет общего первичного ключа или метки между этими узлами, поскольку они имеют разные типы.