2016-09-28 2 views
0

Я пытаюсь создать уникальный атрибут на узле с отношением. Проблема заключается в том, что уникальный атрибут уникален только для метки «B», и мне нужно, чтобы она была уникальной для метки «A». Возможно ли иметь уникальное ограничение во многих ярлыках?Создайте уникальный узел и отношения

MATCH (user:A { userId: '57e3c97c6a430242328878ec' }) 
CREATE UNIQUE (user)-[:KNOWS]-(telephone:B{telephone: '+447735150512'}) 
RETURN telephone 

ответ

2

Как и в собственности должен быть уникальным на узлах меток А и В (возможно, больше?)

Существует не поддержка этого прямо сейчас, но есть обходной путь, хотя он требует некоторых содержание с вашей стороны.

Узлы могут иметь несколько меток. Поэтому, если вы создаете метку, которая дополнительно применяется к узлам нескольких других меток (суперклавиша C, которая применяется к узлам с метками A и B), вы можете создать уникальное ограничение на C для этого свойства. Вам нужно будет убедиться, что все узлы A и B дополнительно помечены C, но когда это будет на месте, вы не сможете создать новый узел A или B (дополнительно обозначенный C) со свойством, которое уже используется на другом узле C.

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

+0

Спасибо, примеры для решения: https://github.com/neo4j/neo4j/issues/7814 – TheNickyYo

Смежные вопросы