uql()
方法及相关类:
Response uql(String uql)
Response uql(String uql, RequestConfig requestConfig)
使用uql()
进行请求时会返回结果类Response。
Response的字段:
字段 | 类型 | 说明 |
---|---|---|
aliases | List<Alias> | return返回的数据的别名和类型 |
items | Map<String, DataItem> | return返回的数据,每个别名对应的DataItem类 |
insertNodesReply | Ultipa.InsertNodesReply | 批量插入点返回的结果 |
insertEdgesReply | Ultipa.InsertEdgesReply | 批量插入边返回的结果 |
exportData | ExportData | 导出数据的结果 |
explainPlan | ExplainPlan | 嬴图GQL语句解析树 |
status | Status | 嬴图服务器返回的执行状态 |
statistic | Statistic | 执行的统计信息,包含执行时间、影响点边数等 |
Response的方法:
方法 | 类型 | 说明 |
---|---|---|
get(int index) | DataItem | 按下标获取查询结果中的某一个返回值(DataItem类) |
alias(String name) | DataItem | 按别名获取查询结果中的某一个返回值(DataItem类) |
返回值的别名类型有NODE、EDGE、PATH等,使用DataItem类的相应的方法可以将这些类型转为相应的类,详见返回值的结构化。
get()
示例:发送语句return now() as currentTime, pi() as PI
,按下标取出第一个返回值,转为json并输出
public class Main {
public static void main(String[] args) {
// 创建名为conn的连接,此部分代码省略
Response res = conn.uql("return now() as currentTime, pi() as PI");
System.out.println(res.get(0).toJson());
}
}
输出:
["{\"type\":\"DATETIME\",\"values\":[\"Dec 13, 2022 7:39:38 AM\"],\"name\":\"currentTime\"}"]
alias()
示例:发送语句return now() as currentTime, pi() as PI
,按别名取出第二个返回值,转为json并输出
public class Main {
public static void main(String[] args) {
// 创建名为conn的连接,此部分代码省略
Response res = conn.uql("return now() as currentTime, pi() as PI");
System.out.println(res.alias("PI").toJson());
}
}
输出:
["{\"type\":\"DOUBLE\",\"values\":[3.14159265358979],\"name\":\"PI\"}"]