Kategorie: Announcement
In the course of our work at sones GraphDB 2.1 we refactored our index interfaces to make them more suitable for our needs. Furthermore, we wanted to make it easier for the community to implement custom index structures for their special needs. For the latter reason we set up a tutorial and published a sample implementation on github.

The interfaces are explained in our developer wiki, the tutorial can also be found there. The source code regarding the tutorial is located at github.
Source 1: Index Interfaces at developer wiki
Source 2: Integration tutorial at developer wiki
Source 3: Source code at github
With version 2.0 of sones GraphDB we introduced an enhanced graph model we call Property Hypergraph.

In this Property Hypergraph model there are some standard edge types:
- single-edge: an edge between two vertices
- multi-edge: an edge splitting up into single-edges of the same edge type pointing towards the same vertex type.
- hyper-edge: an edge to a subgraph made up by all possible types of vertices
In order to create different vertex types since version 1.0 of sones GraphDB the GraphQL command “CREATE VERTEX TYPE” is available to users. In version 2.0 we introduced edge types but those were only useable if you would use the API to interact with the GraphDB instance.
In version 2.1 we’ve now added a full edge type management to be used either through GraphDBs new edge-type API and of course through the new GraphQL extensions which add edge-type handling.
So for example let’s say you want to create an edge type “User” and insert a bunch of those. And you want those users to be connected by a specific edge type which comes with it’s own attributes – something like this:

The GraphQL Queries to create the above scheme would be these:
CREATE EDGE TYPE UserLink ATTRIBUTES (Double weight, String priority, LIST<String> tags) COMMENT = ‘This is my edge type named UserLink.’
CREATE VERTEX TYPE User ATTRIBUTES (String name, SET<User(UserLink)> friends)
INSERT INTO User VALUES (name = ‘UserA’)
INSERT INTO User VALUES (name = ‘UserB’, friends = SETOF(name = ‘UserA’ : (weight = 15.5, priority = ‘high’, tags = LISTOF(‘best friend’, ‘mate’))))
As you can see it’s easy to actually create edge types and add attributes to the relationships these edges represent. It even gets better: you can also use the inheritance mechanisms you are already used to on vertex types as well as undefined (schemeless) attributes.
If you want to dive deeper into edge types you won’t have to wait until the release of GraphDB 2.1 at the end of this year. You can just grab the current source code on github and get started.
Additional documentation and examples are available in our documentation wiki. Here are some places you will find more information:
We want to build the GraphDB community a home – a home they meet to discuss, track, code and have all sorts of graphy fun. This is why we just launched our forum and our bugtracking tool. Those both tools complement the already existing GitHub presence by adding the functionality to discuss and get/give support.
forum.sones.de
It’s a way to communicate with GraphDB users and developers, either those working at sones or those out in the community.

jira.sones.de
In order to make a wish, to report bugs, to track the progress of the GraphDB development the bugtracking tool Jira (made by Atlassian) is used.

You can always go to those new tools and just read – but we encourage you to jump in and register yourself an account to write what you think about GraphDB, what your experience was while using it and what cool projects you are working on currently.
Source 1: http://github.com/sones/sones
Source 2: http://forum.sones.de
Source 3: http://jira.sones.de
Source 4: http://forum.sones.de/register
As you already know the Community Edition of sones GraphDB was always released under the GNU Affero General Public License version 3. All Language Bindings and Client Libraries we (sones) released so far were also released under that certain AGPLv3 license.
We got quite a lot interesting feedback on that matter and decided that from now on the GraphDB Language Bindings, Client Libraries and Talend OpenStudio component will be released under the GNU Lesser General Public License version 3.

From now on you can link to the library in your project, no matter what license your project uses, your code will not become GPL’d. That’s basically the only reason for that change.
Currently the following libraries are available:
Besides that the software itself can also be licensed using a proprietary commercial license. Just ask for it.
Link 1: http://www.gnu.org/licenses/agpl.html
Link 2: http://www.gnu.org/licenses/lgpl.html
Link 3: http://www.sones.com/kontakt

Today we are releasing the 2.0 version of sones GraphDB.
It’s been nearly a year since the launch of the 1.1 version and the open source availability and after a complete overhaul and intense refactoring the new version fits better into many scenarios and allows easier future feature additions.
A completely revamped plug-in system and software architecture allows the user to individually configure the needed plug-ins to the specific use-case. Unnecessary functionality can be disabled that way – not taking up precious resources and/or query execution time. Version 1.1 already had some plug-in functionality but we extended that with many many more APIs.
sones GraphDB is a graph database and therefore works with an internal graph representation of the users data. With version 2.0 we are pushing the limits of the graph data model used by GraphDB. The property graph is the de-facto standard for graph databases these days and it’s easy to understand why.
There a vertex types – like the circle above – with attributes. And there are edges which connect these vertices and add their own attributes. Altogether simple edges with attributes and vertices with attributes make up that well known property graph.
In the new version 2.0 we added some things to that simple scheme to make it even more powerful. We believe that it is important for every user of a graph database to be able to express every aspect of relationship data possibly can have. And to allow that higher level of expression we created what we call the Property Hypergraph.


This property hypergraph represents vertices of different vertex types and edges of different edge types. Any types, vertex and edge, can have multiple user defineable attributes. Vertices (instances of a vertex type) can have binary properties (unstructured data) Additionally schema-less types are possible.
Now there are some standard edge types like the single-edge: an edge between two vertices, the multi-edge: an edge splitting up into single-edges of the same edge type pointing towards the same vertex type. And the most flexible edge type, the hyper-edge: an edge pointing to a subgraph if you will.
With version 2.0 we add a significant speed-up to the database. On the one hand every database deployment can be tailored to the use-case and does not need to carry unnecessary functionality anymore. And on the other hand we took the many things we learned from customer projects and did a major architecture overhaul. We are seeing a speed-up at the factor of 100x for queries like INSERT and we are currently working on an extra article on the performance of our 2.0 release.

There have been some minor changes in the GraphQL (Graph Query Language) for which we prepared a new release of the popular GraphQL Cheatsheet.

As of Mid-2010 sones GraphDB is available under the AGPLv3 Open Source license. Version 2.0 is going to be available in our official Git repository soon. Additionally we are preparing a complete internal move of sones to Git. Until the launch of 2.0 we had the external Git repository and an internal source control system which needed to be synced, sometimes manually. This will be over soon. We are putting the complete and official repository into the hands of the community to allow anyone to see the complete history and to easier than ever add their own code. Accordingly an updated documentation and wiki will be available as soon as possible along with the source code availability.
Get sones GraphDB v2.0 and further information here now.
Since we launched our 1.1 version yesterday I want to link to the updated cheat sheet so everyone can find and use it:

Cheatsheet v1.1
We want to show you something today: Not everybody has an idea what to think and do with a graph data structure. Not even talking about a whole graph database management system. In fact what everybody needs is something to get “in touch” with those kinds of data representations.
To make the graphs you are creating with the sones GraphDB that much more touchable we give you a sneak peak at our newest addition of the sone GraphDB toolset: the VisualGraph tool.
This tool connects to a running database and allows you to run queries on that database. The result of those queries is then presented to you in a much more natural and intuitive way, compared to the usual JSON and XML outputs. Even more: you can play with your queries and your data and see and feel what it’s like to work with a graph.
Expect this tool to be released in the next 1–2 months as open source. Everyone can use it, Everyone can benefit from it.
Oh. Almost forgot the video:
(Watch it in full screen if you can)