Найти все вершины без ребер - PullRequest
0 голосов
/ 15 сентября 2018

Я новичок в Gremlin, и я не могу понять простой запрос, который вернет все вершины моего графа, у которых нет ребер (например, осиротевшая вершина). В идеале я хотел бы, чтобы те без какого-либо "внешнего" края.

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

Есть идеи?

Спасибо

-John

Ответы [ 2 ]

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

Вы можете просто сделать это:

g.V().not(outE())

Или, если вы хотите найти сирот:

g.V().not(bothE())
0 голосов
/ 15 сентября 2018

Попробуйте это: g.V().as('a').where(out().count().is(0)).select('a')

Но, в зависимости от того, сколько у вас вершин, вы можете столкнуться с слишком большим исключением из-за частоты запросов (429).

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

g.V().has('id', gt(0)).has('id', lt(100)).as('a').where(out().count().is(0)).select('a')
g.V().has('id', gt(99)).has('id', lt(200)).as('a').where(out().count().is(0)).select('a')
....

и т. Д.

...