Change Password

Input error
Input error
Input error
Submit

Change Nickname

Current Nickname:
Submit
Search
v2.x
    v2.x

    Algorithm Basic

    Ultipa offers an ever-growing rich set of algorithms for graph analytics purposes, including various centralities, rankings, similarities, community-detections (such as LPA, Louvain, etc.), graph embeddings (random walks, Node2Vec, Struc2Vec, etc.), and graph traversals. This document will explain the concepts of these algorithms and the details of their invocations.

    No More T+1!

    All Ultipa graph algorithms are optimized with maximum concurrency by leveraging the underpinning hardware parallel computing capabilities, which greatly reduce the execution time (latency). Running graph algorithms with Ultipa system is often dozens of or even thousands of times faster than with other graph systems.

    Whole-graph algorithms like Louvain, Struc2Vec, LPA, Triangle Counting that are usually done in T+1 fashion on large graphs (graph with hundreds of millions of nodes and edges), now are mostly completed in T+0; per-node algorithms or any algorithms running on a reasonably sized graph (i.e., graph sized around millions of nodes and edges) are usually done in a real-time fashion.

    Great performance is a unique competitive edge of Ultipa Graph, its liberates graph analysts from the nightmare of T+1!

    Ultipa uses 3 categories plus 2 special annotations to mark the characteristics of each graph algorithm: if an algorithm is potentially very resource-intensive and time-consuming (expensiveness) or if it can be done in genuinely real-time:

    Category Tag
    Basic Algorithm   Basic  
    Advanced Algorithm   Advanced  
    AI Algorithm   AI  
    Special Annotations   Real-time     Very Expensive  

    Ultipa graph algorithms are offered to users in a pluggable fashion - users have the flexibility to customize their own collection of algorithms. For more details, contact Ultipa Support Team.

    listAlgo()

    To list currently active algorithms:

    listAlgo()
    

    algo()

    algo() launches a certain algorithm:

    algo(<algorithm_name>)
      .params(<configuration>)
      .force?().write_back?().visualization?()
    

    Values of parameter:

    Name Data Type Specification Description
    params obj / To configure algorithm with item:value pairs, see later chapters for the details of configuration of each algorithm
    force / / (Optional) To force the algorithm to be launched regardless of the limit on the number of algorithms allowed to run simultaneously
    write_back / / (Optional) To write back the algorithm result to database (into a node or edge property as #<algo_name>) or to disk file (to RPC port, e.g., a csv file in a task in Ultipa Manager). Not all the algorithms support write_back()
    visualization / / (Optional) To pre-process data for visualization and keep the data in the task, needed by a subsequent algo_dv() operation; only applicable against algorithms that support visualization, such as Louvain
    stats / / (Optional) Execute the algorithm but without returning the result

    Where:

    • usage of write_back(), visualization() or stats() will launch the algorithm as a task and return the task id to the client terminal (SDKs/API or Ultipa Manager) instead of streaming the algorithm results;
    • for task management on algo() operations, please refer to Task chapter in the UQL handbook - UQL Graph Query Language.

    algo_dv()

    algo_dv() launches the visualization process of a certain algorithm:

    algo_dv(<algorithm_name>)
      .params(<configuration>)
      .id(<task_id>)
    

    Values of parameter:

    Name Data Type Specification Description
    params obj / To configure algorithm with item:value pairs, see later chapters for the details of configuration of each algorithm
    id int / The id of task launched by an earlier algo().visualization() operation. The <algorithm_name> in the algo_dv() must be identical with the name of this task.
    Please complete the following information to download this book
    *
    公司名称不能为空
    *
    公司邮箱必须填写
    *
    你的名字必须填写
    *
    你的电话必须填写
    *
    你的电话必须填写