neo4j генерирует уникальный идентификатор для существующего узла - PullRequest
0 голосов
/ 19 марта 2020

Я создал графическую базу данных некоторое время go и обнаружил, что у моих узлов Person нет идентификатора. Можно ли сгенерировать уникальный идентификатор для существующих узлов? Я вижу, что когда я использую браузер neo4j, автоматически генерируется идентификатор для просмотра графика, но этот идентификатор отсутствует в базе данных.

Дайте мне знать, может ли запрос Cypher сделать что-то вроде этого:

MATCH (p:Person) 
WHERE NOT p.id
SET p.id = AUTO_GEN_ID
RETURN p

, чтобы новые узлы были изменены?

1 Ответ

0 голосов
/ 19 марта 2020

Все узлы имеют автоматически сгенерированный «собственный идентификатор» (который можно получить с помощью функции ID ), но этот собственный идентификатор можно повторно использовать для другого узла, если исходный узел удален. Чтобы избежать путаницы, рекомендуется добавить собственное свойство (например, id или uuid), если вам нужен уникальный идентификатор.

Вы можете использовать apo c .create .uuid для создания UUID. Например:

MATCH (p:Person) 
WHERE NOT EXISTS(p.id)
SET p.id = apoc.create.uuid()
RETURN p

Библиотека APO C также может автоматически назначать UUID данному свойству при создании узла с указанной меткой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...