|Stable release||2.0 / May 11, 2011|
|Available in||English, German|
|License||Dual licensing: Community Edition is AGPLv3, Enterprise Edition is commercial & proprietary|
Sones GraphDB was a graph database developed by the German company sones GmbH, available from 2010 to 2012. Its last version was released in May 2011. sones GmbH, which was based in Erfurt and Leipzig, was declared bankrupt on January 1, 2012.
GraphDB was unique in that its design based on weighted graphs. The open source edition was released in July 2010. The commercially available enterprise version offered a wider variety of functions.
GraphDB had index-free adjacency, which meant that it not necessary to manage a global index for relationships between nodes/entities. The linked objects contained direct reference to their adjacent neighboring nodes.
The sones graph database was able to store and retrieve unstructured properties in any node of the graph. The idea was also to transfer unstructured data to structured data and vice versa.
Structured data could be dynamically extended with high performance in nodes and edges during runtime. Additional properties could easily be entered or deleted from vertex types in a short amount of time.
GraphDB used its own query language, GraphQL, which was similar to SQL. It could be dynamically extended during runtime using plugins such as functions or aggregates.
GraphDB used an object-oriented concept, which enabled better integration into object-oriented programming languages.
In addition to providing a number of interfaces (e.g., Java, C#, WebShell, WebDAV) the sones graph database also offers a REST API. This enables simpler interaction with state-of-the-art web technologies. A REST-query is all that is needed to execute CRUD operations directly on the database.
The Traverser API makes it possible to analyze local data. Based on a number of nodes (local), neighboring nodes can be searched recursively (breadth-depth first).
GraphDB has a modular structure consisting of 4 application layers. The storage engines act as the interface to different storage media. The GraphFS serializes and deserializes database objects (nodes and edges) and operates the available storage engines. The actual graph-oriented database logic as well as all functionalities specific to the database are implemented in the GraphDB. The GraphDS provides the interface for using the database. The interfaces between the application layers are generic, which makes it possible to update components separately.