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.
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

Apply New License

License Detail

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

The MAC address of the server you want to deploy.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Applied Validity Period(days)
Effective Date
Excpired Date
Mac Address
Apply Comment
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
  • Country:
  • Language:
Change Password
Apply

You have no license application record.

Apply
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

Product Created On ID Amount (USD) Invoice
Product Created On ID Amount (USD) Invoice

No Invoice

v4.5
Search
    Français
    v4.5

      Upsert

      Vue d'ensemble

      La clause upsert().into() facilite soit la mise à jour des nodes ou edges existants au sein d'un unique schema, soit l'insertion de nouveaux nodes ou edges.

      Syntaxe

      // Mettre à jour ou insérer des nodes
      upsert().into(@<schema>).nodes([
        {<property1>: <value1>, <property2>: <value2>, ...},
        {<property1>: <value1>, <property2>: <value2>, ...}
      ])
      
      // Mettre à jour ou insérer des edges
      upsert().into(@<schema>).edges([
        {<property1>: <value1>, <property2>: <value2>, ...},
        {<property1>: <value1>, <property2>: <value2>, ...}
      ])
      
      • Spécifiez un schema dans la méthode into().
      • Incluez un ou plusieurs nodes ou edges dans la méthode nodes() ou edges().
        • Fournissez des paires clé-valeur de properties pour chaque node ou edge entre { }.
        • S'il n'y a qu'un seul node ou edge, les [ ] externes peuvent être omis.
      • Permet la définition d'un alias pour la clause, avec le type de données étant soit NODE soit EDGE.

      Lorsque un node ou un edge est mis à jour :

      • Le node ciblé est spécifié par son _id et/ou _uuid; l'edge ciblé est spécifié par son _uuid, _from et _to (ou _from_uuid et _to_uuid)
      • Les valeurs des propriétés personnalisées fournies seront mises à jour; les valeurs des propriétés personnalisées manquantes resteront inchangées.
      • Les valeurs des propriétés système (_id, _uuid, _from, _to, _from_uuid, _to_uuid) restent inchangées.

      Un nouveau node est inséré lorsqu'un nouvel _id ou _uuid est fourni, ou lorsque à la fois _id et _uuid manquent.

      Un nouvel edge est inséré lorsqu'un nouvel _uuid est fourni, ou lorsque _uuid est manquant.

      Exemple de Graph

      Exécutez ces UQLs ligne par ligne dans un graphset vide pour créer ce graph :

      create().node_schema("user").edge_schema("follow")
      create().node_property(@user, "name").node_property(@user, "age", int32).edge_property(@follow, "time", datetime)
      insert().into(@user).nodes([{_id:"U001", _uuid:1, name:"Jason", age:30}, {_id:"U002", _uuid:2, name:"Tim"}, {_id:"U003", _uuid:3, name:"Grace", age:25}, {_id:"U004", _uuid:4, name:"Ted", age:26}])
      insert().into(@follow).edges([{_uuid:1, _from_uuid:4, _to_uuid:1, time:"2021-9-10"}, {_uuid:2, _from_uuid:3, _to_uuid:2, time:"2020-3-12"}, {_uuid:3, _from_uuid:4, _to_uuid:2, time:"2023-7-30"}])
      

      Exemples

      Mettre à jour ou insérer des Nodes

      upsert().into(@user).nodes([
        {_id: "U001", name: "John"},
        {_id: "U005", name: "Alice"},
        {age: 12}
      ]) as n
      return n{*}
      
      • Le premier node avec l'_id fourni U001 existe dans le graph, donc il est mis à jour.
      • Le second est un nouveau node à insérer, comme l'_id fourni U005 n'existe pas dans le graph.
      • Le troisième est un nouveau node à insérer, comme à la fois _id et _uuid manquent.

      Résultat:

      _id
      _uuid name age
      U001 1 John 30
      U005 5 Alice null
      ULTIPA8000000000000006 6 null 12

      Mettre à jour ou insérer des Edges

      upsert().into(@follow).edges([
        {_uuid: 1, _from: "U004", _to: "U001", time: "2022-9-12"},
        {_uuid: 4, _from: "U002", _to: "U003"},
        {_from: "U002", _to: "U001", time: "2023-9-6"}
      ]) as e
      return e{*}
      
      • Le premier edge avec le _uuid fourni 1, _from U004, et _to U001 existe dans le graph, donc il est mis à jour.
      • Le second est un nouvel edge à insérer, comme le _uuid fourni 4 n'existe pas dans le graph.
      • Le troisième est un nouvel edge à insérer, car _uuid est manquant.

      Résultat:

      _uuid _from _to
      _from_uuid
      _to_uuid
      time
      1 U004 U001 4 1 2022-09-12 00:00:00
      4 U002 U003 2 3 null
      5 U002 U001 2 1 2023-09-06 00:00:00

      Raisons Courantes d'Échec

      • La mise à jour ou l'insertion du node échoue lorsque à la fois _id et _uuid sont fournis, qu'une de leurs valeurs existe dans le graph tandis que l'autre n'existe pas.
      • La mise à jour ou l'insertion du node échoue lorsque _id et _uuid sont fournis, qu'ils existent tous les deux dans le graph mais qu'ils ne correspondent pas.
      • La mise à jour ou l'insertion de l'edge échoue lorsque le node de départ ou d'arrivée n'est pas spécifié.
      • La mise à jour ou l'insertion de l'edge échoue lorsque le node de départ ou d'arrivée spécifié n'existe pas dans le graph.
      • La mise à jour de l'edge échoue lorsque le _uuid existant donné ne correspond pas avec le node de départ et d'arrivée donnés.
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写