Гремлин запрашивает Edge inVLabel, outVLabel - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть следующий пример Edge с пометкой "posts". «posts» может иметь несколько типов родительской Vertice (outVLabel), например «channel», «publisher», «user» и т. д. Как выполнить запрос для всех Edges, у которых outVLabel равен «channel», без запроса метки на Out () вершина? Я хочу, чтобы массив "записей" возвращался Edges.

Query:
g.E().hasLabel('posts').has(???, 'channel')

Edge object:
[{
"id": "83c972b0-315d-49fe-a735-882c4dcbdaa2",
"label": "posts",
"type": "edge",
"inVLabel": "article",
"outVLabel": "channel",
"inV": "7410b6c8-ed70-4a00-800c-489d596907da",
"outV": "c8c5f45d-0195-49c5-b7ae-9eda1d441bc9",
"properties": {
  "service": "rss"
 }]

1 Ответ

0 голосов
/ 06 сентября 2018

Вы должны сделать:

g.E().hasLabel('posts').where(outV().hasLabel('channel'))

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

g.E().has('posts', 'outVLabel', 'channel')
...