修改密码

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

搜索
    中文

      别名系统

      别名与数据结构

      别名,英文是 alias,用来对 UQL 执行过程中产生的数据流进行命名,使其可以被后面的语句调用。

      别名可以代表的 6 种数据结构:

      数据结构
      别名定义举例
      句中别名
      数据结构示例
      NODE n(as nodes).e().n() nodes {id: , uuid: , schema: , values: {...}}
      EDGE n().e({time > prev_e.time})[3].n() prev_e {uuid: , schema: , from: , from_uuid: , to: , to_uuid: , values: {...}}
      PATH n().e().n() as paths paths {nodes: [<NODE>, <NODE>, ...], edges: [<EDGE>, <EDGE>, ...]}
      ATTR uncollect ["Alice","Paal"] as name
      uncollect ["1993-06-12","1989-03-26"] as birthday
      name
      birthday
      无内部结构的原子型数据,如字符串,数字等
      ARRAY n().e()[3].n() as paths
      with pedges(paths) as edgeUUIDs

      edgeUUIDs
      [<ATTR>, <ATTR>, ...]
      TABLE uncollect ["Alice","Paal"] as name
      uncollect ["1993-06-12","1989-03-26"] as birthday
      with table(name, birthday) as record


      record
      {headers: [], table_rows: [<ARRAY>, <ARRAY>, ...]}

      UQL 执行过程中如果有数据流未定义别名,或者定义了别名但未使用,可能会影响语句的合法性。在编写 UQL 语句时请避免遗漏定义别名或定义冗余别名。

      自定义别名

      自定义别名由开发者通过别名关键词 as 进行定义。上面表格中出现的 nodespathsnamebirthdayedgeUUIDs 以及 record 都是自定义别名。

      一个 UQL 语句中的不同查询、运算结果不允许重名,其尽量避免与同一语句中要使用的点或边的属性名重名,若无法避免,必要时可使用系统别名 this 消除歧义。

      • 1 ~ 64 个字符
      • 不能以波浪号 '~' 开头
      • 不能包含反单引号 '`'
      • 不能与《背景知识》中列出的所有保留字重复
      • (别名中含有除数字、字母、下划线之外的字符时,在 UQL 语句中使用时需要用反引号(`)包裹)

      自定义别名的数据结构:NODE,EDGE,PATH,ATTR,ARRAY,TABLE

      自定义别名的生命周期:别名定义后的任何地方。

      系统别名

      系统别名是系统默认的别名,无需定义,可直接使用。系统别名有三个:

      系统别名
      含义
      数据结构
      生命周期
      this 当前点/边 NODE 或 EDGE 所有查询语句的点、边参数过滤器中
      prev_n 当前点/边的前一个点 NODE 基础模板内的过滤器中
      prev_e 当前点/边的前一个边 EDGE 基础模板内的过滤器中

      更多介绍见《路径与子图模板》-《prev_n》、《路径与子图模板》-《prev_e》。

      在实际应用中,this 的使用相对较少,通常仅用于消除歧义;歧义是指点、边的属性名称和自定义别名重复,此时若要引用当前点、边的属性,则必须使用 this

      ... as balance
      find().nodes({this.balance > 5000})
      

      注:本例中 nodes() 中的 this.balance 表示当前节点的属性 balance;由于其前一句中定义的别名 balance 在当前语句内有效,如果在 nodes() 中直接使用 balance 则会与点属性 balance 的含义相冲突,因此需使用 this

      别名调用

      假设别名 nodesedgespathsattrarraytable 的结构分别为 NODE,EDGE,PATH,ATTR,ARRAY 和 TABLE,有如下调用形式:

      调用格式
      调用结构
      调用位置 调用内容
      nodes NODE 在任何位置调用 点,不携带任何自定义属性
      nodes.<property> ATTR 在任何位置调用 点的某个属性(属性不存在时,调用结果为null
      nodes.@ ATTR 在任何位置调用 点的 schema
      nodes{<property>, ...} NODE 在 RETURN 子句中调用 点,携带若干自定义属性
      nodes{*} NODE 在 RETURN 子句中调用 点,携带全部自定义属性
      edges EDGE 在任何位置调用 边,不携带任何自定义属性
      edges.<property> ATTR 在任何位置调用 边的某个属性(属性不存在时,调用结果为null
      edges.@ ATTR 在任何位置调用 边的 schema
      edges{<property>, ...} EDGE 在 RETURN 子句中调用 边,携带若干自定义属性
      edges{*} EDGE 在 RETURN 子句中调用 边,携带全部自定义属性
      paths PATH 在任何位置调用 路径,其中的点、边不携带任何自定义属性
      paths{<property>, ...}{<property>, ...} PATH 在 RETURN 子句中调用 路径,其中的点、边各自携带若干自定义属性
      paths{*}{<property>, ...} PATH 在 RETURN 子句中调用 路径,其中的点携带全部自定义属性,边携带若干自定义属性
      paths{<property>, ...}{*} PATH 在 RETURN 子句中调用 路径,其中的点携带若干自定义属性,边携带全部自定义属性
      paths{*} PATH 在 RETURN 子句中调用 路径,其中的点、边携带全部自定义属性
      attr ATTR 在任何位置调用 原子型数据本身
      array ARRAY 在任何位置调用 数组本身
      array[n] ATTR 在任何位置调用 数组中下标为 n 的元素
      array[n1:n2] ARRAY 在任何位置调用 由下标为 n1~n2 的元素构成的数组
      array[:n] ARRAY 在任何位置调用 由下标为 0~n 的元素构成的数组
      array[n:] ARRAY 在任何位置调用 由下标为 n~<长度-1> 的元素构成的数组
      table TABLE 在 RETURN 子句中调用 表格本身

      RETURN 子句中的 NODE、EDGE、PATH 结构默认携带点、边的 schema 及系统属性(_uuid, _id, _from, _to, _from_uuid, _to_uuid)。

      更多关于 RETURN 子句的使用请阅读《数据流|子句》。

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