修改密码

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

搜索
    中文

      查询机制

      结构化的 UQL 语句输送给 Ultipa Server 后会进行自动解析、优化,再分配给高性能图计算引擎进行图查询,查询后的结果在执行完其余的处理、组装后最终返回给用户。

      本节会从整体介绍 UQL 的查询、别名、返回机制,目的在于给使用者一个大体的认识。如果在阅读过程中存在疑惑,请继续向下阅读,在后面的章节中,会对每一部分做详细介绍。

      UQL 基本结构

      观察下面这个 UQL 示例:

      find().nodes() as target
      return target.name, target.age limit 10

      其中:

      • find().nodes() 发起点查询的操作
      • as target 定义别名,将点查询的结果用别名 target 来表达
      • return target.name, target.age 组装两个返回值,一并返回给用户
      • limit 10 设置返回的数据量的上限,最多返回 10 条数据

      绿色部分 find().nodes() 是形式为[命令].[参数].[参数]... 的 链式查询,一个复杂的 UQL 语句中可以包含多个链式查询语句。本章后面将依次介绍各种查询命令及其参数的概念和用法。

      黄色部分 returnlimit子句关键词,子句可以对前面语句传来的结果进行各种运算及处理,关于子句关键词的详细介绍请阅读《数据流|子句》。

      红色部分 as别名关键词,用来给当前的结果定义别名,使这些结果能在后续的语句中被使用;别名是 UQL 语句各部分协同工作的纽带。

      前缀词

      前缀词可以写在某个链式查询语句之前、或整个 UQL 语句之前,用于增强查询功能、或实现查询之外的功能。UQL 目前支持以下前缀词:

      前缀词
      解释
      作用域
      OPTIONAL 检查当前链式查询语句的每一次执行结果,对任何无结果的情况返回一个伪点、伪边或伪路径(见各查询命令章节的示例) 当前链式查询
      EXPLAIN 不执行 UQL 语句,仅返回语句间(链式查询、子句)的执行逻辑 整个 UQL 语句
      PROFILE 执行 UQL,且返回语句间(链式查询、子句)的执行逻辑与每个语句的耗时(time_cost) 整个 UQL 语句
      DEBUG 执行 UQL,且返回每个执行步骤的调用次数(call_time)与耗时(time_cost) 整个 UQL 语句
      EXEC TASK 执行 UQL,且将语句发送至分析节点(见《任务》-《分析节点》) 整个 UQL 语句

      前缀词均为大小写不敏感。

      • EXPLAIN 示例:
      explain n({@movie} as movies).e({@filmedIn}).n({@country.name == "US"}) as paths  
      group by  movies.genre 
      return movies.genre, count(movies)
      
      • PROFILE 示例:
      profile n({@movie} as movies).e({@filmedIn}).n({@country.name == "US"}) as paths  
      group by  movies.genre 
      return movies.genre, count(movies)
      
      • DEBUG 示例:
      debug n({@movie} as movies).e({@filmedIn}).n({@country.name == "US"}) as paths  
      group by  movies.genre 
      return movies.genre, count(movies)
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写