我想 return 我们 return 编辑的所有顶点和顶点的所有路径
I'd like to return all the vertex and all the path for the vertexes which we returned
我的问题是我想要 return 所有的顶点。并获取所有 returned 顶点之间的所有路径。
例如我会得到所有的标签是人。而且我还想得到顶点之间的所有路径。
顶点:g.V().has('tag','person')
我们怎样才能得到网络路径?
g.V().has('tag', 'person')
不会 return 任何路径,因为此查询仅用于 return 顶点列表。
我从你的评论中假设你想要所有这些顶点之间的所有路径,那么下面的查询应该是有用的:
g.V().has('tag', 'person').bothE().otherV().path()
在目标顶点上添加 dedup()
步骤可能会有用,这样您就不会得到重复的路径:
g.V().has('tag', 'person').bothE().otherV().dedup().path()
要获得更复杂的 path()
输出,您可以尝试使用 Gremlin 控制台和玩具图。以下对源顶点、遍历边和目标顶点(分别)应用不同的 by()
调制器:
gremlin> graph = TinkerFactory.createModern()
gremlin> g = graph.traversal(standard())
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().bothE().otherV().dedup().path().by(id).by(label).by(id)
==>[1, created, 3]
==>[1, knows, 2]
==>[1, knows, 4]
==>[2, knows, 1]
==>[3, created, 6]
==>[4, created, 5]
参考:
我的问题是我想要 return 所有的顶点。并获取所有 returned 顶点之间的所有路径。
例如我会得到所有的标签是人。而且我还想得到顶点之间的所有路径。
顶点:g.V().has('tag','person') 我们怎样才能得到网络路径?
g.V().has('tag', 'person')
不会 return 任何路径,因为此查询仅用于 return 顶点列表。
我从你的评论中假设你想要所有这些顶点之间的所有路径,那么下面的查询应该是有用的:
g.V().has('tag', 'person').bothE().otherV().path()
在目标顶点上添加 dedup()
步骤可能会有用,这样您就不会得到重复的路径:
g.V().has('tag', 'person').bothE().otherV().dedup().path()
要获得更复杂的 path()
输出,您可以尝试使用 Gremlin 控制台和玩具图。以下对源顶点、遍历边和目标顶点(分别)应用不同的 by()
调制器:
gremlin> graph = TinkerFactory.createModern()
gremlin> g = graph.traversal(standard())
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().bothE().otherV().dedup().path().by(id).by(label).by(id)
==>[1, created, 3]
==>[1, knows, 2]
==>[1, knows, 4]
==>[2, knows, 1]
==>[3, created, 6]
==>[4, created, 5]
参考: