В чем разница между randomUUID и GraphAware UUID в Neo4j? - PullRequest
0 голосов
/ 26 сентября 2019

В настоящее время я использую GraphAware UUID Library для генерации UUID в neo4j, позже я обнаружил, что у него есть randomUUID() функция для генерации UUID, какую из них использовать ?, randomUUID() создастуникальный идентификатор на сервере?

Ответы [ 2 ]

3 голосов
/ 26 сентября 2019

Они оба вызывают java.util.UUID#randomUUID(), вот где сходство между ними заканчивается.

Встроенная функция Cypher's randomUUID() - это функция, которую вы должны вызывать вручную в каждом запросе шифра, где вы хотитеназначить UUID.

Модуль neo4j-uuid представляет собой набор расширений Neo4j, которые позволяют прозрачно назначать UUID (или другие типы идентификаторов - в зависимости от настроенного генератора идентификаторов) узлам и отношениям, обеспечиваетидентификаторы не могут быть изменены или удалены.Он также поддерживает явный индекс для узлов / отношений.См. Файл readme для набора full feature .

Если вы используете простой набор uuid для (некоторых) узлов или отношений, используйте встроенную функцию.Если вы можете воспользоваться другими функциями модуля neo4j-uuid - используйте это.

1 голос
/ 26 сентября 2019

Для случаев использования вручную, когда вы сами создаете UUID в запросе Cypher, они функционально идентичны (я думаю, GraphAware реализовал это первым, мы добрались до него позже).Да, идентификаторы будут создаваться на сервере и будут уникальными, и

Я полагаю, что модуль UAID GraphAware охватывает не только это, выполняя автоматическое назначение идентификаторов UUID вновь создаваемым узлам и отношениям, и дополнительно проверяя их.,

...