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.
You can find more detail information on each of the components of BadWolf below:
- Data Abstractions for Temporal Graph Modeling.
- Storage Abstraction Layer.
- Graph Marshaling/Unmarshaling.
- BadWolf Query Language overview.
- BadWolf Query Language planner.
- BadWolf Query Language practical examples.
- BadWolf command line tool.
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.
Demo
You can give a quick try using the WASM-powered BadWolf demo. Just type some BQL commands and evaluate them to see the results.Related projects
- Badwolf Drivers implements BadWolf recommended persitent storage drivers.
- BwDrivers provide storage drivers, but no longer added. Prefer the above repo.
Presentations
- Ottawa Graph Meetup: Intro to BadWolf (2016/06/21).
- Graph Databases and Frameworks: Graph Database Stories: Google and Netflix (2017/09/17).