修改密码

请输入密码
请输入密码 请输入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 先根据过滤条件找出待修改的点、边,再修改其属性。除了唯一标识 _id_uuid,其它属性均可以修改。

      语法:

      • 命令:update()
      • 参数:(见下表)
      • 语句别名:支持自定义别名,结构类型为 NODE 或 EDGE
      参数 类型 规范 描述 自定义别名结构类型
      nodes()edges() filter Ultipa 过滤器,必填 点或边的过滤条件 不支持自定义别名
      set() obj 必填 要修改的属性键值对组成的对象 不支持自定义别名
      limit() int > 0 要修改的点或边的数量 不支持自定义别名

      修改操作会增加图集中的无效数据,影响数据查询的效率,建议定期对图集进行碎片整理,详见上一章内容《图集》篇的 compact() 命令。

      不建议在算法流式返回之后进行更新操作,详见《Ultipa 图分析与图算法》-《算法的使用》-《执行方式》-流式返回 stream() 的相关说明。

      修改点(node)数据

      // 修改当前图集中的点数据
      update().nodes(<filter>)
        .set({<property1> : <value1>, <property2> : <value2> ...})
        .limit(<N>)
      

      示例:修改银行卡 C001 的余额为 300

      update().nodes({_id == "C001"})
        .set({balance: 300})
      

      示例:修改所有银行卡的积分为“余额 × 级别”

      update().nodes({@card})
        .set({score: balance * level})
      

      示例:将 5000 张 2 级以下但余额超过 200,000 的银行卡升一级

      update().nodes({@card && level < 2 && balance > 200000})
        .set({level: level + 1})
        .limit(5000)
      

      分析:内存紧张或数据量过大时,可使用 limit() 参数限制处理的数据量,分批进行处理。

      修改边(edge)数据

      修改边的端点 _from_to_from_uuid_to_uuid 时,新的端点必须已经存在于图系统中,否则会导致操作失败;修改起点 _from 时,系统会自动修改 _from_uuid,反之亦然,修改终点时同理;同时修改 _from_from_uuid时,如果二者不符合图集中的对应关系,系统以 _from_uuid 为准,同时修改 _to_to_uuid 时同理。

      // 修改当前图集中的边数据
      update().edges(<filter>)
        .set({<property1> : <value1>, <property2> : <value2> ...})
        .limit(<N>)
      

      示例:修改交易 TRX001 的金额为 100

      update().edges({@transaction.no == "TRX001"})
        .set({amount: 100})
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写