Skip to content

Release v0.24.0

Compare
Choose a tag to compare
@lidongze0629 lidongze0629 released this 01 Sep 10:14
· 351 commits to main since this release
8950371

We are thrilled to introduce a range of enhancements to GraphScope, with the GraphScope 0.24.0 release. This release encompasses significant features and improvements in Interactive Engine (GIE), Learning Engine(GLE), and Deployment.

We highlight the following improvements included in this release:

1. Enhancements for GIE

Key Features:

  • Support the sample() step of Gremlin to randomly pick up a given number of traversers from a Gremlin traversal. Additionally, coin() step can now follow any step in a Gremlin traversal, instead of just V() and E(). For example,
g.V().sample(10)   // Sample 10 traversers from `g.V()`
g.V().out().coin(0.2)  // Randomly pick up 20% among all vertices' out neighbors
  • Support the union step of Gremlin to combine the traversers from multiple traversals. For example,
g.V().union(out(), out().out())  // the results would now be one-hop (out once) and two-hop (out twice) neighbors of all vertices. 
  • Support the unfold step of Gremlin, which is a reversed operator of fold that flattens a collection of traversers into discrete elements. For example,
g.V().fold().unfold()  // must obtain `g.V()` again
  • Support the identity() step of Gremlin, which simply returns the current traversers, and is often used together with union step. For example,
g.V().union(identity(), out())  // return `V()` and its one-hop neighbors
  • Support isNull in the expr() for verifying wether a certain property has NULL value. For example,
g.V().where(expr("@.age isNull"))  // the vertices without the field of `age` will be pruned

But fixes:

  • Fix a bug of count() step followed by order() and limit() that can cause the gaia engine to abort unexpectedly. Now the following Gremlin query can be executed smoothly:
g.V().order().by('id', asc).limit(1).out().count()

2. Enhancements for Deployment

  • All GraphScope Images support both x86 and arm64 platform
  • This release includes the gsctl command-line utility for building and testing GraphScope. The gsctl tool provides several commands and options to streamline the development and deployment process. You can use the following command to install the graphscope-client package and then use gsctl:
$ pip3 install graphscope-client
$ gsctl --help

3. Other enhancements and bug fixes

  • Reduced the size of GRAPE-java shaded jar,reduce shaded jars' total size from 94MB to 58MB.
  • Introduce Hiactor-based High-QPS Engine for Flex.
  • Refine the schema definition for flex rt_mutable_graph
  • Fix the Py_None reference count issue in GLE
  • Fix the bug that GLE client only connects with a single server in distributed training
  • Update the GLE-related tutorials

Docker Image

# Coordinator Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/coordinator:0.24.0

# Graph Analytical Engine(GAE) Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/analytical:0.24.0

# Frontend component of Graph Interactive Engine(GIE) image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/interactive-frontend:0.24.0
# Executor component of Graph Interactive Engine(GIE) image 
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/interactive-executor:0.24.0

# Graph Learning Engine(GLE) Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/learning:0.24.0

# GraphScope persistent storage, user can only perform GIE query on it.
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-store:0.24.0

# Develop Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:latest

What's Changed

New Contributors

Full Changelog: v0.23.0...v0.24.0