Arhn - архитектура программирования

Как использовать уникальные отношения в Neo4j через REST API?

Я не могу заставить Neo4j добавить уникальную связь. Я использую neo4j 2.0.0.M6 и REST API. Я использую этот URL-адрес: /db/data/index/relationship/rels?uniqueness=get_or_create, и я все время получаю «плохой запрос». Я следую это руководство по API.
Что я делаю неправильно? Должен ли я передать имя индекса или ключ отношения? Я отправляю json с тремя ключами — «начало», «конец», «тип». Сообщение об ошибке говорит о том, что у меня отсутствуют необходимые ключи: [значение, ключ] - что мне туда вставить?

11.11.2013

Ответы:


1

Я понимаю ваше замешательство.

Эта конечная точка API выполняет две функции. 1. Это создание отношений. 2. Он добавляет его в индекс, если он еще не существует.

Индекс имеет имя, ключ и значение.

Поэтому, если у меня есть индекс с именем «Люди», я мог бы захотеть индексировать «Имя» и «Дата рождения», которые являются ключами. Значения могут быть «LameCoder» и «11/11/2013» соответственно.

Используемый вами URL-адрес неявно говорит, что имя индекса — «rels», потому что для этого предназначена эта часть URL-адреса.

Это пример из документации. Ключ и значение — это то, что будет добавлено в индекс. Они не обязательно должны существовать в карте свойств отношения. Итак, в этом случае ниже ключом является имя, а значением является Питер. Таким образом, он гарантирует, что при создании отношения в индексе «rels» не существует другой записи индекса для ключа «имя» со значением «Питер».

{
  "key" : "name",
  "value" : "Peter",
  "start" : "http://localhost:7474/db/data/node/444",
  "end" : "http://localhost:7474/db/data/node/445",
  "type" : "KNOWS"
}

Это не создает уникальную связь между этими двумя узлами. Это уникальная связь в индексе. Поэтому, если вы ожидаете, что это гарантирует, что между двумя узлами существует только одно отношение типа, это не то, что вам нужно.

11.11.2013
  • Итак, я думаю, мне следует запросить Сайфера. Спасибо за подробное объяснение. 11.11.2013
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..