Sones GraphDB
# Sones GraphDB

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 was developed in the programming language C# and ran on Microsoft's .NET Framework and on the open source reimplementation Mono.

GraphDB was available as software as a service (SaaS) on the Microsoft cloud Azure Services Platform. GraphDB was also a component of an open source solution stack.

In 2014 the trademark "GraphDB" was acquired by Ontotext. OWLIM, Ontotext's graph database and RDF triplestore, was renamed GraphDB.

## Functionality

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.

## Interfaces

### REST API

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.

### Traverser API

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

## Architecture

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.

