修改密码

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

搜索
    中文

      RETURN

      RETURN 可以对别名进行函数运算,将多个返回值组装到一起返回给用户。返回值不同源时不进行裁剪。

      语法:return <expression> as <alias>, <expression> as <alias>, ...
      参数:

      • <expression>:返回值
      • <alias>:返回值的别名,可省略

      RETURN 子句通常出现在 UQL 语句的末尾,个别情况时其后可以出现 ORDER BY、LIMIT、SKIP。在 RETURN 子句中对某别名进行去重操作时,不影响其同源别名的长度。

      关于 RETURN 子句中如何指定 NODE、EDGE、PATH 结构所携带的属性,请阅读《查询》-《别名系统》一文。

      find().nodes() as n1 limit 5
      n(3).e()[2].n(as n2) as path
      return n1, pnodes(path), distinct(n2.color)
      

      上面 UQL 代码中的 RETURN 子句中有三个返回值,数据结构分别为 NODE,ARRAY,ATTR;第一个返回值与后两个返回值不同源;尽管后两个返回值是同源的,但由于是在 RETURN 子句中,第三个返回值的去重操作没有影响到第二个返回值的数据行:

      返回 NODE

      示例:返回 10 个点的全部属性值

      find().nodes() as n
      limit 10
      return n{*} 
      

      示例:获取 50 个 @card 或 @customer 点,携带 balance、level

      find().nodes({@card || @customer}) as n
      limit 50
      return n{balance, level}
      

      分析:@card 点有 balance、level 两种属性,@customer 点只有 level。返回值仅携带其自身具有的属性。

      返回 EDGE

      示例:返回 50 条边,不携带任何自定义属性

      find().edges() as e
      limit 50
      return e
      

      返回 PATH

      示例:返回 10 条三步路径,不携带点、边的任何自定义属性

      n().e()[3].n() as p
      limit 10
      return p 
      

      示例:返回 10 条顾客的银行卡之间的一步转账路径,携带 balance 和 time

      n({@customer}).e().n({@card})
        .e().n({@card})
        .e().n({@customer}) as p
      limit 10
      return p{balance}{time} 
      

      分析:返回值仅携带其自身具有的属性。@card 点将携带 balance,@transfer 边将携带 time,所有点、边均携带系统属性及 schema。

      示例:返回 10 条顾客的银行卡之间的一步转账路径,所有点携带全部属性,所有边不携带任何自定义属性

      n({@customer}).e().n({@card})
        .e().n({@card})
        .e().n({@customer}) as p
      limit 10
      return p{*}{} 
      

      示例:返回 10 条顾客的银行卡之间的一步转账路径,所有点、边携带全部属性

      n({@customer}).e().n({@card})
        .e().n({@card})
        .e().n({@customer}) as p
      limit 10
      return p{*}
      

      返回 ATTR

      示例:获取 100 条边,返回它们的 schema 名称、amount(如有)

      find().edges() as e
      limit 100
      return e.@, e.amount
      

      分析:没有 amount 的边在返回值 e.amount 中将返回空值。

      示例:统计所有银行卡余额的最大值

      find().nodes({@card}) as n
      return max(n.balance)
      

      返回 ARRAY

      示例:获取 10 个银行卡,将卡号聚合为数组并返回

      find().nodes({@card}) as n
      limit 10
      return collect(n._id)
      

      返回 TABLE

      示例:获取 10 条转账边,将边的起点卡号、终点卡号、转账金额合并为表格并返回

      n(as n1).e({@transfer} as e).n(as n2)
      limit 10
      return table(n1._id, n2._id, e.amount)
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写