驱动程序的输出取决于具体请求。有些方法,如uql()
,会返回UltipaResponse
对象,您需从中提取数据,将其转换成相应的驱动类型以用于Python应用程序。其他方法,如showGraph()
, showSchema()
,和 showProperty()
,则直接返回驱动类型数据(GraphSet
, Schema
, Property
等)。请参阅嬴图数据与Python类型映射了解主要驱动类型。
Response
uql()
和其他方法会返回Response
对象。Response
对象包含以下字段:
字段 |
类型 |
描述 |
---|---|---|
aliases |
List[ResultAlias] | 别名列表;每个别名包含名称和数据类型 |
items |
Dict | 别名和对应数据(DataItem )的映射 |
explainPlan |
List[ExplainPlan] | UQL语句的解释树 |
status |
Status | 请求执行状态 |
statistic |
UltipaStatistics | 请求执行统计数据,包括nodeAffected ,edgeAffected ,totalCost ,engineCost 等 |
req |
ReturnReq | 请求详情,包括图集名称(graph_name)、UQL 查询(uql)、主机(host)、重试次数(Retry)和 UQL 是否额外(uqlIsExtra)。 |
若查询返回了数据,您可使用get()
或alias()
方法通过数据别名提取各项目。两种方法均返回一个DataItem
对象,内嵌在查询结果中。若要将DataItem
映射为对应的驱动类型,请参阅嬴图数据与Python类型映射.
get()
通过别名索引获取数据。
参数:
int
:别名索引。
返回值:
DataItem
:获取到的数据。
response = Conn.uql("find().nodes() as n return n._id, n._uuid limit 3")
print(response.get(0).toJSON())
UQL语句返回n._id
和n._uuid
两个别名;get()
方法获取别名索引为0的n._id
数据。
{"alias": "n._id", "data": {"name": "n._id", "type": 4, "type_desc": "ATTR", "values": ["U1", "U2", "U3"]}, "type": "ATTR"}
alias()
通过别名名称获取数据。
参数:
str
:别名名称。
返回值:
DataItem
:获取到的数据。
response = Conn.uql("find().nodes() as n return n._id, n._uuid limit 3")
print(response.alias('n._uuid').toJSON())
UQL语句返回n._id
和n._uuid
两个别名;alias()
方法根据n._uuid
的别名名称获取数据。
{"alias": "n._uuid", "data": {"name": "n._uuid", "type": 4, "type_desc": "ATTR", "values": [1, 2, 3]}, "type": "ATTR"}