【问题标题】:Neo4j Gremlin: all shortest weigthed pathNeo4j Gremlin:所有最短加权路径
【发布时间】:2014-03-24 12:28:53
【问题描述】:

我们使用的是 Neo4J 2.0 嵌入式;我们有一个包含大约 100 万个节点和 5000 万个关系的图表;我们必须找到 N 最短路径但具有众所周知的成本属性 我们看到 Neo4j 的 GraphAlgo 类中没有这样的方法,我们正在考虑使用 Gremlin(或任何其他实用程序)来找到这些路径。 我们的愿望是指定要考虑哪种关系属性来寻找最短路径

有人找到解决这个问题的方法吗?我们如何实现这样的功能?

任何建议都非常感谢... 谢谢 安杰洛

【问题讨论】:

    标签: gremlin neo4j


    【解决方案1】:

    您可以使用 Gremlin 计算最短路径。这是 GremlinDocs 中的一个示例:

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

    该部分的以下 sn-p 讨论了使用“权重”属性来计算路径成本:

    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]]]
    

    我不确定这是否正是您所追求的,但也许它会激发您找到解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      相关资源
      最近更新 更多