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: http://www.infoq.com/presentations/HyperGraphDB

Feature Summary

  • 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.

Application Components

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.

JSONImplementation of JSON storage as a hypergraph - JSON structures as graphs rather than blobs as commonly implemented in so called "document-oriented" database.
WordNetRepresentation of the lexical WordNet database from Princeton.
TopicMapsImplementation of the Topic Maps 1.0 standard.
RDF via SailImplementation of the RDF standard using the openRDF.org Sesame framework.
OWL 2.0Full implementation of the OWL 2.0 standard with distributed versioning and a Protege plugin.
TuPrologIntegration with the TuProlog interpreter for reasoning over hypergraphs through Prolog.
XmlSchemaImplementation of the XML Schema standard within the HyperGraphDB type system.[incomplete]
Feedforward Neural NetsImplementation for a feed-forward 3-layer neural net as a hypergraph
Distributed DataflowFlow-based programming in Java based on a HyperGraphDB representation and using its P2P framework.[unreleased]
All those components are implemented as HyperGraphDB Applications