本文介绍了Gremline中多节点图的创建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在用gremlin创建Tinkergraph。
实际上,我想创建50个节点的图,它们通过边随机连接。
我已通过以下方式创建了50个节点:
(0..<50).each{graph.addVertex().property("NodeId",it)}
这将创建50个节点。
我无法正确创建图形,无法通过边连接节点。不应留下一个节点。
我也试过了:
v = g.V().has("NodeId",0).next(); (0..<50).each{v.addEdge("childs",g.V().has("NodeId",it).next())}
它创建图形,其中所有节点都连接到唯一的一个节点。
有什么办法修复它吗?
创建50个节点并通过边连接的Tinkergraph。
推荐答案
我不太清楚您的问题。你是在问如何将每个顶点相互连接起来吗?如果是这样的话,请转到:
gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV().emit().repeat(property("NodeId", loops()).addV()).times(49).as("x").
......1> sideEffect(hasNot("NodeId").property("NodeId", 49)).barrier().
......2> V().where(neq("x")).addE("childs").from("x").iterate()
此时,您将拥有一个具有50个顶点的图,每个顶点都通过child
边连接到图中的其他顶点。
gremlin> g
==>graphtraversalsource[tinkergraph[vertices:50 edges:2450], standard]
让我们选取一个随机顶点来验证它是否确实连接到了图中除其自身之外的所有顶点。
gremlin> g.V().has("NodeId", 30).out("childs").values("NodeId").fold().order(local)
==>[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]
这篇关于Gremline中多节点图的创建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!