badwolf

module
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2017 License: Apache-2.0

README

BadWolf

Build Status Go Report Card GoDoc

BadWolf is a temporal graph store loosely modeled after the concepts introduced by the Resource Description Framework (RDF). It presents a flexible storage abstraction, efficient query language, and data-interchange model for representing a directed graph that accommodates the storage and linking of arbitrary objects without the need for a rigid schema.

BadWolf began as a triplestore, but triples have been expanded to quads to allow simpler and flexible temporal reasoning. Because BadWolf is designed for generalized relationship storage, most of the web-related idiosyncrasies of RDF are not used and have been toned down or directly removed and focuses on its time reasoning aspects.

In case you are curious about the name, BadWolf is named after the BadWolf entity as it appeared in Dr. Who series episode "The Parting Of Ways" after Rose Tyler looked into the Time Vortex itself. The BadWolf entity scattered events in time as self encode messages, creating a looped ontological paradox. Hence, naming a temporal graph store after the entity seemed appropriate.

You can find more detail information on each of the components of BadWolf below:

Please keep in mind that this project is under active development and there will be no guarantees on API stability till the first stable 1.0 release.

You can reach us here or via @badwolf_project on Twitter. For more information or to find other related projects that using BadWolf check the project website.

Directories

Path Synopsis
bql
grammar
Package grammar imlements the grammar parser for the BadWolf query language.
Package grammar imlements the grammar parser for the BadWolf query language.
lexer
Package lexer implements the lexer used bye the BadWolf query language.
Package lexer implements the lexer used bye the BadWolf query language.
planner
Package planner contains all the machinery to transform the semantic output into an actionable plan.
Package planner contains all the machinery to transform the semantic output into an actionable plan.
semantic
Package semantic contains the semantic analysis required to have a semantically valid parser.
Package semantic contains the semantic analysis required to have a semantically valid parser.
table
Package table export the table that contains the results of a BQL query.
Package table export the table that contains the results of a BQL query.
Package io provides basic tools to read and write graphs from and to files.
Package io provides basic tools to read and write graphs from and to files.
Package storage provides the abstraction to build drivers for BadWolf.
Package storage provides the abstraction to build drivers for BadWolf.
memory
Package memory provides a volatile memory-based implementation of the storage.Store and storage.Graph interfaces.
Package memory provides a volatile memory-based implementation of the storage.Store and storage.Graph interfaces.
tools
benchmark/batteries
Package batteries generates the benchmarks used for testing.
Package batteries generates the benchmarks used for testing.
benchmark/generator
Package generator contains common utilities used by the triple generators.
Package generator contains common utilities used by the triple generators.
benchmark/generator/graph
Package graph contains the data generator to build arbitrary graph benchmark data.
Package graph contains the data generator to build arbitrary graph benchmark data.
benchmark/generator/tree
Package tree contains the data generator to build the tree benchmark data.
Package tree contains the data generator to build the tree benchmark data.
benchmark/runtime
Package runtime contains common utilities use to meter time for benchmarks.
Package runtime contains common utilities use to meter time for benchmarks.
compliance
Package compliance provides the tools to validate the compliance of driver implementations and BQL behavior testing.
Package compliance provides the tools to validate the compliance of driver implementations and BQL behavior testing.
vcli/bw
BadWolf command line tools allows you to interact with graphs via BQL.
BadWolf command line tools allows you to interact with graphs via BQL.
vcli/bw/assert
Package assert implements the command allowing to run the stories in a folder and collect the outcome.
Package assert implements the command allowing to run the stories in a folder and collect the outcome.
vcli/bw/benchmark
Package benchmark runs a set of canned benchmarks against the provided driver.
Package benchmark runs a set of canned benchmarks against the provided driver.
vcli/bw/command
Package command contains the basic definitions of a command for the command line tool.
Package command contains the basic definitions of a command for the command line tool.
vcli/bw/common
Package common contains share functionality for the command line tool commands.
Package common contains share functionality for the command line tool commands.
vcli/bw/export
Package export contains the command allowing to dump all triples of a graphs into a file.
Package export contains the command allowing to dump all triples of a graphs into a file.
vcli/bw/io
Package io contains helper functions for io operations on the command line bw tool.
Package io contains helper functions for io operations on the command line bw tool.
vcli/bw/load
Package load contains the command allowing to run a sequence of BQL commands from the provided file.
Package load contains the command allowing to run a sequence of BQL commands from the provided file.
vcli/bw/repl
Package repl contains the implementation of the command that prints the BQL version.
Package repl contains the implementation of the command that prints the BQL version.
vcli/bw/run
Package run contains the command allowing to run a sequence of BQL commands from the provided file.
Package run contains the command allowing to run a sequence of BQL commands from the provided file.
vcli/bw/server
Package server provides a simple http endpoint to access for BQL manipulation.
Package server provides a simple http endpoint to access for BQL manipulation.
vcli/bw/version
Package version contains the implementation of the command that prints the BQL version.
Package version contains the implementation of the command that prints the BQL version.
Package triple implements and allows to manipulate BadWolf triples.
Package triple implements and allows to manipulate BadWolf triples.
literal
Package literal provides an abstraction to manipulate BadWolf literals.
Package literal provides an abstraction to manipulate BadWolf literals.
node
Package node provides the abstraction to build and use BadWolf nodes.
Package node provides the abstraction to build and use BadWolf nodes.
predicate
Package predicate allows to build and manipulate BadWolf predicates.
Package predicate allows to build and manipulate BadWolf predicates.

Jump to

Keyboard shortcuts

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