У меня есть сценарий, в котором (невозможно прикрепить изображение) метка вершины, как 'url', прикрепляется к различным другим меткам.Английские глаголы в реальном времени создаются как имена ребер и предоставляются во время поиска.
URL -> has -> otherentities
URL -> verb1 -> states
URL -> verb2 -> states etc..
Likewise for other labels
URL -> verb1 -> pages
URL -> verb2 -> pages etc..
URL -> verb1 -> lines
URL -> verb2 -> lines etc..
URL -> verb1 -> schedule
URL -> verb2 -> schedule etc..
URL -> verb1 -> section
URL -> verb2 -> section etc..
URL -> verb1 -> box
URL -> verb2 -> box etc..
URL -> verb1 -> input_method
URL -> verb2 -> input_method etc..
В качестве отправной точки у меня есть метки и значения свойств имени некоторых из вершин, т.е. состояний, расписания, раздела, поля, линий, страницы и глаголы (это комполсарно в качестве входных данных).
Теперь значения вышеуказанных меток предоставляются через & в каждой ячейке CSV, и я анализирую CSV в java и проверяю метки и именакаждого из них и формирует динамический запрос Гремлина.
Итак, проблема в том, что мы хотим получить все URL-адреса: где все глаголы присутствуют в метках ребер (и условие) вместе с вершинами, где все имя-значения input_methodвершины присутствуют (с и условием) И остальные вершины значения имени (другие метки) присутствуют с или условием (одна метка несколько имен-значений).
Я выделил и сделал три запроса, чтобы решить проблемугде я сначала получаю startvertex (начиная с любой вершины) и получаю все URL.
Like:
For otherentities-
g.V().hasLabel('" + startLabel + "').inE('has').has('forward','" + startLabel+ "').outV().hasLabel('url')
For rest all labels:
g.V().hasLabel('" + startLabel + "').inE('" + verb + "').has('forward','" + startLabel+ "').outV().hasLabel('url')
Then I am looping each url and forming queries depending on label like:
g.V().hasLabel('url').has('id','fbd385c2-232f-4cdf-842d-ccea20941d4d').as('a').where(and(outE('generate').has('forward','states').where(or(inV().hasLabel('states').has('name', 'Massachusetts'))))).select('a')
А для input_method и других объектов, формирующих другой вид запросов и запрашивающих их отдельно.
Итак, есть ли способ, где я могу объединить все 4 запроса в один запрос и запустить его, чтобы получить свой ответ, чтобы избежать задержки,Пожалуйста помоги.