Сортировка / фильтрация узлов на основе свойств отношений - PullRequest
9 голосов
/ 13 февраля 2012

Учитывая следующий график:

enter image description here

  1. Как получить узлы, смежные с node[5] с помощью weight > 50?
  2. Как получить узлы, смежные с node[5] с меткой "knows", отсортированные по весу?

Ответы [ 2 ]

12 голосов
/ 14 февраля 2012

Не уверен насчет Гремлин, но в Сайфер это:

1:

START s=node(5) MATCH s-[r]-f WHERE r.weight > 50 RETURN f

2:

START s=node(5) MATCH s-[r:knows]-f RETURN f ORDER BY r.weight

Если вы заботитесь о направленииотношения, поместите стрелки на отношения, например, "s - [] -> f" или "s <- [] - f" </p>

10 голосов
/ 14 февраля 2012
  1. Как связать узлы с узлом [5] с ребром с меткой «знает» и весом> 50?

    гв (5) .outE ('знает'). Filter {it.weight> 50} .inV

В зависимости от направления отношения / края это может быть "inE" вместо outE или "оба шага, вам нужно будет скорректировать запрос, так как у вас будут ребра в другом направлении или ребра в обоих направлениях ...

  1. Как связать узлына узел [5] с меткой «знает», отсортированной по весу?

    gv (5) .outE («знает»). filter {it.weight> 50} .sort {a, b-> a.weight <=> b.weight} .toList () ._. inV

...