有没有办法总是返回Gremlin匹配查询的地图列表与选择?

时间:2017-01-19 04:27:12

标签: java gremlin

我有以下代码:

<canvas style="cursor: url("data:image/x-icon;base64,.....") 0 0, default;"></canvas>

基本上节点 Vertex v = g.addV().property("valueStr", "3").next(); Vertex v2 = g.addV().property("valueStr", "4").next(); Vertex v3 = g.addV().property("valueStr", "5").next(); Edge e = g.V(v.id()).as("a").V(v2.id()).as("b").addE("anEdge").from("a").to("b").property("value", "4").as("e").next(); Edge e2 = g.V(v.id()).as("a").V(v3.id()).as("b").addE("anEdge").from("a").to("b").property("value", "5").as("e").next(); List vertices1 = g.V().match( __.as("a").hasId(v.id()).outE("anEdge").inV().hasId(v2.id()).as("b"), __.as("a").hasId(v.id()).outE("anEdge").inV().hasId(v3.id()).as("c")).toList(); System.out.println(vertices1); List vertices2 = g.V().match( __.as("a").hasId(v.id()).outE("anEdge").inV().hasId(v2.id()).as("b"), __.as("a").hasId(v.id()).outE("anEdge").inV().hasId(v3.id()).as("c")).select("a","b").toList(); System.out.println(vertices2); List vertices3 = g.V().match( __.as("a").hasId(v.id()).outE("anEdge").inV().hasId(v2.id()).as("b"), __.as("a").hasId(v.id()).outE("anEdge").inV().hasId(v3.id()).as("c")).select("a").toList(); System.out.println(vertices3); 连接到a,节点b连接到a

我正在对这个子图进行匹配查询,每次返回匹配的元素的子集时。

以下是输出:

c

在前两种情况下,我得到[{a=v[20], b=v[22], c=v[24]}] [{a=v[20], b=v[22]}] [v[20]] List ..在最后一种情况下,我得到Maps

最后一个案例如何才能使List成为ListMaps?我知道我可以用[{a=v[20}]做一个黑客,但似乎应该有一个更清洁的方式。

文档在哪里解释我将在select("a","a") List / VerticesEdgesMap {{{}}获得List Maps 1}}等等?

谢谢!

1 个答案:

答案 0 :(得分:4)

取代select("a")使用project("a").by(select("a"))