OrientDB Найти вершину, содержащую отношение к другой вершине без дальнейшего отношения

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

У меня есть график, но позвольте мне упростить задачу здесь. У меня есть три класса (Склад, Товар, Товар). Склад – это место, где производится продукция. Продукт — это определение чего-либо. И товар — это экземпляр продукта, который мы отслеживаем как инвентарь.

Отношения выглядят примерно так. Склад->[производит]->Товар->[создано]->Товар

Я пытаюсь найти все склады, на которых есть продукт, на котором нет товаров. Возможно ли это в синтаксисе SQL? Если нет, есть ли другой способ?


person SchraderMJ11    schedule 06.11.2013    source источник


Ответы (1)


Если вы смоделировали его с помощью Graph API, вы можете сделать что-то вроде:

select from Warehouse where out('produces').out('created').size() == 0
person Lvca    schedule 07.11.2013
comment
Кажется, это не работает. Он возвращает странное количество результатов, которые совсем не соответствуют моим ожиданиям. В любом случае, у меня это работает в гремлине. - person SchraderMJ11; 08.11.2013