我有以下代码:
<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
成为List
或Maps
?我知道我可以用[{a=v[20}]
做一个黑客,但似乎应该有一个更清洁的方式。
文档在哪里解释我将在select("a","a")
List
/ Vertices
,Edges
或Map
{{{}}获得List
Maps
1}}等等?
谢谢!
答案 0 :(得分:4)
取代select("a")
使用project("a").by(select("a"))