This guide will take you through starting a graph based on provided data.
This tutorial requires you to be connected to local Cayley installation. For more information on installing Cayley locally, see Install Cayley.
cayley http
You should see:
Cayley version: 0.7.7 (dev snapshot)
using backend "memstore"
listening on 127.0.0.1:64210, web interface at http://127.0.0.1:64210
You can now open the web-interface on: localhost:64210.
Cayley is configured by default to run in memory (That's what backend memstore
means). To change the configuration see the documentation for Configuration File or run cayley http --help
.
For more information about the UI see: UI Overview
cayley http --load 30kmoviedata.nq.gz
Using the 30kmoviedata.nq dataset from above, let's walk through some simple queries:
To select all vertices in the graph call, limit to 5 first results. g
and V
are synonyms for graph
and Vertex
respectively, as they are quite common.
g.V().getLimit(5);
Find vertex with property "Humphrey Bogart"
g.V()
.has("<name>", "Humphrey Bogart")
.all();
You may start to notice a pattern here: with Gizmo, the query lines tend to:
Start somewhere in the graph | Follow a path | Run the query with "all" or "getLimit"
Get the list of actors in the film
g.V()
.has("<name>", "Casablanca")
.out("</film/film/starring>")
.out("</film/performance/actor>")
.out("<name>")
.all();
This is starting to get long. Let's use a Morphism, a pre-defined path stored in a variable, as our linkage
var filmToActor = g
.Morphism()
.out("</film/film/starring>")
.out("</film/performance/actor>");
g.V()
.has("<name>", "Casablanca")
.follow(filmToActor)
.out("<name>")
.all();
To learn more about querying see Gizmo Documentation