驱动程序的输出取决于具体请求。有些方法,如uql()
,会返回Response
对象,您需从中提取数据,将其转换成相应的驱动类型以用于Java应用程序。其他方法,如showGraph()
,showSchema()
和showProperty()
则直接返回驱动类型数据(GraphSet
,Schema
,Property
等)。请参阅 嬴图数据与Java类型映射了解主要驱动类型。
Response
uql()
和其他方法会返回Response
对象。Response
对象包含以下字段:
字段 |
类型 |
描述 |
---|---|---|
aliases |
List<Alias> | 别名列表;每个别名包含名称和数据类型 |
items |
Map<String, DataItem> | 别名和对应数据(DataItem )的映射 |
insertNodesReply |
Ultipa.InsertNodesReply | 批量插入点的结果 |
insertEdgesReply |
Ultipa.InsertEdgesReply | 批量插入边的结果 |
exportData |
ExportData | 数据导出结果 |
explainPlan |
ExplainPlan | UQL语句的解释树 |
status |
UStatus | 请求执行状态 |
statistic |
Statistic | 请求执行统计数据,包括nodeAffected ,edgeAffected ,totalCost ,engineCost 等 |
若查询返回了数据,您可使用get()
或alias()
方法通过数据别名提取各项目。两种方法均返回一个DataItem
对象,内嵌在查询结果中。若要将DataItem
映射为对应的驱动类型,请参阅嬴图数据与Java类型映射。
get()
通过别名索引获取数据。
参数:
Integer
:别名索引。
返回值:
DataItem
:获取到的数据。
Response response = client.uql("find().nodes() as n return n._id, n._uuid limit 3");
System.out.println(response.get(0).toJson());
UQL语句返回n._id
和n._uuid
两个别名;get()
方法获取别名索引为0的n._id
数据。
["{\"type\":\"STRING\",\"values\":[\"u604131\",\"u604510\",\"u604614\"],\"name\":\"n._id\"}"]
alias()
通过别名名称获取数据。
参数:
String
:别名名称。
返回值:
DataItem
:获取到的数据。
Response response = client.uql("find().nodes() as n return n._id, n._uuid limit 3");
System.out.println(response.alias("n._uuid").toJson());
UQL语句返回n._id
和n._uuid
两个别名;alias()
方法根据n._uuid
的别名名称获取数据。
["{\"type\":\"UINT64\",\"values\":[\"1\",\"2\",\"3\"],\"name\":\"n._uuid\"}"]