Getting Started

This guide gives you a quick start to use GraphScope for graph interactive tasks on your local machine.

Installation

GIE works as the core component of GraphScope. Therefore, you should install GraphScope at first to use GIE.

GraphScope requires the following software versions:

  • Python 3.9 ~ 3.11

  • JDK 11 (Both JDK 8 and 20 have known compatibility issues)

  • gcc 7.1+ or Apple Clang

And it is tested on the following 64-bit operating systems:

  • Ubuntu 18.04 or later

  • CentOS 7 or later

  • macOS 12 (Intel/Apple silicon) or later, with both Intel chip and Apple M1 chip

If your environment satisfies the above requirement, you can easily install GraphScope through pip:

python3 -m pip install graphscope --upgrade

Tip

If the download is very slow, try to use a mirror site for the pip.

python3 -m pip install graphscope --upgrade \
    -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

However, GraphScope requires specific versions for some packages, so you may meet some conflicts and errors during the installation. Therefore, we strongly recommend you to install GraphScope in a clean Python virtual environment with Python 3.9.

We refer you to the official guide for Python virtual environment, and the following is a step by step instruction:

# Create a new virtual environment
python3.9 -m venv tutorial-env
# Activate the virtual environment
source tutorial-env/bin/activate
# Install GraphScope
python3.9 -m pip install graphscope
# Use GraphScope
python3.9
>>> import graphscope as gs
>>> ......

Running GraphScope Interactive Engine on Local

It’s fairly straightforward to run interactive queries using the graphscope package on your local machine. First of all, you import graphscope in a Python session, and load the modern graph, which has been widely used in Tinkerpop demos.

import graphscope as gs
from graphscope.dataset.modern_graph import load_modern_graph

gs.set_option(show_log=True)

# load the modern graph as example.
graph = load_modern_graph()

# Hereafter, you can use the `graph` object to create an `interactive` query session
g = gs.interactive(graph)
# then `execute` any supported gremlin query (by default)
q1 = g.execute('g.V().count()')
print(q1.all().result())   # should print [6]

q2 = g.execute('g.V().hasLabel(\'person\')')
print(q2.all().result())  # should print [[v[2], v[3], v[0], v[1]]]

# or `execute` any supported Cypher query, by passing `lang="cypher"`
q3 = g.execute("MATCH (n) RETURN count(n)", lang="cypher")
print(q3.records[0][0])  # should print 6

You may see something like:

...
... [INFO][coordinator:453]: Built interactive frontend xxx.xxx.xxx.xxx:pppp for graph xxx
[6]
...
[v[2], v[3], v[0], v[1]]
...

The number 6 is printed, which is the number of vertices in modern graph.

Customize Configurations for GIE instance

You could pass additional key-value pairs to customize the startup configuration of GIE, for example:

# Set the timeout value to 10 min
g = gs.interactive(graph, params={'query.execution.timeout.ms': 600000})

What’s the Next

As shown in the above example, it is very easy to use GraphScope to interactively query a graph using both the Gremlin and Cypher query language on your local machine.

In addition to the above local-machine entr’ee, we have prepared the following topics for your reference.