Обходы между двумя наборами узлов - сохраняя все ребра между - PullRequest
0 голосов
/ 01 сентября 2018

Я изо всех сил пытаюсь выяснить, как собирать ребра с шагом X между двумя наборами узлов. У меня есть начальный набор узлов (набор A) и конечный набор узлов (набор B) - они также могут быть одинаковыми, и я хочу найти все ребра шагов <= X между этими наборами. Все примеры обхода, которые я видел, были для узла 1 к узлу 2, а не между наборами узлов. </p>

Осложняющим фактором является то, что я пытаюсь собрать ребра с помощью LETdge_attr = (выбор ребер на основе атрибутов - все работает нормально) и UNION () с набором ребер на основе окрестностей (опять-таки прекрасно работает) , Я хотел бы иметь возможность добавить третий выбор ребер между узлами (Set A) и (Set B) с шагом = 2-5 (без понятия).

Затем я беру все эти ребра и генерирую из них количество фасетов, чтобы я мог получить набор ребер и их фасетов из поискового запроса по базе данных графа, которая у нас есть.

Узлы:

Set A: 0, 10
Set B: 8, 9

Пути:

0->1->2->9
8->3->4->10
4->5->6

Я хочу собрать ребра, поскольку они находятся на пути между двумя наборами узлов:

0->1
1->2
2->9
8->3
3->4
4->10

Часть этого кажется простой:

FOR a in SetA
    FOR b in SetB
        FILTER a == b
        <what goes here?>
...