节点V的中间中心性被定义为通过V的所有节点对之间的最短路径的比例。
我已经看过了tinkerpop食谱文档,但我觉得它没有帮助/不起作用。也就是说,它返回一个
......1> 当我运行查询时。
运行的查询为:
g.V().as("v").repeat(both().simplePath().as("v")).emit().
filter(project("x","y","z").by(select(first, "v")).
by(select(last, "v")).
by(select(all,"v").count(local)).as("triple").
coalesce(select("x","y").as("a").
select("triples").unfold().as("t").
select("x","y").where(eq("a")).
select("t").
store("triples")).
select("z").as("length").
select("triple").select("z").where(eq("length"))).
select(all, "v").unfold().
groupCount().next()我使用的是劳伦斯提供的航线数据,如本指南http://kelvinlawrence.net/book/Gremlin-Graph-Guide.pdf所示。它不包含中心性度量。我从下面的代码开始,a)不给出任何循环路径,b) emit()调制器“输出”所有遍历的顶点
g.V().repeat(both().simplePath()).emit() 我如何从这里开始计算节点的介数中心/或者从其他地方开始。
发布于 2019-01-09 01:26:43
您实际上修改了Gremlin Recipes站点上的查询,select("t")和store("triples")之间应该有一个逗号,而不是一个句号。但是,这个查询可能不会在air-routes图上工作,因为它有太多的路径。如下文所述,该查询仅适用于非常小的(子)图。即使你有足够的内存进行计算,我认为你也必须等待很长一段时间(几个小时?)直到你看到结果。
对于这种大小的图,您应该考虑使用不同的中心性算法。最后,算法之间的结果没有太大差异,通常情况下,你的图越大,你就越不关心每个顶点的准确中心值。例如,经典的PageRank算法在较大的图形上运行得很好。
https://stackoverflow.com/questions/54095451
复制相似问题