Я использую OrientDB, и у меня простая схема:
User -> (AccessWith) -> AccessToken -> (HasClient) -> Client
(имя) - ребра, а остальные - вершины.
У меня есть RID пользователя и клиента, и я хочу получить соответствующий AccessToken, как я могу это сделать?
Сейчас я делаю это:
select expand($token)
from #1:1
let $token = out('AccessWith')
where $token.out('HasClient').@rid = #2:1
(# 1: 1 - это RID пользователя, а # 2: 1 - RID клиента)
Но этот запрос не работает. Предложение where вообще не действует. Я могу удалить его или поставить несуществующий RID, в результате у меня всегда есть все AccessToken пользователя №1: 1.
Итак, я хотел бы точно понять, как использовать функцию out () (или in) в предложении where и преуспеть в фильтрации по RID пользователя (он отлично работает) и RID клиента в то же время.