Release Notes-TigerGraph 2.2
Release Date: Nov 5, 2018

New Features

  • Getting Started
  • Reference (currently at TG 2.1. Will be updated to 2.2 soon.)
  • Developer Resources - videos, knowledge base, use cases, community forum

System Deployment and Integration

Analytics and Solutions Support

System Management Improvements

  • New command to automate the cluster expansion process See the document Cluster Expansion

GSQL Enhancements

  • Queries: The vertex type and edge type for graph traversal be specified at runtime using input parameters.
    • Example: CREATE QUERY q1 (STRING vType, STRING eType) FOR GRAPH g1 { Start = {vType.*}; Result = SELECT t FROM Start:s -(eType:e)-> vType:t ... }
  • Queries: Expanded functionality for Distributed mode
  • Queries: Distributed mode can be specified either at CREATE or INSTALL time:
    • CREATE DISTRIBUTED QUERY q1 ( ...) { ... }
  • Queries: Recursive queries are supported.
    • Calling a query from within a query has always been supported.
    • The user is must be careful not to create an infinite recursion.
  • Queries: New function getvid(v) returns internal ID [int] of the vertex v.
    • Useful when you need unique integers for many vertices, because getvid(v) runs faster than getting the primary_id or an attribute value.
  • Loading: New string token functions gsql_upper(str), gsql_lower(str), gsql_trim(str)
    • Similar to functions available in the query language.

GraphStudio Enhancements

See the relevant sections of the GraphStudio UI Guide
    • 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.

Other Spec Changes

  • 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:
    • SumAccum<STRING COMPRESS> is not supported

Documentation Additions and Improvements

  • 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:
    • 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.

Specification Changes

For clarify, this section lists changes between adjacent release versions separately (e.g., v1.1 → v1.2 is separate from v1.2 → v2.0).

v2.2 Changes

System Management
  • 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.
GraphStudio UI
  • 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

v2.1 Changes

  • 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.
  • CHANGED : New backup archive format. Restore command has stricter requirements.

v2.0 Changes

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.

v1.2 Changes

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.