驱动程序的输出取决于具体请求。有些方法,如Uql()
,会返回Response
对象,您需从中提取数据,将其转换成相应的驱动类型以用于Node.js应用程序。其他方法,如ShowGraph()
, ShowSchema()
,和 ShowProperty()
则直接返回驱动类型数据(GraphSet
, Schema
, Property
等。)请参阅嬴图数据与C#类型映射了解主要驱动类型。
Response
uql()
和其他方法会返回Response
对象。Response
对象包含以下字段:
字段 |
类型 |
描述 |
---|---|---|
UqlReply |
UqlReply | 请求执行的回复 |
Status |
Status | 请求的执行状态 |
Statistic |
Statistic | 请求执行的统计信息,包括 NodeAffected 、EdgeAffected 、TotalCost 、EngineCost 等 |
Explain |
List |
UQL语句的解释树 |
若查询返回了数据,您可使用Get()
或Alias()
方法通过数据别名提取各项目。两种方法均返回一个DataItem
对象,内嵌在查询结果中。若要将DataItem
映射为对应的驱动类型,请参阅 嬴图数据与C#类型映射.
Get()
通过别名索引获取数据。
参数:
int
:别名索引。
返回值:
DataItem
:获取到的数据。
var res = await ultipa.Uql("find().nodes() as n return n._id, n._uuid limit 3");
Console.WriteLine(JsonConvert.SerializeObject(res.Get(0)));
UQL语句返回了两个别名n._id
和n._uuid
;Get()
方法在索引0处获取了别名n._id
。
{"Data":{"Alias":"n._id","Attr":{"ValueType":7,"Values":[[85,76,84,73,80,65,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49],[85,76,84,73,80,65,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50],[85,76,84,73,80,65,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51]]}},"AliasName":"n._id","OriginalResultType":4}
Alias()
通过别名名称获取数据。
参数:
string
:别名名称。
返回值:
DataItem
:获取到的数据。
var res = await ultipa.Uql("find().nodes() as n return n._id, n._uuid limit 3");
Console.WriteLine(JsonConvert.SerializeObject(res.Alias("n._uuid")));
UQL语句返回了两个别名n._id
和n._uuid
;Alias()
方法通过名称获取了别名 n._uuid
。
{"Data":{"Alias":"n._uuid","Attr":{"ValueType":4,"Values":[[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,2],[0,0,0,0,0,0,0,3]]}},"AliasName":"n._uuid","OriginalResultType":4}