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 Blaze (v4)
  • Ultipa Powerhouse (v5)

Standalone

learn more about the four main severs in the architecture of Ultipa Powerhouse (v5) , click

here

Please complete this required field.

Please complete this required field.

Please complete this required field.

Please complete this required field.

Leave it blank if an HDC service is not required.

Please complete this required field.

Leave it blank if an HDC service is not required.

Please complete this required field.

Please complete this required field.

Mac addresses of all servers, separated by line break or comma.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Maximum Shard Services
Maximum Total Cores for Shard Service
Maximum HDC Services
Maximum Total Cores for HDC Service
Applied Validity Period(days)
Effective Date
Expired Date
Mac Address
Reason for Application
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
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

v5.2
Search
    English
    v5.2

      Values and Types

      UQL supports various values and types to represent data within the graph database. Understanding these values and types is essential for effective query construction and data manipulation.

      Property Value Types

      A property value type refers to the data type of the values of a property. Ultipa supports the following property value types:

      Numeric

      Type
      Description
      INT32 32-bit signed integer ranging from -2,147,483,648 to 2,147,483,647.
      UINT32 32-bit unsigned integer ranging from 0 to 4,294,967,295.
      INT64 64-bit signed integer ranging from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
      UINT64 64-bit unsigned integer ranging from 0 to 18,446,744,073,709,551,615.
      FLOAT 32-bit single-precision floating-point number supporting up to 6 digits after the decimal point.
      DOUBLE 64-bit double-precision floating-point number supporting up to 15 significant digits. This includes all non-zero digits and any zeros between them, e.g., 0.0123456789012345.
      DECIMAL A fixed-point number with a specified precision (1 to 65, total number of digits) and scale (0 to 30, number of digits after the decimal point). E.g., DECIMAL(10,4) represents a number with up to 10 total digits, of which up to 4 can appear after the decimal point.

      Textual

      Type
      Description
      STRING A sequence of characters enclosed in quotes, with a maximum size of 60,000 bytes. This is the default type when creating a property.
      TEXT A sequence of characters enclosed in quotes with no length limit.

      Temporal Instant

      Type
      Description
      DATE A date value without any timezone information. E.g., 2025-01-01, 20250101.
      LOCAL DATETIME A date-time value without any timezone information. E.g., 2025-01-01 12:20:02, 20250101T122002.55254.
      LOCAL TIME A time value without any timezone information. E.g., 12:20:02, 122002.55254.
      ZONED DATETIME An instant date-time value that includes timezone information. E.g., 2025-01-01 12:20:02-1030, 20250101T122002.55254+0900.
      ZONED TIME A time value that includes timezone information. E.g., 12:20:02-1030, 122002.55254+0900.
      TIMESTAMP A Unix timestamp representing the number of seconds since 1970-01-01 00:00:00 UTC. E.g., 1751422921 corresponds to 2025-07-02 02:22:01 UTC.

      When a date-time formatted value is provided, the system automatically converts it to a timestamp based on the local timezone, client settings, or SDK configuration. Likewise, when displaying a timestamp in date-time format, the output is adjusted according to the configured timezone.
      DATETIME A date-time value without timezone information, ranging from 1000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.499999. This is an extended property type provided by Ultipa, similar to the standard GQL type LOCAL DATETIME, but with more flexible input formats. For example:

      • 25-1-1 12:20:2: Supports two-digit years (YY) and allows single-digit month, day, hour, minute, and second without leading zeros.
      • 2025/1/1T12:20:2.55254: Supports / as a date separator and up to 6 fractional digits for seconds.
      • 2025-01-01: If the time part is omitted, it defaults to 00:00:00.

      Date

      • Format: yyyy-[m]m-[d]d or yyyymmdd
      • Range: -9999-12-31 to 9999-12-31

      Time

      • Format: hh:mm:ss[.fraction] or hhmmss[.fraction]
      • Range: 00:00:00.000000000 to 23:59:59.999999999

      Date and Time

      • Format: The date and time parts are joined by either a space or the letter T.
      • Range: -9999-01-01 00:00:00.000000000 to 9999-12-31 23:59:59.999999999

      Timezone

      • Format: Represented as a UTC offset in the form of ±hh:mm or ±hhmm, appended directly to the time value.
      • Range: UTC-15:00 to UTC+15:00

      Temporal Duration

      Type
      Description
      DURATION(YEAR TO MONTH) A time duration measured in years and months only. E.g., P2Y5M (2 years and 5 months), -P1Y2M (minus 1 year and 2 months).

      • Format: [-]P[nY][nM]
      • Range: -P178956969Y12M to P178956969Y12M
      DURATION(DAY TO SECOND) A time duration measured in days, hours, minutes, seconds, and optional fractional seconds. E.g., P3DT4H (3 days and 4 hours), -P1DT2H3M4.12S (minus 1 day, 2 hours, 3 minutes, and 4.12 seconds).

      • Format: P[nD][T[nH][nM][nS]] (the letter T is required to join the day and time parts)
      • Range: -P106750DT23H59M59.999999999S to P106750DT23H59M59.999999999S

      Boolean

      Type
      Description
      BOOL Represents two possible values:
      • 1 or TRUE
      • 0 or FALSE

      Spatial

      Type
      Description
      POINT A two-dimensional geographical coordinate that indicate a specific position. The coordinate values are stored as DOUBLE.

      List and Set

      Type
      Description
      <subType>[] An ordered collection of elements of the specified subtype. Supports all of the above types as subtypes, except for BOOL.
      SET(<subType>) An unordered collection of distinct elements of the specified subtype. Supports all of the above types as subtypes, except for BOOL.

      Constructed Value Types

      A constructed value type is a data type comprising composite elements. UQL supports the following constructed type:

      Type
      Description
      LIST An ordered collection of elements of the same or different types.

      Result Types

      A result type refers to the data type of the values returned by a query. Ultipa defines the following result types.

      RESULT_TYPE_NODE

      This query returns all the information of @Paper nodes:

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

      Data structure of n:

      {
        "data": [
          {
            "id": "P2",
            "uuid": "8718971077612535835",
            "schema": "Paper",
            "values": {
              "title": "Optimizing Queries",
              "score": 9
            }
          },
          {
            "id": "P1",
            "uuid": "8791028671650463770",
            "schema": "Paper",
            "values": {
              "title": "Efficient Graph Search",
              "score": 6
            }
          }
        ],
        "alias": "n",
        "type": 2,
        "type_desc": "RESULT_TYPE_NODE"
      }
      

      RESULT_TYPE_EDGE

      This query returns all the information of outgoing @Cites edges:

      n().re({@Cites} as e).n()
      return e{*}
      

      Data structure of e:

      {
        "data": [
          {
            "from": "P1",
            "to": "P2",
            "uuid": "1",
            "from_uuid": "8791028671650463770",
            "to_uuid": "8718971077612535835",
            "schema": "Cites",
            "values": {
              "weight": 2
            }
          }
        ],
        "alias": "e",
        "type": 3,
        "type_desc": "RESULT_TYPE_EDGE"
      }
      

      RESULT_TYPE_PATH

      This query returns all the information of outgoing 1-step paths:

      n().re().n() as p
      return p{*}
      

      Data structure of p:

      {
        "data": [
          {
            "nodes": [
              {
                "id": "P1",
                "uuid": "8791028671650463770",
                "schema": "Paper",
                "values": {
                  "title": "Efficient Graph Search",
                  "score": 6
                }
              },
              {
                "id": "P2",
                "uuid": "8718971077612535835",
                "schema": "Paper",
                "values": {
                  "title": "Optimizing Queries",
                  "score": 9
                }
              }
            ],
            "edges": [
              {
                "from": "P1",
                "to": "P2",
                "uuid": "1",
                "from_uuid": "8791028671650463770",
                "to_uuid": "8718971077612535835",
                "schema": "Cites",
                "values": {
                  "weight": 2
                }
              }
            ],
            "length": 1
          }
        ],
        "alias": "p",
        "type": 1,
        "type_desc": "RESULT_TYPE_PATH"
      }
      

      RESULT_TYPE_ATTR

      This query returns the title property of @Paper nodes:

      find().nodes({@Paper}) as n
      return n.title
      

      Data structure of n.title:

      {
        "data": {
          "alias": "n.title",
          "type": 4,
          "type_desc": "RESULT_TYPE_ATTR",
          "values": [
            "Optimizing Queries",
            "Efficient Graph Search"
          ]
        },
        "alias": "n.title",
        "type": 4,
        "type_desc": "RESULT_TYPE_ATTR"
      }
      

      RESULT_TYPE_TABLE

      This query returns a table:

      find().nodes({@Paper}) as n
      return table(n.title, n.score) as table
      

      Data structure of table:

      {
        "data": {
          "name": "table",
          "alias": "table",
          "headers": [
            "n.title",
            "n.score"
          ],
          "rows": [
            [
              "Optimizing Queries",
              "9"
            ],
            [
              "Efficient Graph Search",
              "6"
            ]
          ]
        },
        "alias": "table",
        "type": 5,
        "type_desc": "RESULT_TYPE_TABLE"
      }
      

      Null Value

      The null value is a special value available in all nullable types. Any non-null value is a material value.

      Null Scenarios

      The null values can arise in various contexts, including:

      • Default Assignment: When nodes or edges are inserted, nullable properties that lack specified values automatically receive null.
      • Explicit Null Specification: During node or edge insertion, nullable properties can be intentionally set to null.
      • Value Removal: Removing a property’s value sets it to null.
      • New Property Assignment: When adding a new property to a schema, any existing nodes or edges with that schema are assigned null for the new property by default.
      • Nonexistent Property References: Referencing a property that does not exist returns null.
      • Optional Matching: When the OPTIONAL keyword is used with statements like find() and khop(), if no result is found, the clause yields null instead of empty return.

      Null in Comparisons

      The null value is not comparable to any other value due to its inherently unknown nature. Consequently, comparisons involving null using normal operators such as = or > do not typically yield true or false but rather an unknown result, also represented by null.

      Example
      Result
      RETURN null = null null
      RETURN null > 3 null
      RETURN [1,null,2] <> [1,null,2] null
      RETURN 3 IN [1,null,2] null
      RETURN null IN [1,2] null
      RETURN null IN [] 0

      Comparisons involving null require special handling with null predicates (IS NULL and IS NOT NULL).

      Example
      Result
      RETURN null IS NULL 1
      RETURN null IS NOT NULL 0

      Null Treatments

      The null values receive special treatment in some contexts. For instance:

      • Aggregate functions typically ignore null values.
      • The GROUP BY clause groups all null values together.
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      Privacy Policy
      Please agree to continue.

      Copyright © 2019-2025 Ultipa Inc. – All Rights Reserved   |  Security   |  Legal Notices   |  Web Use Notices