# Terminologies

Name | Description |
---|---|

UQL (uQL) | Ultipa Query Language, the Ultipa Graph query and database/system management language |

Node | In graph theory, a node is formally called a 'vertex'. In Ultipa Graph, we call vertex 'node' for simplicity. |

Edge | Edge usually connects a pair of nodes, or in special cases connects a node to itself. There are directed edge and un-directed edge (un-directed edge is usually a matter concerning how a search against the edge is conducted). Edges in Ultipa Graph are directed. |

Direction (In) | For an edge pointing from node A to node B, the edge is called an 'In' edge of node B, and is written as either A→B or B←A. |

Direction (Out) | For an edge pointing from node A to node B, the edge is called an 'Out' edge of node A, and is written as either A→B or B←A. |

Path | Path is a series of connected nodes and edges, for instance, A→B←C←D→E is a path. In its most simplistic form, an edge is the shortest possible path. |

Direction (Left) | In a given path A→B←C←D→E, the direction of leftward-pointing edges is Left, such as B←C and C←D. |

Direction (Right) | In a given path A→B←C←D→E, the direction of rightward-pointing edges is Right, such as A→B and D→E. |

Property | Data properties within Ultipa Graph system, which are node properties and edge properties. |

GraphSet | A graphset comprises a set of nodes, edges and their properties, plus settings, privileges and algorithmic operations that can be done against the graphset. In an Ultipa Graph system, multiple graphsets can be included. |

Subgraph | Subgraph is part of the whole graphset. The result of any query against the whole graphset is considered as a subgraph. |

Instance | Ultipa Graph system is usually comprised of 1 to multiple instances, and each instance carries the role of a leader or a follower in a cluster environment. An instance can function on its own or communicate and share data with other instances. |

Meta-Data | In a graph dataset (or database), meta-data refers to the nodes and edges that jointly form the 'skeleton' of the graph. |

Filter | Filter is frequently used during graph queries for screening meta-data against the value of their properties. Refer to Chapter 4 for details. |

Index | Ultipa Graph offers accelerated search against meta-data. Ultipa has general index which is comparable to indexes used in traditional databases, and full-text index which is comparable to keyword searches by web-based search engines. |

Fulltext Index | Full-text index is to help accelerate text-based searches. Ultipa supports prefix-based fulltext indexing. |

LTE | Load-to-Engine, which is a way of acceleration used by Ultipa Graph for in-memory meta-data property computing. |

UFE | Unload-from-Engine, which is the opposite process of LTE. |

ULTIPA ID ( _id ) | This is the unique id of the meta-data, an integer within int64 assigned (automatically generated) by the Ultipa system. |

Original ID ( _o ) | This is the original (and supposedly unique) id of nodes before they are imported into Ultipa Graph system. The maximum length of Original ID is 128 bytes. In any extreme case, data longer than 128B will be truncated. |

BFS | Breadth First Search is a commonly used graph traversal method in graph theory. It starts from the subject node and traverses its neighborhood by visiting its nearest neighbors first, say, its 1st-hop neighbors, then, 2nd-hop neighbors, so on and so forth. |

DFS | Depth First Search is another way of traversing the graph as illustrated in the above diagram. It will try to reach the designated depth first before reaching shallower depth and will do so recursively until either the entire graph has been visited or the results are satisfying. |

Path Query | Path queries are commonly used when traversing a graph to find relevant paths connecting two (groups of) nodes that form a subgraph. Path queries may be implemented with BFS or DFS. |

Shortest Path | Shortest Path is a special kind of path query. Regular shortest path is always implemented with BFS. Weighted shortest path, or least-weighted path, which sums the weight of all edges, can be implemented with either DFS or BFS, depending on the underpinning data-structure or code-engineering mechanism. |

K-Hop | K-hop is a typical and fundamental graph operation (or query). K-hop, or K-hop neighbors, simply means all nodes that are at least K-step away from the subject node; in another word, the shortest paths between these nodes and the subject node have K steps! For instance, a node's 1-hop dataset contains all nodes that are directly connected with it. By definition, K-hop should always be implemented with BFS, not DFS. |

Template | Templates are leveraged by template-based query for graph querying, an Ultipa inventive query method that is far more flexible than regular path or k-hop query, as it configures the path as a series of sub-paths hence allows powerful and sophisticated filtering logics to be defined. For more information about template-based query, refer to Chapter 6. |

Graph Algorithm | Graph Algorithms in Ultipa Graph system are encapsulated (for easy operations) and meant to be running extremely fast compared to any other graph system. Most graph algorithms run in real-time or near-time fashion instead of costing T+1 or longer waiting time. Ultipa offers a rich collection of algorithms, amounting to over 35 and continuously growing. Ranging from centrality, ranking, propagation, community detection, graph-embedding, etc. For more information about Graph Algorithms, refer to Chapter 8. |

Graph Embedding | Graph Embedding is loosely defined as a subset of graph algorithms including, but not limited to, random walk, node2vec, struc2vec, LINE and others. |

* | If the contents are annotated with *, the relevant feature is being developed. |

Experimental feature, use with caution. |

## No Comments