2014-03-24 96 views
0

我們使用嵌入式Neo4J 2.0;我們有一個包含約1百萬個節點和五千萬個關係的圖表;我們必須找到N個最短路徑,但是有一個着名的成本屬性 我們看到neo4j的GraphAlgo類中沒有這種方法,我們正在考慮使用Gremlin(或任何其他實用程序)來查找這些路徑。 我們的願望是指定哪些關係屬性考慮最短路徑發現Neo4j Gremlin:所有最短路徑

有沒有人找到解決這個問題的方法?我們如何實現這樣的功能?

任何建議真的apreciated ... 謝謝 安傑洛

回答

1

您可以使用小鬼來計算最短路徑。下面是GremlinDocs一個例子:

http://gremlindocs.com/#recipes/shortest-path

從部分下面的代碼片段討論了使用一個「權重」屬性來計算路徑的成本:

gremlin> g = TinkerGraphFactory.createTinkerGraph() 
==>tinkergraph[vertices:6 edges:6] 
gremlin> g.v(1).outE.inV.loop(2){it.object.id!="3" && it.loops < 6}.path.filter{it.last().id=="3"}.transform{[it.findAll{it instanceof Edge}.sum{it.weight}, it]} 
==>[0.4, [v[1], e[9][1-created->3], v[3]]] 
==>[1.4000000059604645, [v[1], e[8][1-knows->4], v[4], e[11][4-created->3], v[3]]] 

我不知道如果這正是你所追求的目標,但也許會激勵你找到解決方案。

+0

感謝您的反饋意見;我會看看 –