Nebula Graph v2.0.0-alpha Release Note

Jamie Liu
NebulaGraph Database
3 min readNov 2, 2020

Nebula Graph

Note: Schema & data are not compatible with 1.0 yet. Still working on the compatibility.

New Features

  • Support String vertex ID
  • New data types
  • NULL , the property for vertices or edges can be set to NULL . NOT NULL constraint is supported to ensure the property values are not NULL.
  • Composite types: list, set and map(Cannot be stored as properties).
  • Temporal types like DATE and DATETIME .

New Functions

  • size() returns the number of items in a list
  • time() returns the current Time
  • date() or datetime() Returns the current Date or DateTime
  • id() returns the id of a vertex
  • tags() and labels() return the tags of the vertex
  • collect() , an aggregation function, returns a list containing the values returned by an expression
  • collect_set() , aggregation function, returns a set containing the values returned by an expression
  • properties() returns a map containing all the properties of a vertex or an edge
  • type() returns the edge type of an edge
  • src() returns the src id of an edge
  • dst() returns the dst id of an edge
  • rank() returns the rank of an edge

New Operators

  • IN checks if a specified value matches any value in a list.
  • CONTAINS performs a case-sensitive match regardless of location within a string.
  • STARTS WITH performs a case-sensitive match for the beginning of a string.
  • ENDS WITH performs a case-sensitive match for the ending of a string.

Explain & Profile. EXPLAIN displays the execution plan of a nGQL statement without executing the statement. PROFILE executes the statement, then outputs the execution plan as well as the execution profile.

Subgraph. GET SUBGRAPH statement retrieves information of vertices and edges reachable from the start vertices over the specified edges to the maximum number of hops.

Partially supported MATCH statement.

A DELETE statement can have an input from the pipeline | .

Features different from 1.0

  • CREATE SPACE supports specifying the type of vertex ID. The type fixed_string ( int64 will be supported in the next release).
  • Simplify `UPDATE/UPSERT statement.
  • UPSERT ... SET the unspecified properties will be set to the default value when inserting a new vertex/edge. If no default value is set, they will be set to NULL . If the NOT NULL constraint is set on the property, an error will return.
  • $- in the pipeline statement is not equal to $-.id anymore.
  • The expression specified in the default value will be computed when the data inserted instead of schema defined.

Upcoming Soon (Work in process)

  • DESCRIBE TAG/EDGE INDEX
  • REBUILD TAG/EDGE INDEX
  • SHOW TAG/EDGE INDEXES
  • SHOW TAG/EDGE INDEX STATUS
  • FETCH PROP ON multiple tags
  • Compatible with 1.0 Integer vertex ID
  • Support more OpenCypher statements
  • Backup & Restore
  • Fulltext search

Console

  • Nebula-console supports local commands now. For example, :set csv outputs the query results to the console and the specified CSV file. For more information, please refer to nebula-console.

Clients

  • Java
  • Python
  • Golang

Clients support connection pooling and load balancing. For more information, please refer to nebula-clients.

Studio

  • Not Compatible with Nebula Graph 2.0 yet (Working in progress).

Document

If you have any problem or feature request, please leave a comment here: https://discuss.nebula-graph.io/t/nebula-graph-v2-0-0-alpha-release-note/754.

Like what we do ? Star us on GitHub. https://github.com/vesoft-inc/nebula

Originally published at https://nebula-graph.io on November 2, 2020.

--

--

Jamie Liu
NebulaGraph Database

A digital marketer who has been working in the SaaS industry for almost six years. Life learner. Currently working in the rising graph database industry.