Учитывая два запроса Gremlin q1
и q2
и их результаты ri = qi.toSet()
, я хочу найти все узлы в r1
, которые имеют соединение с узлом в r2
- игнорируя метки кромок и направление.
Мой текущий подход включал вычисление кратчайших путей между двумя наборами результатов:
q1.shortestPath().with_(ShortestPath.target, q2).toList()
Однако я обнаружил, что вычисление кратчайшего пути в Tinkerpop не подходит для этой цели, потому что результат будет пустым, если в r1 есть узлы без какого-либо соединения с каким-либо узлом в r2.
Вместо этого я подумал о подключенных компонентах, но на шаге connectedComponents()
будут найдены все подключенные компоненты, и мне придется отфильтровать их, чтобы найти подключенный компонент, который соответствует указанным выше требованиям.
У вас есть предложения, как я могу решить эту проблему в gremlin-python?