修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

v5.0
搜索
    v5.0

      结果处理

      本文介绍如何在应用中处理和使用数据库读写返回的结果。

      返回Response

      有些方法(如gql()uql())返回一个Response对象。为在应用中使用其包含的数据,首先要从Response对象提取DataItem,再将DataItem转换成一个合适的驱动数据结构

      一个Response对象有以下属性:

      属性
      类型
      描述
      aliases List[Alias] 结果别名列表;每个Alias包括属性alias(别名名称)和result_type(结果类型)
      items Dict[str, DataIem] 一个字典,str键是别名名称,DataItem值是别名代表的数据
      explainPlan List[ExplainPlan] 执行计划列表
      status Status 执行状态,包括属性codemessage
      statistics Statistics 执行的统计信息,包括属性nodeAffectededgeAffectedtotalCostengineCost

      提取DataItem

      使用get()alias()方法从一个Response对象提取DataItem.

      一个DataItem对象有以下属性:

      属性
      类型
      描述
      alias str 别名名称
      type str 结果类型
      entities list 结果数据列表

      get()

      通过别名索引获取数据。

      参数

      • int:别名索引。

      返回值

      • DataItem:获取到的数据。

      response = Conn.gql("MATCH (n)-[e]->() RETURN n, e LIMIT 3")
      print(response.get(0).toJSON())
      

      GQL语句返回ne两个别名;get()方法获取与索引为0的别名n对应的DataItem

      {"alias": "n", "entities": [{"uuid": 72059793061183504, "id": "ULTIPA800000000000003B", "schema": "account", "values": {"gender": "female", "industry": "Publishing", "name": "Velox", "year": 1976}}, {"uuid": 648520545364606993, "id": "ULTIPA800000000000003E", "schema": "account", "values": {"gender": "female", "industry": "Food&Beverage", "name": "Claire", "year": 1989}}, {"uuid": 720578139402534937, "id": "ULTIPA8000000000000050", "schema": "account", "values": {"gender": "male", "industry": "Education", "name": "Holly", "year": 2000}}], "type": "NODE"}
      

      alias()

      通过别名名称获取数据。

      参数

      • str:别名名称。

      返回值

      • DataItem:获取到的数据。

      response = Conn.gql("MATCH (n)-[e]->() RETURN n, e LIMIT 3")
      print(response.alias("e").toJSON())
      

      GQL语句返回ne两个别名;alias()方法获取别名e对应的DataItem

      {"alias": "e", "entities": [{"schema": "agree", "uuid": 139, "fromId": "ULTIPA800000000000000E", "toId": "ULTIPA800000000000000D", "fromUuid": 6269012880322985990, "toUuid": 7998395137233256453, "values": {"targetPost": 905, "timestamp": 1572662452, "datetime": "2019-11-02 18:40:52"}}, {"schema": "agree", "uuid": 167, "fromId": "ULTIPA800000000000000E", "toId": "ULTIPA800000000000000F", "fromUuid": 6269012880322985990, "toUuid": 8214567919347040263, "values": {"targetPost": 1419, "timestamp": 1554431053, "datetime": "2019-04-05 18:24:13"}}, {"schema": "agree", "uuid": 15, "fromId": "ULTIPA8000000000000065", "toId": "ULTIPA8000000000000067", "fromUuid": 6629300850512625701, "toUuid": 5764609722057490465, "values": {"targetPost": 1374, "timestamp": 1552775174, "datetime": "2019-03-17 14:26:14"}}], "type": "EDGE"}
      

      转换DataItem

      使用一个as<DataStructure>()方法将DataItem.entities转换成对应的驱动数据结构

      例如,以下请求中的GQL语句从图中获取三个点,asNodes()方法将与别名n对应的DataItem转换成一个Node对象列表:

      response = Conn.gql("MATCH (n) RETURN n LIMIT 3")
      nodeList = response.alias('n').asNodes()
      for node in nodeList:
          print(node.getID())
      

      以下是DataItem所有的转换方法。请留意每种方法适用的DataItem.typeDataItem.alias

      方法
      DataItem.type
      DataItem.alias
      返回
      描述
      asNodes() NODE 任何 List[Node] 转换成一个Node对象列表
      asFirstNode() NODE 任何 Node 将返回的第一个结果数据转换成一个Node对象
      asEdges() EDGE 任何 List[Edge] 转换成一个Edge对象列表
      asFirstEdge() EDGE 任何 Edge 将返回的第一个结果数据转换成一个Edge对象
      asGraph() GRAPH 任何 Graph 转换成一个Graph对象
      asGraphSets() TABLE _graph List[GraphSet] 转换成一个GraphSet对象列表
      asSchemas() TABLE _nodeSchema, _edgeSchema List[Schema] 转换成一个Schema对象列表
      asProperties() TABLE _nodeProperty, _edgeProperty List[Property] 转换成一个Property对象列表
      asTable() TABLE 任何 Table 转换成一个Table对象
      asAttr() ATTR 任何 Attr 转换成一个Attr对象
      asAlgos() TABLE _algoList List[Algo] 转换成一个Algo对象列表
      asExtas() TABLE _extaList List[Exta] 转换成一个Exta对象列表
      asIndexes() TABLE _nodeIndex, _edgeIndex, _nodeFulltext, _edgeFulltext List[Index] 转换成一个Index对象列表
      asPrivilieges() TABLE _privilege List[Priviliege] 转换成一个Priviliege对象列表
      asPolicies() TABLE _policy List[Policy] 转换成一个Policy对象列表
      asUsers() TABLE _user List[User] 转换成一个User对象列表
      asProcesses() TABLE _top List[Process] 转换成一个Process对象列表
      asJobs() TABLE _job List[Job] 转换成Job对象列表
      asHDCGraphs() TABLE _hdcGraphList List[HDCGraph] 转换成一个HDCGraph对象列表
      asProjections() TABLE _projectionList List[Projection] 转换成一个Projection对象列表
      asStats() TABLE license Stats 转换成一个Stats对象

      返回InsertResponse

      有些数据插入方法(如insertNodesBatchBySchema()insertNodesBatchAuto())返回一个InsertResponse对象。

      一个InsertResponse对象有以下属性:

      属性
      类型
      描述
      ids List[str] 插入的点_id列表;请留意,InsertRequestConfig.silentTrue时列表为空
      uuids List[int] 插入的边_uuid列表;请留意,InsertRequestConfig.silentTrue时列表为空
      errorItems Dict[int,str] 错误信息字典,键是发生错误的点或边的顺序索引,值是错误信息
      status Status 执行状态,包括属性codemessage
      statistics Statistics 执行的统计信息,包括属性nodeAffectededgeAffectedtotalCostengineCost

      返回驱动数据结构

      一些方法返回驱动数据结构的一个实例或一个列表,可直接使用。例如:

      • getGraph()方法返回一个GraphSet对象。
      • showGraph()方法返回一个GraphSet对象列表,即List[GraphSet]
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写