cayley

package module
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2016 License: Apache-2.0 Imports: 5 Imported by: 0

README

Cayley

Cayley is an open-source graph inspired by the graph database behind [Freebase](http://freebase.com) and Google's [Knowledge Graph](https://en.wikipedia.org/wiki/Knowledge_Graph).

Its goal is to be a part of the developer's toolbox where Linked Data and graph-shaped data (semantic webs, social networks, etc) in general are concerned.

Build Status Container Repository on Quay

Features

  • Community driven
  • Written in Go
    • can be used as a Go library
  • Easy to get running (3 or 4 commands, below)
  • RESTful API
    • or a REPL if you prefer
  • Built-in query editor and visualizer
  • Multiple query languages:
    • JavaScript, with a Gremlin-inspired* graph object.
    • (simplified) MQL, for Freebase fans
  • Plays well with multiple backend stores:
  • Modular design; easy to extend with new languages and backends
  • Good test coverage
  • Speed, where possible.

Rough performance testing shows that, on 2014 consumer hardware and an average disk, 134m quads in LevelDB is no problem and a multi-hop intersection query -- films starring X and Y -- takes ~150ms.

Community

Documentation

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	StartMorphism = path.StartMorphism
	StartPath     = path.StartPath

	NewTransaction = graph.NewTransaction
)

Functions

func Quad

func Quad(subject, predicate, object, label interface{}) quad.Quad

func Triple

func Triple(subject, predicate, object interface{}) quad.Quad

Types

type Handle

type Handle struct {
	graph.QuadStore
	graph.QuadWriter
}

func NewGraph

func NewGraph(name, dbpath string, opts graph.Options) (*Handle, error)

func NewMemoryGraph

func NewMemoryGraph() (*Handle, error)

func (*Handle) Close

func (h *Handle) Close()

type Iterator

type Iterator graph.Iterator

type Path

type Path path.Path

type QuadStore

type QuadStore graph.QuadStore

type QuadWriter

type QuadWriter graph.QuadWriter

Directories

Path Synopsis
+build appenginevm
+build appenginevm
Package clog provides a logging interface for cayley packages.
Package clog provides a logging interface for cayley packages.
cmd
examples
memstore/b
Package b implements a B+tree.
Package b implements a B+tree.
proto
Package proto is a generated protocol buffer package.
Package proto is a generated protocol buffer package.
sql
db
lru
Package quad defines quad and triple handling.
Package quad defines quad and triple handling.
cquads
Package cquads implements parsing N-Quads like line-based syntax for RDF datasets.
Package cquads implements parsing N-Quads like line-based syntax for RDF datasets.
nquads
Package nquads implements parsing the RDF 1.1 N-Quads line-based syntax for RDF datasets.
Package nquads implements parsing the RDF 1.1 N-Quads line-based syntax for RDF datasets.
Package query defines the graph session interface general to all query languages.
Package query defines the graph session interface general to all query languages.
mql

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL