What Is It?
HyperGraphDB is a general purpose, open-source data storage mechanism based on a powerful knowledge management formalism known as directed hypergraphs. While a persistent memory model designed mostly for knowledge management, AI and semantic web projects, it can also be used as an embedded object-oriented database for Java projects of all sizes. Or a graph database. Or a (non-SQL) relational database.
Read Alex Popescu's
HyperGraphDB interview with Borislav Iordanov for a high-level overview.
Watch Borislav Iordanov's
HyperGraphDB Presentation at StrangeLoop 2010.
Watch a presentation by Victor Puente (in Portuguese) given at Sao Paulo TDC conference:
- Powerful data modeling and knowledge representation.
- Graph-oriented storage.
- N-ary, higher order relationships (edges) between graph nodes.
- Graph traversals and relational-style queries.
- Customizable indexing.
- Customizable storage management.
- Extensible, dynamic DB schema through custom typing.
- Out of the box Java OO database.
- Fully transactional and multi-threaded, MVCC/STM. Non-blocking concurrent writes and reads!
- P2P framework for data distribution.
Besides covering persistence of Java objects, the core database engine targets exclusively the implementation of generalized, typed, directed hypergraphs. As a meta-model those are pretty powerful and subsume most data models. But practical applications are built within a specific domain and sometimes follow an existing industry standard.
HyperGraphDB application components implement various domain models, standards, algorithms and domain-specific tools, taking advantage of its generality. Every entity in those components is ultimately a HyperGraphDB atom, which makes it possible to integrate and compose them naturally.
|JSON||Implementation of JSON storage as a hypergraph - JSON structures as graphs rather
than blobs as commonly implemented in so called "document-oriented" database.|
|WordNet||Representation of the lexical WordNet database from Princeton.|
|TopicMaps||Implementation of the Topic Maps 1.0 standard.|
|RDF via Sail||Implementation of the RDF standard using the openRDF.org Sesame framework.|
|OWL 2.0||Full implementation of the OWL 2.0 standard with distributed versioning and a
|TuProlog||Integration with the TuProlog interpreter for reasoning over hypergraphs through Prolog.|
|XmlSchema||Implementation of the XML Schema standard within the HyperGraphDB type system.[incomplete]|
|Feedforward Neural Nets||Implementation for a feed-forward 3-layer neural net as a hypergraph|
|Distributed Dataflow||Flow-based programming in Java based on a HyperGraphDB representation and using its P2P framework.[unreleased]|
All those components are implemented as