Did you know? DZone has great portals for Python, Cloud, NoSQL, and HTML5!
NoSQL Zone is brought to you in partnership with:

Mitch Pronschinske is the Senior Content Curator (aka. "Lord of the Zones") at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often has hotdogs for lunch, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone employee and has posted 1703 posts at DZone. You can read more from them at their website. View Full User Profile

Sones Extends the Reach of Open Source Graph DBs

07.07.2010
Email
Views: 4935
  • submit to reddit
This article is part of the DZone NoSQL Resource Portal, which is brought to you in collaboration with Neo Technology and DataStax. Visit the NoSQL Resource Portal for additional tutorials, videos, opinions, and other resources on this topic.
A German data storage company, sones, opened the source code of its graph database this month, effectively ending .NET's lack of access to an open source graph DB.  The sones GraphDB also has a REST interface like Neo4j which makes it accessible to many more programming environments.  sones is now licensed under the AGPLv3.

Sones is a OO graph data store for semi-structured, distributed data.  It is built on the .NET framework and Mono, allowing it to run on Windows, Mac OS X, Linux, and other Unix systems.  The main focus of the sones DB is not on the data, objects, or vertices of the graph, but rather on their type-safe connections (edges).  The sones Wiki clarifies this by saying, "This means we are inter­ested in the name of a user within a large scale social net­work, but we are much more inter­ested to know which films his friends'-friends watched last sum­mer and thought that they were amaz­ing.  In the near future we will pro­vide a large frame­work of graph algo­rithms for these prob­lems and usage scenarios."

Sones has both a SOAP and a REST web service interface.  It also uses the GraphDB query language (GQL).  You can find a cheatsheet here.  Neo4j is one of the few other Graph DBs with a RESTful service.  Before sones was open sourced, OSS graph DBs were limited to JVM developers or Twitter's FlockDB, which isn't a complete graph DB.  

One of the newest features in sones is the GraphDB Visualization tool.  It connects to a live database and lets you run queries on it, which are then presented in a intuitive spiderweb/hairball-like graph.  You can also manipulate queries and data to see how a graphDB works, looks, and feels.

Here is a video of the sones GraphDB VisualGraph tool in action:



And here it is on Microsoft's Surface:



You can find a tutorial with examples of how to use sones Graph DB here.  Take a look at this code comparison between sones and some other graph DBs.

Go pick up the source code for sones GraphDB at GitHub.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Neo Technology and DataStax are leading the charge for the NoSQL movement.  You can learn more about the Neo4j Graph Database in the project discussion forums and try out the new Spring Data Neo4j, which enables POJO-based development.  You can also see how Apache Cassandra, a ColumnFamily data store, is pushing the boundaries of persistence with cloud capabilities and deployments at SocialFlow and Netflix.