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

Search
    English

      Alias System

      Alias and Data Structure

      Alias exists to name the data stream generated during or at the end of the execution of UQL, so that the data stream can be called in the subsequent UQL statement.

      There are 6 data structures an alias can represent:

      Data Structure
      Definition Example
      Alias in Example
      Data Structure in RETURN
      NODE find().nodes() as nodes nodes {id: , uuid: , schema: , values: {...}}
      EDGE find().edges() as edges edges {uuid: , schema: , from: , from_uuid: , to: , to_uuid: , values: {...}}
      PATH n().e().n() as paths paths {nodes: [<NODE>, <NODE>, ...], edges: [<EDGE>, <EDGE>, ...]}
      ATTR ... as nodes
      with year(nodes.birthday) as attr1, nodes.name as arrt2, nodes.@ as arrt3
      attr1, attr2, attr3 Atomic value without internal structure, such as string, number and so on
      ARRAY ... as paths
      with pedges(paths) as array
      array [<ATTR>, <ATTR>, ...]
      TABLE ... as nodes
      with table(nodes.name, nodes.birthday) as table
      table {headers: [...], table_rows: [<ARRAY>, <ARRAY>, ...]}

      Omission of defining alias for a newly generated data, or defining an alias that is never called, both could induce negative effect on the validity of UQL. Please avoid composing statements that have no alias or defining alias that is not called later on.

      Custom Alias

      A custom alias is defined by developers using keyword as. The alias defined in the previous table (nodes, paths, name, birthday, edgeUUIDs and record) are all custom aliases.

      Do not define the same alias for different values in a UQL statement. Avoid defining alias using the property names of nodes or edges, and system alias this may be used to disambiguate when necessary.

      • 1 ~ 64 characters
      • Not allow to start with wave line '~'
      • Not allow to contain back quote '`'
      • Not allow to use Reserved Words listed in Basic Concepts
      • (When containing characters other than letters, numbers and underscore, the alias name should be wrapped with backquote '`' when being used in the UQL)

      A custom alias may represent: NODE, EDGE, PATH, ATTR, ARRAY, TABLE

      Life cycle of a customer alias: anywhere after the alias is defined.

      System Alias

      System alias are defined by Ultipa system. They can be used directly without definition:

      System Alias
      Meaning
      Data Structure
      Life Cycle
      this Current node or edge NODE or EDGE In any filter
      prev_n The previous node of the current node or edge NODE In the filter of any basic template
      prev_e The previous edge of the current node or edge EDGE In the filter of any basic template

      Please read chapter Path | SubGraph | Template - prev_n and Path | SubGraph | Template - prev_efor details on prev_n and prev_e.

      In practical this is rarely used unless to eliminate any ambiguity; ambiguity occurs when the property names of the node/edge correspond with the custom alias, in which case this has to be used to refer to the property of node/edge.

      ... as balance
      find().nodes({this.balance > 5000})
      

      Note: this.balance in nodes() represents the property balance of the current node; since the custom alias defined in the previous statement is valid in the current statement, using balance in nodes() directly conflicts with the name of node's property balance, so that this is used.

      Call an Alias

      Suppose that nodes, edges, paths, attr, array and table are aliases of NODE, EDGE, PATH, ATTR, ARRAY and TABLE, below call formats are supported:

      Call Format
      Result
      Specification Content
      nodes.<property> ATTR Call in any statement Node property (or null if the node property does not exist)
      nodes.@ ATTR Call in any statement Node schema
      nodes NODE Call in any statement Node data structure without any custom properties
      nodes{<property>, ...} NODE Call in RETURN clause Node data structure with designated custom properties
      nodes{*} NODE Call in RETURN clause Node data structure with all custom properties
      edges.<property> ATTR Call in any statement Edge property (or null if the edge property does not exist)
      edges.@ ATTR Call in any statement Edge schema
      edges EDGE Call in any statement Edge data structure without any custom properties
      edges{<property>, ...} EDGE Call in RETURN clause Edge data structure with designated custom properties
      edges{*} EDGE Call in RETURN clause Edge data structure with all custom properties
      paths PATH Call in any statement Path data structure without any custom properties of its nodes and edges
      paths{<property>, ...}{<property>, ...} PATH Call in RETURN clause Path data structure with designated custom properties of its nodes and designated custom properties of its edges
      paths{*}{<property>, ...} PATH Call in RETURN clause Path data structure with all custom properties of its nodes and designated custom properties of its edges
      paths{<property>, ...}{*} PATH Call in RETURN clause Path data structure with designated custom properties of its nodes and all custom properties of its edges
      paths{<property>} PATH Call in RETURN clause Path data structure with designated custom properties of its nodes and edges
      paths{*} PATH Call in RETURN clause Path data structure with all custom properties of its nodes and edges
      attr ATTR Call in any statement The atomic value
      array ARRAY Call in any statement The array
      array[n] ATTR Call in any statement The element of array with index n
      array[n1:n2] ARRAY Call in any statement A sub-array formed by element with index n1~n2
      array[:n] ARRAY Call in any statement A sub-array formed by element with index 0~n
      array[n:] ARRAY Call in any statement A sub-array formed by element with index n~<length-1>
      table TABLE Call in RETURN clause The table

      The alias of NODE, EDGE and PATH in the RETURN clause carries schema and system properties (_uuid, _id, _from, _to, _from_uuid, _to_uuid) of nodes and/or edges by default.

      Read chapter Data Stream | Clause for the detailed description of RETURN.

      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写