Release Date: April 1, 2019
For v2.1 and older, contact TigerGraph Support.
For the running log of bug fixes, see the Change Log.
Load real-time streaming data using industry standard Apache Kafka
Easy to configure: CREATE, GRANT... ready to use!
Fault-tolerant and distributed
For full details, see the Kafka Loader User Guide.
Documentation at GSQL Graph Algorithm Library
✅ Schema: Vertex Attribute as PRIMARY_KEY
In classic GSQL, vertex Primary_ID is special, not consider an attribute. This minimizes storage space.
New option to treat the Primary_ID as a regular attribute.
✅ MultiGraph: Different graphs can use the same query names and job names.
✅ Loading: User can choose how to handle edges with missing source or target vertex.
Default: If either the source id or target id of a new edge refers to a nonexistent text, then the system will create the necessary vertices with default values.
New option: If the source or target vertex doesn't exist, don't create the edge.
✅ Catalog Display: Enhanced SHOW command
Show vertices, edges, jobs, or queries.
Accepts a regEx or glob pattern argument to show only selected items
See the relevant sections of the GraphStudio UI Guide
More universal: vertex type & edge type can be specified at runtime.
Similarity: New algorithms: Cosine and Jaccard
Path: More variations of Shortest Path
Community: More accurate implementation of Louvain modularity
User-defined tuples as attributes are supported (already supported in GSQL).
When displaying a directed edge, only show the forward edge and not its companion reverse edge.
Text size of vertex and edge label is adjustable.
After a query is compiled, show its REST endpoint.
See graph schema while writing GSQL queries.
Better editing and installing experience for queries with dependencies.
Single Sign On: The security.sso.saml.sp.hostname parameter is replaced by security.sso.saml.sp.url, which must be a full URL, not just a local path.
If a query is issued while another query is being installed, the query will wait rather than exit.
CHANGE: PRIMARY_ID as INT or UINT is no longer deprecated. To support more general use of attributes as PRIMARY_ID, the following data types may be used: STRING, INT, UINT
The keyword COMMENT is no longer reserved.
The built-in REST endpoint POST /ddl (Online Post) is deprecated. Its functionality is already covered by the improved and unified LOADING JOB introduced in v2.0
NEW: Kafka Loader User Guide
All of the spec changes and new algorithms are described in the relevant selections of the documentation at docs.tigergraph.com:
Release Date: Nov 5, 2018
Getting Started
Reference (currently at TG 2.1. Will be updated to 2.2 soon.)
Developer Resources - videos, knowledge base, use cases, community forum
Documentation at GSQL Graph Algorithm Library
Example:
CREATE QUERY q1 (STRING vType, STRING eType) FOR GRAPH g1 {
Start = {vType.*};
Result = SELECT t
FROM Start:s -(eType:e)-> vType:t
...
}
Most query features are now supported in Distributed mode.
See the document Distributed Query Mode
CREATE DISTRIBUTED QUERY q1 ( ...) { ... }
INSTALL QUERY -DISTRIBUTED q1
Calling a query from within a query has always been supported.
The user is must be careful not to create an infinite recursion.
Useful when you need unique integers for many vertices, because getvid(v) runs faster than getting the primary_id or an attribute value.
Similar to functions available in the query language.
See the relevant sections of the GraphStudio UI Guide
SumAccum<STRING COMPRESS>
is not supported
gsql command: The -p password option is now shown in the gsql syntax summary.
loading job syntax: The "any" prefix option is now shown in the filepath_string syntax summary.
ORDER BY clause of SELECT statement: items which cannot be sorted are listed after all the sorted items.
In the built-in SELECT query, described in GSQL 101 (and which corresponds to the GET /graph REST endpoint), a maximum of 10240 items can be returned.
For clarify, this section lists changes between adjacent release versions separately (e.g., v1.1 → v1.2 is separate from v1.2 → v2.0).
System Management
GSQL
GraphStudio UI
GSQL
DEPRECATED : In CREATE QUERY, the "TO REPLACE" option (e.g., CREATE OR REPLACE QUERY) is deprecated.
NEW : In CREATE QUERY, there is is a new option: DISTRIBUTED (e.g., CREATE DISTRIBUTED QUERY).
GraphStudio UI
NEW : Data Filter in Map Data to Graph page.
CHANGED : Data Mapping is automatically changed publishing a revised graph schema.
GBAR
CHANGED : New backup archive format. Restore command has stricter requirements.
Graph and User Management
CHANGED : The "architect" role is renamed "designer". The "public" role is renamed "observer".
GSQL Language
NEW : Queries can construct FILE objects, and pass the FILE objects as parameters, for enhanced flexibility for writing data to files.
NEW : PRINT to a FILE object or FILE.println
NEW : Unified syntax for loading jobs
NEW : Commands to manage loading jobs: SHOW LOADING STATUS, ABORT/RESUME LOADING JOB.
NEW : CREATE/SHOW/DROP GROUP commands, used for LDAP support.
NEW : The heapAccum now has a pop() function
NEW : Three new string functions: lower(), upper(), and trim()
CHANGED : The + operator can be used to add two ListAccums, SetAccums, or MapAccums.The old semantics for (ListAccum + element) is dropped.
CHANGED : In the SELECT statement, the LIMIT...OFFSET option may only be used when the ORDER BY clause is also used.
GraphStudio UI
NEW : Full log in support, including user-based and graph-based access control, LDAP, and Single Sign-On.
NEW : Choose which graph to work with. See TigerGraph GraphStudio UI Guide for details.
Graph and User Management
NEW/ CHANGED : The MultiGraph service introduces changes to how graphs are managed, even when there is only a single graph.
User roles are granted or revoked on a per-graph basis.
A user can work with only one graph at a time. The user must set their working graph, either with the -g option for the GSQL command, or with the USE GRAPH statement. This requirement holds even when there is only a single graph in existence.
The privileges of the admin and designer (architect) roles have been reduced. They can no longer CREATE or DROP a VERTEX/EDGE/GRAPH. However, they can CREATE and RUN a SCHEMA_CHANGE JOB, which accomplishes much the same thing.
The admin and designer (architect) roles can no longer run DROP ALL or CLEAR GRAPH STORE.
DROP GRAPH <gname> only drops vertex and edge types which are exclusive to that graph. It does not drop shared types.
When a new user is created, previously the user began with the public (observer) role. Now, the new user has no role until assigned one.
GSQL Language
NEW : Container type attributes (e.g., a LIST or SET) can be updated (assigned a new value) in a query. Previously, only simple type attributes could be updated. See the examples of Update statement in the Data Modification Statements chapter of the GSQL Language Reference Part 2 - Querying
REMOVED : In the CREATE VERTEX schema definition statement, the WITH STATS = "outdegree" option is no longer supported. The "outdegree_by_edgetype" and "null" options are still available.
REMOVED : The gsql -s option is dropped. A secret cannot be used in place of a password.
System Configuration
CHANGED : The default TCP/IP port numbers for GraphStudio and its related services have changed, to avoid the possibility of conflict with other services. These port numbers are not mandatory. As before, users can set the port number with gadmin --configure
GraphStudio (and other Nginx services): from 44240 to 14240
GraphStudio.WebSocket.Port: from 44241 to 14241
GraphStudio.Web.Private_port: from 44242 to 14242
GraphStudio UI
NEW : In the Map Data to Graph step, users can now load a constant value (string or numeric). The constant value can either be applied directly to an attribute, or it can be one input of a token function.
Bug Fix
REST API output format for tuple type data is now consistent with standard JSON.
Developer Edition available as a Docker Image or VM Image
Enterprise Edition machine images available on Amazon AWS and Microsoft Azure Marketplaces
Connector Ecosystem on Github: https://github.com/tigergraph/ecosys/tree/master/etl
Graph Algorithm Library
New command to automate the cluster expansion process See the document Cluster Expansion
Queries: The vertex type and edge type for graph traversal be specified at runtime using input parameters.
Queries: Expanded functionality for Distributed mode
Queries: Distributed mode can be specified either at CREATE or INSTALL time:
Queries: Recursive queries are supported.
Queries: New function getvid(v)
returns internal ID [int] of the vertex v.
Loading: New string token functions gsql_upper(str), gsql_lower(str), gsql_trim(str)
Can display with either light or dark theme.
Supports token authorization.
Graph data are preserved when revising the schema.
Can run installed queries.
Can filter by attribute value.
Can define expressions to control vertex color, vertex radius, and edge thickness.
Can edit vertex or edge attributes with LIST, SET and MAP type.
Can install all queries in one shot.
A loading job may not include both DELETE and LOAD statements.
The keywords CONDITION and LOCATION are no longer reserved.
After enabling or disabling REST token authentication, you must restart the vis service, in addition to restpp and nginx:
gadmin restart restpp nginx vis -y
Schema: PRIMARY_ID should be string type. Other types are deprecated.
CREATE OR REPLACE QUERY is deprecated.
Clarification: You may not concatenate a STRING to a STRING COMPRESS:
NEW : GSQL 101 - updated tutorial to learn how to use GSQL to define a graph, load data, write parameterized queries and run them, in about 1 hour.
NEW: Cluster Expansion
Corrections and Clarifications:
NEW: Streamlined process for expanding a cluster.
CHANGED: Installation script checks for a minimum of 8GiB RAM and 2 CPU cores.
NEW : In loading jobs, the string functions upper(), lower(), and trim() are added.
NEW : In queries, the vertex types and edge type may be specified at runtime.
NEW: In queries, Distributed mode can be specified at either CREATE or INSTALL.
IMPROVED: In queries: most features are supported for Distributed mode queries.
NEW : In queries, the function getvid() returns the internal ID of a vertex.
IMPROVED: In queries, recursive queries are supported.
CHANGED: The keywords CONDITION and LOCATION are no longer reserved
CHANGED: In a loading job, you may not include both DELETE and LOAD.
NEW: General: Can display with either light or dark theme.
NEW: General: Supports token authorization.
NEW: Design Schema: Graph data are preserved when revising the schema.
NEW: Design Schema:Can add attributes with LIST, SET, or MAP type.
NEW: Explore Graph: Can run installed queries
NEW: Explore Graph: Can filter by attribute value
NEW: Explore Graph: Can define expressions to control vertex color, vertex radius, and edge thickness