Выбрать все вершины с фильтрами outE, подключающимися к определенному списку вершин - PullRequest
0 голосов
/ 27 мая 2018

Я новичок в ODB, но не в SQL, и, похоже, не могу найти учебник для обучения или даже аналогичные вопросы q & a;но это, вероятно, моя неспособность правильно задать вопрос.

Я ищу способ найти все вершины определенного класса (например, утверждения), которые имеют по крайней мере один конкретный класс outE (например, available_to_role) и теУ всех ребер есть определенное значение свойства (например, role = "adj1"), и у этих ребер также есть все соответствующие ребра с определенными вершинами с определенным значением свойства (например, дата).

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

Это самая близкая из полученных мной, но в результате получаетсяВозврат утверждений, которые доступны только на одну из двух дат, я не уверен, как заставить & & result получить результаты, доступные только на все указанные даты.

SELECT
    *,
    out.label as claim_label,
    in.date as date,
    count(in.date)
FROM
    available_to_role
WHERE
    role='adj1'
AND
    in.date in ['2018-06-02 00:00:00','2018-06-03 00:00:00']
GROUP BY
    in.date

Я ищу способчтобы получить все Претензии, которые доступны для конкретной роли на все предоставленные даты, а не только на одну из предоставленных дат.И мне нужны эти результаты как отдельные ответы, а не агрегированные (например, ["роль", "роль"] ["дата", "дата"]).В любом случае, я знаю даты и роли, но не претензии.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 29 мая 2018

Я не уверен, что правильно понял, но:

попробуйте это:

select from Claims where outE("available_to_role").role contains "adj1" and out("available_to_role").date in ['2018-06-02 00:00:00','2018-06-03 00:00:00']

, если вы хотите убедиться, что вершина в классе утверждений соответствует обеим датам, которые вы должныиспользуйте условие AND для обеих дат

Надеюсь, это поможет

С уважением

...