gpt4 book ai didi

java - 有没有一种方法可以始终为带有 select 的 Gremlin 匹配查询返回 map 列表?

转载 作者:行者123 更新时间:2023-11-29 08:38:55 25 4
gpt4 key购买 nike

我有以下代码:

    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]]

在前两种情况下,我得到了 MapsList。在最后一种情况下,我得到了 List

最后一个案例如何让它成为 Maps[{a=v[20}]List ?我知道我可以使用 select("a","a") 进行破解,但似乎应该有更简洁的方法。

文档在哪里解释了在哪些情况下我会得到一个ListVertices/Edges,一个MapMaps 等的 List 等?

谢谢!

最佳答案

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

关于java - 有没有一种方法可以始终为带有 select 的 Gremlin 匹配查询返回 map 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41733751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com