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

      RETURN

      RETURN effectue des opérations fonctionnelles sur l'alias et assemble plusieurs valeurs de retour à renvoyer au client. Les valeurs de retour qui sont hétérologues ne seront PAS tronquées.

      Syntaxe : RETURN <expression> as <alias>, <expression> as <alias>, ...
      Entrées :

      • <expression> : Valeur de retour
      • <alias> : Alias de la valeur de retour, optionnel

      La clause RETURN est généralement la dernière instruction d'un UQL, mais peut également être suivie de ORDER BY, LIMIT ou SKIP. La dé-duplication d'un alias dans la clause RETURN n'affectera pas ses alias homologues.

      Par exemple, assembler 3 valeurs de retour, dont n1 est hétérologue avec les deux autres ; la dé-duplication sur n2.color n'affecte PAS pnodes(path), qui est homologue avec n2.color :

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

      Pour savoir comment désigner les propriétés à être portées par NODE, EDGE, ou PATH dans la clause RETURN, veuillez vous référer au Chapitre Query - Alias System.

      Exemple de graph : (à utiliser pour les exemples suivants)

      Exécutez les UQLs ci-dessous un par un dans un graphset vide pour créer des données de graph :

      create().node_schema("account").node_schema("movie").edge_schema("rate").edge_schema("wishlist")
      create().node_property(@*, "name").node_property(@account, "age", int32).node_property(@movie, "year", int32).edge_property(@rate, "score", int32)
      insert().into(@account).nodes([{_id:"S001", _uuid:1, name:"Pepe", age:24}, {_id:"S002", _uuid:2, name:"Lina", age:23}, {_id:"S003", _uuid:3, name:"Emma", age:26}])
      insert().into(@movie).nodes([{_id:"M001", _uuid:4, name:"Léon", year:1994}, {_id:"M002", _uuid:5, name:"Avatar", year:2009}])
      insert().into(@rate).edges([{_uuid:1, _from_uuid:1, _to_uuid:4, score:9}, {_uuid:2, _from_uuid:3, _to_uuid:5, score:8}])
      insert().into(@wishlist).edges([{_uuid:3, _from_uuid:2, _to_uuid:4}, {_uuid:4, _from_uuid:3, _to_uuid:4}])
      

      Return NODE

      Exemple : Transporter toutes les propriétés

      find().nodes({@account}) as n
      return n{*} 
      

      |-------- @account ---------|
      | _id  | _uuid | name | age |
      |------|-------|------|-----|
      | S001 | 1     | Pepe | 24  |
      | S002 | 2     | Lina | 23  |
      | S003 | 3     | Emma | 26  |
      

      Exemple : Transporter certaines propriétés personnalisées

      find().nodes() as n
      return n{name, year} 
      

      |------ @account -----|
      | _id  | _uuid | name |
      |------|-------|------|
      | S001 | 1     | Pepe |
      | S002 | 2     | Lina |
      | S003 | 3     | Emma |
      
      |----------- @movie -----------|
      | _id  | _uuid |  name  | year |
      |------|-------|--------|------|
      | M001 | 4     | Léon   | 1994 |
      | M002 | 5     | Avatar | 2009 |
      

      Analyse : NODE transporte uniquement les propriétés qu'il possède.

      Exemple : Transporter uniquement les propriétés système

      find().nodes({@movie}) as n
      return n 
      

      |--- @movie ---|
      | _id  | _uuid |
      |------|-------|
      | M001 | 4     |
      | M002 | 5     |
      

      Return EDGE

      Exemple : Transporter toutes les propriétés

      find().edges({@rate}) as e
      return e{*} 
      

      |------------------------ @rate -----------------------|
      | _uuid | _from | _to  | _from_uuid | _to_uuid | score |
      |-------|-------|------|------------|----------|-------|
      |   1   | S001  | M001 | 1          | 4        | 9     |
      |   2   | S003  | M002 | 3          | 5        | 8     |
      

      Exemple : Transporter uniquement les propriétés système

      find().edges() as e
      return e 
      

      |-------------------- @rate -------------------|
      | _uuid | _from | _to  | _from_uuid | _to_uuid |
      |-------|-------|------|------------|----------|
      |   1   | S001  | M001 | 1          | 4        |
      |   2   | S003  | M002 | 3          | 5        |
      
      |------------------ @wishlist -----------------|
      | _uuid | _from | _to  | _from_uuid | _to_uuid |
      |-------|-------|------|------------|----------|
      |   3   | S002  | M001 | 2          | 4        |
      |   4   | S003  | M001 | 3          | 4        |
      

      Return PATH

      Exemple : Transporter certaines propriétés personnalisées

      n({@account}).e({@rate}).n({@movie}) as p
      return p{name}{*}
      

      [
        {
          "nodes":[
            {"id":"S001","uuid":"1","schema":"account","values":{"name":"Pepe"}},
            {"id":"M001","uuid":"4","schema":"movie","values":{"name":"Léon"}}
          ],
          "edges":[
            {"uuid":"1","from":"S001","to":"M001","from_uuid":"1","to_uuid":"4","schema":"rate","values":{"score":"9"}}
          ],
          "length":1
        },
        {
          "nodes":[
            {"id":"S003","uuid":"3","schema":"account","values":{"name":"Emma"}},
            {"id":"M002","uuid":"5","schema":"movie","values":{"name":"Avatar"}}
          ],
          "edges":[
            {"uuid":"2","from":"S003","to":"M002","from_uuid":"3","to_uuid":"5","schema":"rate","values":{"score":"8"}}
          ],
          "length":1
        }
      ]
      

      Exemple : Transporter uniquement les propriétés système

      n({@movie}).e({@rate}).n({@account}).e({@wishlist}).n({@movie}) as p
      return p
      

      [
        {
          "nodes":[
            {"id":"M002","uuid":"5","schema":"movie","values":{}},
            {"id":"S003","uuid":"3","schema":"account","values":{}},
            {"id":"M001","uuid":"4","schema":"movie","values":{}}
          ],
          "edges":[
            {"uuid":"2","from":"S003","to":"M002","from_uuid":"3","to_uuid":"5","schema":"rate","values":{}},
            {"uuid":"4","from":"S003","to":"M001","from_uuid":"3","to_uuid":"4","schema":"wishlist","values":{}}
          ],
          "length":2
        }
      ]
      

      Return TABLE

      Exemple : Trouver le chemin à une étape @account-@movie, assembler le name des comptes et des films dans un tableau

      n({@account} as a).e({@wishlist}).n({@movie} as b)
      return table(a.name, b.name)
      

      | a.name | b.name |
      |--------|--------|
      | Lina   | Léon   | 
      | Emma   | Léon   | 
      

      Return ATTR - Atomique

      Exemple : Retourner les propriétés personnalisées des "nodes" de manière indépendante

      find().nodes() as n
      return n.name, n.age, n.year 
      

      Pepe
      Lina
      Emma
      Léon
      Avatar
      

      24
      23
      26
      null
      null
      

      null
      null
      null
      1994
      2009
      

      Analyse : Un null sera retourné lors de l'appel d'une propriété qui n'existe pas.

      Return ATTR - Liste

      Exemple : Assembler le name des voisins à 1 bond de chaque film dans une liste

      khop().n({@movie} as a).e().n() as b
      group by a
      return a.name, collect(b.name)
      

      Léon
      Avatar
      

      ["Pepe","Lina","Emma"]
      ["Emma"]
      

      Format de Retour Valide

      Supposons que nodes, edges, paths, mytable, mylist, mypoint et myitem soient des alias de type NODE, EDGE, PATH, TABLE, list, point et autres, les formats de retour ci-dessous sont supportés :

      Format de Retour Contenu de Retour
      Type de Retour
      nodes Node (portant le schema et les propriétés système) NODE
      nodes.<property> Propriété de Node ATTR (renvoie null si la propriété n'existe pas)
      nodes.@ Schéma de Node ATTR
      nodes{<property>, ...} Node (portant le schema, les propriétés système et les propriétés personnalisées listées) NODE
      nodes{*} Node (portant le schema, les propriétés système et toutes les propriétés personnalisées) NODE
      edges Edge (portant le schema et les propriétés système) EDGE
      edges.<property> Propriété d'Edge ATTR (renvoie null si la propriété n'existe pas)
      edges.@ Schéma d'Edge ATTR
      edges{<property>, ...} Edge (portant le schema, les propriétés système et les propriétés personnalisées listées) EDGE
      edges{*} Edge (portant le schema, les propriétés système et toutes les propriétés personnalisées) EDGE
      paths Path (portant le schema et les propriétés système des métadonnées) PATH
      paths{<property>, ...}{<property>, ...} Path (portant le schema et les propriétés système des métadonnées, transportant séparément les propriétés personnalisées des nodes et des edges) PATH
      paths{*}{<property>, ...} Path (portant le schema et les propriétés système des métadonnées, transportant toutes les propriétés personnalisées des nodes et les propriétés personnalisées listées des edges) PATH
      paths{<property>, ...}{*} Path (portant le schema et les propriétés système des métadonnées, transportant les propriétés personnalisées listées des nodes et toutes les propriétés personnalisées des edges) PATH
      paths{<property>} Path (portant le schema, les propriétés système et les propriétés personnalisées listées des métadonnées) PATH
      paths{*} Path (portant le schema, les propriétés système et toutes les propriétés personnalisées des métadonnées) PATH
      mytable Le tableau entier TABLE
      mylist La liste entière ATTR
      mylist[n] L'élément avec l'index n ATTR
      mylist[n1:n2] Une sous-liste formée par les éléments avec l'index n1~n2 ATTR
      mylist[:n] Une sous-liste formée par les éléments avec l'index 0~n ATTR
      mylist[n:] Une sous-liste formée par les éléments avec l'index n~<longueur-1> ATTR
      mypoint Les coordonnées complètes ATTR
      mypoint.x La coordonnée x ATTR
      mypoint.y La coordonnée y ATTR
      myitem La valeur ATTR
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写