Вы могли бы or()
необходимые условия вместе:
gremlin> g = TinkerFactory.createModern().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.addV('person').property('name','Marvin')
==>v[13]
gremlin> g.addV('person').property('name','Marko')
==>v[15]
gremlin> g.V().or(has("name", between("Marko", "N")),has("name", between("marko", "n")))
==>v[1]
==>v[13]
==>v[15]
gremlin> g.V().or(has("name", between("Marko", "Markoz")),has("name", between("marko", "markoz")))
==>v[1]
==>v[15]
Просто предупреждение - этот подход работает, но разные графики будут обрабатывать этот тип запросов по-разному. Я не знаю, что все будут оптимизировать этот тип запроса. Если вы просто экспериментируете с небольшим графиком, то этот подход может быть хорошим, но вы можете не увидеть желаемую производительность на большом графике в зависимости от обхода.