Change Password

Please enter the password.
Please enter the password. Between 8-64 characters. Not identical to your email address. Contain at least 3 of uppercase, lowercase, numbers, and special characters (such as @*&#).
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

v4.2
Search
中文EN
v4.2

    Upsert

    Upsert means to update values of properties other than UUID and ID; only properties carried in the data will be updated, while those are not will remain unchanged.

    Upsert will insert or update one or multiple nodes/edges in the current graphset:

    • Upsert nodes: the operation upserts the data record when specifying either a UUID or an ID that already exists in the GraphSet, or when specifying a UUID-ID pair that exists and obeys the mapping relationship; the operation fails when specifying a UUID-ID pair that violates the mapping relationship in the GraphSet; the operation inserts the data record when specifying a UUID or an ID or a UUID-ID pair that does not exist in the GraphSet, or when not specifying any of them at all.
    • Upsert edges: the operation upserts the data record when specifing a UUID that already exists in the GraphSet; the operation inserts the data record when specifying a UUID that does not exist in the GraphSet, or when not specifying the UUID; the operation fails when the start/end node of edge is not included or not existent.

    It is not suggested to execute upsert operation after streaming return of an algorithm, see details on stream() in document Ultipa Graph Analytics & Algorithms - Using Algorithms - Execution Method.

    Syntax:

    • Statement alias supported (NODE or EDGE type)

    // To upsert nodes of a certain schema in the current graphset
    upsert().into(@<schema>)
      .nodes([				// Square brackets can be omitted if upsert only one node
        {<property1>:<value1>, <property2>:<value2>, ...},
        {<property1>:<value1>, <property2>:<value2>, ...},
        ...
      ])
      
    // To upsert edges of a certain schema in the current graphset, must carry _from and _to, or must carry _from_uuid and _to_uuid
    upsert().into(@<schema>)
      .edges([				// Square brackets can be omitted if upsert only one edge
        {<property1>:<value1>, <property2>:<value2>, ...},
        {<property1>:<value1>, <property2>:<value2>, ...},
        ...
      ])
    

    Example: Given an account U001 with name "test", update the account if it already exists, otherwise insert the account; check the account information after the operation

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

    Example: Update transaction edge of UUID = 1 with transaction No. TRX001 and from C001 to C003, or insert such an edge if not existing; insert another transaction edge with No. TRX003 and from C003 to C001 in the same UQL

    upsert().into(@transaction)
      .edges([
      	{no: "TRX001", _from: "C001", _to: "C003", _uuid: 1},
      	{no: "TRX003", _from: "C003", _to: "C001"}
    ])
    
    Please complete the following information to download this book
    *
    公司名称不能为空
    *
    公司邮箱必须填写
    *
    你的名字必须填写
    *
    你的电话必须填写
    *
    你的电话必须填写