Я не уверен, что вы хотите достичь точно, но вот два возможных решения:
FOR v IN 0..100 ANY "Entity/node_id" EntityRelation OPTIONS {uniqueVertices: "global"}
FOR vv, c IN ANY v EntityRelation
RETURN c
Выше запрос использует вложенный для цикла (на самом деле обход) для выполнения обхода для каждого узла, возвращаемого путем внешнего обхода, используя v
в качестве начальной вершины и игнорируя направление ребер. Возвращаются все краевые документы внутреннего обхода.
Если вы хотите края внешнего обхода, это даже не нужно:
FOR v, e IN 0..100 ANY "Entity/node_id" EntityRelation OPTIONS {uniqueVertices: "global"}
RETURN e
Если вы хотите получить доступ к результатам обхода позже в запросе, превратить его в подзапрос и присвоить результат к переменной:
LET nodes = (
FOR v IN 0..100 ANY "Entity/node_id" EntityRelation OPTIONS {uniqueVertices: "global"}
RETURN v._id
)
FOR node IN nodes
FOR vv, c IN ANY node EntityRelation
RETURN c
Обратите внимание, что первый обход возвращает только идентификаторы документов. Их достаточно, чтобы начать другой обход с этих узлов, и никакие другие свойства вершин в любом случае не используются. Возвращение всех документов будет работать, но не так эффективно.
Извините, так как я фазу вопрос так плохо. Я просто хочу получить все ссылки с любой глубины, заданной узлом. Таким образом, результат ссылок, если вы выбираете узел A, B, C, D, тот же, если они связаны. Но из вашего ответа я сделал рабочий, используя вложенный, чтобы получить узлы, а затем запрашивать входящие ссылки с этих узлов. –
Я вижу, поэтому вы обнаруживаете, что все узлы подключены к определенному узлу, а затем возвращают все узлы, которые указывают на эти узлы. Я думаю, что подход гнездования является лучшим решением в этом случае. – CoDEmanX