Я не понимаю, почему ваш подход не сработает - вот пример графика, и, как вы можете видеть, он возвращает правильный ответ:
gremlin> g.addV('person').property('name','marko').as('m').
......1> addV('person').property('name','stephen').as('s').
......2> addV('person').property('name','alice').as('a').
......3> addE('knows').from('m').to('s').iterate()
gremlin> g.V().where(bothE().count().is(0)).valueMap()
==>[name:[alice]]
Возможно, вам следует проверить свои данные более внимательно, чтобы бытьуверен, что он содержит структуру, которую вы ожидаете.В то время как ваш путь работал, я думаю, что я бы использовал этот подход:
gremlin> g.V().where(__.not(bothE())).valueMap()
==>[name:[alice]]
Таким образом, вы не заставляете count()
всех ребер обнаруживать существование ребра, когда вы просто ищетеотсутствие каких-либо краев.