修改密码

请输入密码
请输入密码 请输入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

v4.5
搜索
    v4.5

      执行UQL

      本节为您介绍如何在UQL语句中使用Connection对象的uql()方法和uqlStream()方法查询数据库。

      每个示例主要展示如何使用所列方法。点击完整示例.

      UQL是全面操作嬴图数据库的专用语言。更多UQL的详细信息,请参阅本文档.

      Uql()

      在当前图集或数据库上执行UQL查询语句并返回查询结果。

      参数:

      • string:待执行的UQL查询语句。
      • RequestConfig(可选):请求的配置。如果填入nil,函数将使用默认的配置。

      返回值:

      • Response:请求的结果。
      • error:包含发生问题详细信息的错误对象。如果操作成功,则返回 nil

      // 获取图集miniCircle中@movie下的5个点并打印其信息
      
      requestConfig := &configuration.RequestConfig{
        UseMaster: true,
        GraphName: "miniCircle",
      }
      
      query, _ := conn.Uql("find().nodes({@movie}) as n return n{*} limit 5", requestConfig)
      nodeList, schemaList, _ := query.Alias("n").AsNodes()
      printers.PrintNodes(nodeList, schemaList)
      

      +-----+------+--------+--------------------------+------------------------+------+--------+
      | ID  | UUID | Schema |           name           |         genre          | year | rating |
      +-----+------+--------+--------------------------+------------------------+------+--------+
      | m_1 | 1001 | movie  | The Shawshank Redemption |      crime drama       | 1994 |  9.7   |
      | m_2 | 1002 | movie  |  Farewell My Concubine   |   drama romance LGBT   | 1993 |  9.6   |
      | m_3 | 1003 | movie  |       Forrest Gump       |     drama romance      | 1994 |  9.5   |
      | m_4 | 1004 | movie  |          Léon           |   drama action crime   | 1994 |  9.4   |
      | m_5 | 1005 | movie  |         Titanic          | drama romance disaster | 1997 |  9.4   |
      +-----+------+--------+--------------------------+------------------------+------+--------+
      

      更多示例,请参阅嬴图数据与Go类型映射.

      UQLStream()

      在当前图集或数据库上执行UQL查询语句并以增量形式返回查询结果。在处理大型数据集时,无需立刻加载所有数据至内存中。

      参数:

      • string:待执行的UQL查询语句。
      • RequestConfig(可选):请求的配置。如果填入nil,函数将使用默认的配置。

      返回值:

      • UQLResponseStream:请求的结果。
      • error:包含发生问题详细信息的错误对象。如果操作成功,则返回 nil

      // 获取图集miniCircle的1步路径
      
      requestConfig := &configuration.RequestConfig{
        UseMaster: true,
        GraphName: "miniCircle",
      }
      
      stream, err := conn.UQLStream("n().e().n() as paths return paths{*}", requestConfig)
      
      if err != nil {
        println(err)
      }
      
      count := 0
      
      for true {
        resp, err := stream.Recv(true)
        if err != nil {
          println("End")
        }
        if resp != nil {
          printers.PrintStatistics(resp.Statistic)
          paths, err := resp.Get(0).AsPaths()
          if err != nil {
            println(err)
          }
          count += len(paths)
          println("Count = ", count)
        } else {
          break
        }
      }
      stream.Close()
      

      Total Cost : 0.029s | Engine Cost : 0.001s 
      Count =  1250
      Total Cost : 0.029s | Engine Cost : 0.001s 
      Count =  1390
      End
      

      完整示例

      package main
      
      import (
        "github.com/ultipa/ultipa-go-sdk/sdk"
        "github.com/ultipa/ultipa-go-sdk/sdk/configuration"
        "github.com/ultipa/ultipa-go-sdk/utils"
      )
      
      func main() {
      
        // 设置连接
        //URI 示例: hosts="mqj4zouys.us-east-1.cloud.ultipa.com:60010"
        config, _ := configuration.NewUltipaConfig(&configuration.UltipaConfig{
          Hosts:    []string{"192.168.1.85:60061", "192.168.1.86:60061", "192.168.1.87:60061"},
          Username: "***",
          Password: "***",
        })
      
        // 建立与数据库的连接
        conn, _ := sdk.NewUltipa(config)
      
        // 配置请求
        requestConfig := &configuration.RequestConfig{
          UseMaster: true,
          GraphName: "miniCircle",
        }
      
        // 获取10个点并打印返回的第一个点的_id和name属性值
        query, _ := conn.Uql("find().nodes({@movie}) as n return n{*} limit 10", requestConfig)
        nodeList, _, _ := query.Alias("n").AsNodes()
        println(utils.JSONString(nodeList[0].GetID()))
        println(utils.JSONString(nodeList[0].Values.Get("name")))  
      }
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写