Автономный сервер Neo4j: применение уникальных ограничений с использованием Java API при запуске сервера
Я использую версию Neo4j Server 2.3.2 и неуправляемые плагины для анализа и загрузки неструктурированных данных в график.
При этом я попал в ситуацию с дублирующимися узлами и низкой пропускной способностью (даже при пакетной обработке) для последовательной обработки. Рассматривая варианты использования повторяющихся загрузок данных, ища параллельную обработку данных (используя плагины сервера), используя либо:
Сплит файлы
Разделить процесс / Threading
Теперь, при параллельной загрузке дат, самая большая проблема, которую я могу предвидеть, - это решение таких проблем целостности данных, как, как избежать создания дублирующих узлов. Читая справочные материалы Neo4j, я нашел следующие варианты создания уникальных узлов.
Опции:
[Предпочтение] Получить или создать уникальный узел, используя Cypher и уникальные ограничения
[Другое] Пессимистическая блокировка из Java API
[Other] Получить или создать уникальный узел, используя устаревший индекс
Теперь вопрос в том, откуда я могу применить это уникальное ограничение, используя java API. Я ищу некоторую информацию о событиях, которую я могу зафиксировать и применить ограничения. Посоветуйте, пожалуйста, какой лучший способ загрузить / вызвать некоторые события / методы, и там мы внедряем код для обеспечения соблюдения ограничений.
Кроме того, есть ли способ определить это уникальное правоприменение с использованием Cipher задолго до создания какого-либо объекта.
заранее спасибо
Рекомендации:
http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html
http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html
http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html
http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html
- http://neo4j.com/docs/stable/javadocs/org/neo4j/graphdb/index/Index.html
1 ответ
Это было очень просто, как-то я упустил это, читая о шифре:(
Это как...
СОЗДАТЬ ОГРАНИЧЕНИЕ НА (n:Person) ASSERT n.name УНИКАЛЬНО;
СОЗДАТЬ ОГРАНИЧЕНИЕ (n:Person) ASSERT n.role УНИКАЛЬНО;