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

      Data Stream

      Overview

      During the execution of UQL, the data produced or defined is called a data stream. A data stream may contain multiple rows of data, flowing out of a clause into the subsequent clause row by row.

      Homologous Data

      Data streams derived from the same clause are referred to as homologous. Typically, homologous data streams have the same number of rows, and data in the same row is correlated. This homogeneity extends to information extracted from homologous data.

      When a clause calls homologous aliases, the querying or computation is performed row by row, and the data produced by that clause remains homologous with the data that entered.

      Example 1: The homologous data streams path and tail flow into the RETURN clause, producing a new data stream length that is also homologous with path and tail, they all have 5 data rows.

      Example 2: nodes.score1 and nodes.score2 are homologous. The calculations performed in the RETURN clause are done row by row, yielding another homologous data stream mean.

      Applying an aggregation function to a data stream reduces it to a single row, discarding the other rows, and so does each homologous data stream.

      After aggregation, the remaining single rows of all homologous data streams are typically uncorrelated.

      Applying an deduplication to a data stream usually reduces its number of rows. In part (a) of the following illustration, when deduplication is performed in the WITH clause, the corresponding rows of the homologous data are discarded as well. The only exception occurs when deduplication takes place in the RETURN clause: data rows of the other data returned at the same time are not affected, as shown in part (b).

      Heterologous Data

      Data streams derived from completely independent clauses are referred to as heterologous. Rows in heterologous data streams are usually uncorrelated.

      When a clause calls heterologous aliases:

      • In the WITH clause, the Cartesian Product is performed between all aliases.
      • In other clauses, all data streams are trimmed to the minimum length of all data streams.

      Example 1: a and b are heterologous; in the WITH clause, c and b are heterologous since c is produced by a, thus the Cartesian Product is performed between c and b

      Example 2: When heterologous aliases n1 and n2 enter into the pathfinding clause, the third row of n2 is trimmed so n1 and n2 have the same number of data rows, and the query is executed row by row (see more in Execution Times of Chain Clauses)

      Exceptions:

      • The RETURN clause does not trim heterologous data streams unless they are jointly used for some computation.
      • In any clause other than the GROUP BY clause, whenever aggregation is performed, all the related data streams only have one single row left, discarding the other rows.

      Example 3: a and b are heterologous, they return 3 and 2 rows respectively

      Example 4: a is aggregated in the RETURN clause, which causes b being left with 1 row as well

      Execution Times of Chained Clauses

      When data enters a chain clause, whether it's for insertion, updating, deletion or querying, the number times the chain clause executes equals the number of rows of the data. Each execution processes one data row (system optimizations may apply based on the actual situation).

      When a chain clause calls homologous data, its execution times equal the number of data rows. However, when a chain clause uses heterologous data, its execution times depend on the data with the shortest rows, as the other data will be trimmed accordingly.

      Example 1: Alias n contains 4 rows, so the deletion clause is executed 4 times, each time deleting 1 node

      Subquery

      For the query chain clause, each execution of the query is also referred to as a subquery.

      Example 2: The red and blue nodes in n trigger two subqueries of the find().nodes() clause, the first subquery finds 3 red nodes, and the second subquery locates 2 blue nodes, yielding 5 rows of data in result

      If you want to handle the result of each subquery independently, you may consider using the CALL clause, OPTIONAL prefix or limit() parameter. The other clauses or functions all perform operations on the entire result of a query.

      Example 3: The illustration demonstrates the difference between the limit() parameter (a) and LIMIT clause (b)

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