GraphFrames: найти ненаправленный путь мотива - PullRequest
0 голосов
/ 16 февраля 2019

Я использую мотивы GraphFrames, чтобы найти путь между 3 узлами (a, b и c) в моем графике.Это работает довольно хорошо, но, к сожалению, мне нужно найти ненаправленные пути.

Как построить неориентированный граф или найти путь мотива, который может перемещаться по неориентированным ребрам?

val motifs = g.find("(a)-[e1]->(b); (b)-[e2]->(c)")

Спасибо

1 Ответ

0 голосов
/ 19 февраля 2019

GF является направленным графом по своей природе и реализации.Вы можете просто объединить результат для всех комбинаций "стрелка":

val patterns = Seq(
    "(a)-[e1]->(b); (b)-[e2]->(c)", 
    "(b)-[e1]->(a); (b)-[e2]->(c)" , 
    "(a)-[e1]->(b); (c)-[e2]->(b)", 
    "(b)-[e1]->(a); (c)-[e2]->(b)") 
patterns.map(g.find(_).select("a", "e1", "b", "e2", "c")).reduce(_ union _).show
...