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 detailed 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.
For more information, presentation, or to find other related projects that are using BadWolf check the project website.