修改密码

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

修改昵称

当前昵称:
提交
搜索
v4.0
    v4.0

    插入更新

    介绍

    更新是指对除唯一标识符 ID 和 UUID 之外的属性进行更新,且仅对数据中携带的属性进行更新,未携带的属性不做任何操作。

    插入更新操作可以向当前图集中单一或批量地插入或更新点、边数据。

    • 更新点:需要指定图集中已存在的 UUID 或 ID,或同时指定符合在图集中的对应关系的 UUID 和 ID;如果同时指定了 UUID 和 ID 但不符合在图集中的对应关系,更新会失败;当指定的 UUID 和/或 ID 在图集中不存在,或者未指定 UUID 和 ID 时,执行插入操作。
    • 更新边:需要指定 UUID;如果指定的 UUID 在图集中不存在,或者未指定 UUID,执行插入操作;如果数据中未携带起点/终点,或起点/终点在图集中不存在,操作会失败。

    语法:

    • 命令:upsert().into(@<schema>)
    • 参数:nodes()edges(),不支持自定义别名
    • 语句别名:支持自定义别名,结构类型为 NODE 或 EDGE

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

    // 向当前图集的某个 schema 中插入或更新点数据
    upsert().into(@<schema>)
      .nodes([				//只插入更新一个点时可省略中括号
        {<property1>:<value1>, <property2>:<value2>, ...},
        {<property1>:<value1>, <property2>:<value2>, ...},
        ...
      ])
    
    // 向当前图集的某个 schema 中插入或更新边数据,必须携带 _from 和 _to,或必须携带 _from_uuid 和 _to_uuid
    upsert().into(@<schema>)
      .edges([				//只插入更新一个边时可省略中括号
        {<property1>:<value1>, <property2>:<value2>, ...},
        {<property1>:<value1>, <property2>:<value2>, ...},
        ...
      ])
    

    示例:有账户 U001 名称为 test,如果该账户已存在则更新原始数据,不存在则插入新数据;返回操作后该账户的信息

    upsert().into(@account)
      .nodes({_id: "U001", name: "test"}) as nodes
    return nodes{*}
    

    示例:用起始于 C001,结束于 C003 的交易 TRX001 更新 UUID 为 1 的交易,若原交易不存在则插入新交易;用同一条语句插入起始于 C003,结束于 C001 的交易 TRX003

    upsert().into(@transaction)
      .edges([
      	{no: "TRX001", _from: "C001", _to: "C003", _uuid: 1},
      	{no: "TRX003", _from: "C003", _to: "C001"}
    ])
    
    请完成以下信息后可下载此书
    *
    公司名称不能为空
    *
    公司邮箱必须填写
    *
    你的名字必须填写
    *
    你的电话必须填写
    *
    你的电话必须填写