Cayley
  • Cayley Documentation
  • Getting Started
  • Install Cayley
  • Configuration
  • Usage
    • Quickstart as Library
    • Advanced Use
    • HTTP Methods
    • 3rd-Party-APIs
    • UI Overview
    • Migration
  • Query Languages
    • Gizmo API
    • GraphQL Guide
    • MQL Guide
    • Gephi GraphStream
  • Getting Involved
    • Glossary of Terms
    • Contributing
    • TODOs
    • Locations of parts of Cayley
  • Deployment
    • Running in Docker
    • Running in Kubernetes
  • Tools
    • Convert Linked Data files
Powered by GitBook
On this page
  • Prerequisites
  • Start Cayley
  • Run with sample data
  • Download sample data
  • Run Cayley
  • Query Data
  • Query all vertices in the graph
  • Match a property of a vertex
  • Match a complex path
  • Match

Was this helpful?

Getting Started

PreviousCayley DocumentationNextInstall Cayley

Last updated 4 years ago

Was this helpful?

This guide will take you through starting a graph based on provided data.

Prerequisites

This tutorial requires you to be connected to local Cayley installation. For more information on installing Cayley locally, see .

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

Cayley is configured by default to run in memory (That's what backend memstore means). To change the configuration see the documentation for or run cayley http --help.

For more information about the UI see:

Run with sample data

Download sample data

Run Cayley

cayley http --load 30kmoviedata.nq.gz

Query Data

Using the 30kmoviedata.nq dataset from above, let's walk through some simple queries:

Query all vertices in the graph

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);

Match a property of a vertex

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"

Match a complex path

Get the list of actors in the film

g.V()
  .has("<name>", "Casablanca")
  .out("</film/film/starring>")
  .out("</film/performance/actor>")
  .out("<name>")
  .all();

Match

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

Install Cayley
localhost:64210
Configuration File
UI Overview
Sample Data
Gizmo Documentation