В 2.0 Этикетки - отличная возможность. Я бы не рекомендовал автоматическую индексацию. С пользовательской индексацией на ярлыке вы можете добиться уникального создания объектов. Поток выглядит так: Сначала создайте индекс на этикетке, скажем, «Пользователь» - это метка, чтобы идентифицировать пользователя.
create index on :User(username)
Теперь у вас есть индекс над «имя пользователя» на каждом узле с меткой «User» Чтобы создать уникальный узел, нужно иметь что-то соотносить по созданию. На данный момент нет такого понятия, как
create unique (n:User {username:"tsartsaris"})
Но вы можете использовать
CREATE UNIQUE (b)-[:ISUSER]->(m:User {username:"tsartsaris"})
Это уникальное творение будет искать м с меткой: Пользователь и имя пользователя: tsartsaris, если он не существует, то он создаст его. Если вы снова запустите код, он вернет существующий узел и не создаст новый. Если вы используете 2.0 м2, вы можете использовать слияние как метод создания уникального узла.
merge (n:User {username:"tsartsaris"})
RETURN n
слияние будет искать матч в вашем графике, если он считает, что вернет его, в противном случае будет создан узел и вернуть его.
является просто произвольным стартовым узлом? – MonkeyBonkey
b - это тот самый узел, который вы хотите быть в зависимости от вашей установки, но он должен быть одинаковым для каждого раза, когда вы хотите создать уникальный: Пользователь. – SotirisTsartsaris