修改密码

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

修改昵称

当前昵称:
提交

??certificate-table.title_zh_CN??

??certificate-table.name_zh_CN?? ??certificate-table.issued-at_zh_CN?? ??certificate-table.valid-until_zh_CN?? ??certificate-table.serial_zh_CN?? ??certificate-table.actions_zh_CN??
??certificate-table.serial_zh_CN?? ??certificate-table.valid-until_zh_CN?? ??certificate-table.actions_zh_CN??

??certificate-table.no-data.p1_zh_CN?? ??certificate-table.no-data.p2_zh_CN??

??invoice-table.title_zh_CN??

??invoice-table.name_zh_CN?? ??invoice-table.create-time_zh_CN?? ??invoice-table.id_zh_CN?? ??invoice-table.price_zh_CN?? ??invoice-table.actions_zh_CN??
??invoice-table.name_zh_CN?? ??invoice-table.create-time_zh_CN?? ??invoice-table.id_zh_CN?? ??invoice-table.price_zh_CN?? ??invoice-table.actions_zh_CN??
v4.3
搜索
    中文EN
    v4.3

      简介

      什么是 UQL

      UQL 全称 Ultipa Graph Query Language,是 Ultipa 图数据库专用的高性能查询与管理语言,其极低的学习成本能让使用者快速上手操作 Ultipa 图系统。

      UQL 支持对图数据的添加、删除、修改、查询(元数据查找、路径查找、子图匹配)、图集管理、schema 管理、属性管理、索引管理、各类任务管理、权限管理等功能。

      可通过 Ultipa CLI(命令行工具)、Ultipa Manager(高可视化数据库查询与管理工具)及 Ultipa Drivers(SDK、APIs等规范)对 UQL 进行调用。

      UQL 的设计优势

      基于对图的深度理解并结合工业界对图的高维性、扩展性等需求,UQL 采用了与人脑思维模式一致的语义组装逻辑,在设计上具有以下优势:

      • 对点、边、路径、表格等高级数据结构的清晰定义
      • 对上述数据结构的轻松查询、计算、组装与返回
      • 对图查询所需的复杂过滤条件的简洁描述
      • 易读,易写,易学的语法结构

      UQL 的设计优势天然解决了 SQL-like 语言的无法表达高维数据、关联数据查询复杂低效、代码难理解、维护难度高等问题。

      为适应广大开发者的编程习惯,UQL 具备 DQL、DDL、DML、DCL 的语法特性:

      • DQL(Data Query Language):数据查询语法,如点、边、路径的查询;
      • DDL(Data Definition Language):数据定义语法,如增删图集、修改 schema、定义属性、创建索引等;
      • DML(Data Manipulation Language):数据操纵语法,如对图集的元数据等内容进行增、删、改;
      • DCL(Data Control Language):数据访问控制语法,主要用于设置数据库的权限,如用户管理、角色管理、赋权与撤销等。

      作为图查询语言,UQL 在整体功能与兼容性上将和 GQL 国际标准保持同步。该标准的制定工作由 LDBC(Linked Data Benchmark Council,国际关联数据基准委员会)主导,预计将在 2024 年推出。

      Ultipa 团队作为 LDBC 成员全程参与图查询语言 GQL 标准的制定。

      UQL 的构成

      UQL 的编写通常包含链式表达、语义组装、别名调用三个方面。其所采用的函数式风格能满足复杂的数据处理需求,提供无限的语义扩展空间。

      以下为一个典型的 UQL 示例:

      n({_id == "CA001"}).e({time > prev_e.time})[3].n(as target)
      group by target.level with count(target) as quantity
      order by quantity desc
      return target.level, quantity limit 10

      说明:

      • 链式语句:即示例中的 n(...).e(...)[3].n(...),风格为 [命令].[参数].[参数]…,用来增、删、改、查, 一个 UQL 语句可以包含多个链式语句;
      • 子句:即示例中的 group by ...with ...order by ...return ...limit ...,用来加工和组装前面得到的结果;
      • 自定义别名:即示例中的 targetquantity,用来在语句间进行数据调用,需使用关键词 as 先定义再调用;
      • 系统别名:即示例中的 prev_e,用来在模板内部进行数据调用,无需定义直接使用;
      • 函数:即示例中的 count(...),用来对得到的结果进行运算,需要写在子句中;
      • UQL 语句中支持转义符 \、制表符 \t、回车换行符 \r\n 以及注释符 ///**/

      版本更新(V4.3)

      服务器:

      • 重构了 EXTA
      • 新增了服务器启动参数 -restore 用于支持从备份文件路径恢复数据
      • Server.config 的参数 private_addrpublic_addr 支持域名
      • 新增 proto 接口 ListData, is_null tag, Backup, Property 新增 sub_types

      UQL 新特性:

      • 新增了属性类型 pointlist (string[], text[], int32[], uint32[], int64[], uint64[], float[], double[], timestamp[], datetime[])
      • 支持属性值 null 及其相关运算
      • 聚合运算函数忽略 null
      • 新增函数 IS NULL, IS NOT NULL, point(), distance(), listContains()
      • 新增去重操作符 DISTINCT
      • 命令 find()、khop() 支持前缀关键词 OPTIONAL

      UQL 修改:

      • 函数名称变化:
        • distinct() -> dedup()
      • 函数 collect() 收集点、边、路径的全部信息
      • 别名数据结构去掉 ARRAY,将 list 类型合并至 ATTR
      • 插入数据时未提供的属性、插入数据后创建的属性值为 null
      • 重构了前缀关键词 EXPLAIN、PROFILE

      Ultipa 图操作语言 Ultipa 团队发明并设计。

      文件许可:Creative Commons 4.0

      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写