<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sones GraphDB &#187; documentation</title>
	<atom:link href="http://developers.sones.de/category/sones/documentation/feed/" rel="self" type="application/rss+xml" />
	<link>http://developers.sones.de</link>
	<description></description>
	<lastBuildDate>Thu, 20 Oct 2011 15:16:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>GraphDBPedia — Importing data – From Triples to Vertices and Edges</title>
		<link>http://developers.sones.de/2011/10/19/graphdbpedia-importing-data-%e2%80%93-from-triples-to-vertices-and-edges/</link>
		<comments>http://developers.sones.de/2011/10/19/graphdbpedia-importing-data-%e2%80%93-from-triples-to-vertices-and-edges/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 10:16:12 +0000</pubDate>
		<dc:creator>holger.liebau</dc:creator>
				<category><![CDATA[use-case]]></category>

		<guid isPermaLink="false">http://developers.sones.de/?p=1141</guid>
		<description><![CDATA[DBPedia data is provided in several RDF triple files. Each line in each file gives a “complete” information set – based on predicate, subject and object, e.g. mappingbased_properties_en.nt: (some line) &#60;http://dbpedia.org/resource/12_Monkeys&#62; &#60;http://dbpedia.org/ontology/editing&#62; &#60;http://dbpedia.org/resource/Mick_Audsley&#62; .        stands for:  “12 Monkeys” has a “editor” “Mick Audsley”. In other files there is additional information available, e.g. that “12 Monkeys” [...]]]></description>
			<content:encoded><![CDATA[<p>DBPedia data is provided in several RDF triple files. Each line in each file gives a “complete” information set – based on predicate, subject and object, e.g.</p>
<p>mappingbased_properties_en.nt: (some line)<br />
<em>&lt;http://dbpedia.org/resource/12_Monkeys&gt;</em><br />
<em>&lt;http://dbpedia.org/ontology/editing&gt;</em><br />
<em>&lt;http://dbpedia.org/resource/Mick_Audsley&gt; .       </em><br />
stands for:  “12 Monkeys” has a “editor” “Mick Audsley”.</p>
<p>In other files there is additional information available, e.g. that</p>
<ul>
<li>“12 Monkeys” is a film</li>
<li>“Mick Audsley” is a person</li>
<li>… probably more information about “12 Monkeys” and “Mick Audsley”</li>
</ul>
<p>What we want to do in sones GraphDB is to create a VERTEX for the <strong>film</strong> “12 Monkeys”. This includes</p>
<ul>
<li>type information – 12 Monkeys is a film</li>
<li>a set of properties – e.g. its budget</li>
<li>EDGES to related information, e.g. the editor Mick Audsley.</li>
</ul>
<p>There is a single point of information (The VERTEX “12 Monkeys”) that holds all information and relation in a single instance. To import the VERTEX “12 monkeys”, we had to write a parser over all available triple files that gives us all related information from DBPedia data set.<br />
At this point we’ve had two options implementing this parser. The first one was to read all triple files in a dedicated order to ensure data validity (we need to know that “12 Monkeys” is a movie, to be able to assign the predicate “editor” unambiguous) or do an intermediate step by creating a temporary file that collects all data without validation and to do the import afterwards.<br />
Our decision was to do the intermediate step, because of that it allows some synchronization during reading the triple files and avoids creating invalid data since exported data can be cross-checked easily.<br />
This step is represented by project “2_ParseAndConvertTripleDataFiles” in solution GraphDBPedia available at <a title="http://github.com/sones/sones-dbpedia" href="http://github.com/sones/sones-dbpedia">http://github.com/sones/sones-dbpedia</a>.  The parser reads only a subset of offered data-files to show functionality and focus on the added values.<br />
The result of the export for “Apollo 8” looks like this:</p>
<p>1  VertexID=-9223372036854775808<br />
2  http://dbpedia.org/resource/Apollo_8=http://dbpedia.org/ontology/SpaceMission<br />
3  LongAbstract_de=viel text<br />
4  LongAbstract_en=a lot of text<br />
5  http://dbpedia.org/ontology/commandModule_en=CM-103<br />
6  http://dbpedia.org/ontology/missionDuration_en=529242.0<br />
7  http://dbpedia.org/ontology/lunarOrbitTime_en=72613.0<br />
8  http://dbpedia.org/ontology/crewSize_en=3<br />
9  http://dbpedia.org/ontology/lunarModule_en=Ballast: Lunar Test Article B<br />
10  http://dbpedia.org/ontology/serviceModule_en=SM-103<br />
11  http://dbpedia.org/ontology/nextMission_en=http://dbpedia.org/resource/Apollo-9-patch.png<br />
12   http://dbpedia.org/ontology/booster_en=http://dbpedia.org/resource/Saturn_V<br />
13   http://dbpedia.org/ontology/previousMissions_en= http://dbpedia.org/resource/AP7lucky7.png<br />
14   http://dbpedia.org/ontology/launchPad_en=http://dbpedia.org/resource/Kennedy_Space_Center_Launch_Complex_39<br />
15   ShortAbstract_en=some text<br />
16   Name_en=http://dbpedia.org/resource/Apollo_8<br />
17    http://dbpedia.org/ontology/SpaceMission/lunarOrbitTime_en=20.170277777777777<br />
18   http://dbpedia.org/ontology/SpaceMission/missionDuration_en=6.125486111111111</p>
<p>Apart from one property, all data had been exported from the triple files. During importing the ontology information (line2 in this example), we’ve also created a VertexID – unique for the corresponding VERTEX TYPE. This allows us to do a unique and performant linking during data import (happens later) by referring to this ID.</p>
<p>After this intermediate step, the real import step can be done. Sones Graph DB offers GraphQL as simple and intuitive language. Based on the data-structure we’ve prepared above, with GQL two steps have to be done. At first, create all VERTICES including all properties and afterwards do the linking between all VERTICES.<br />
Therefore, for the example above, two statements would be created:</p>
<p><em> INSERT INTO httpwwwdbpediaorgontologySpaceMisson VALUES (</em><br />
<em>   VertexID=-9223372036854775808,</em><br />
<em>   LongAbstract_de=’viel text’,</em><br />
<em>   LongAbstract_en=’a lot of text’,</em><br />
<em>   Name_en=’ http://dbpedia.org/resource/Apollo_8’,</em><br />
<em>   httpdbpediaorgontologycommandModule_en=’CM-103’, </em><br />
<em>   httpdbpediaorgontologymissionDuration_en=529242.0,</em><br />
<em>   httpdbpediaorgontologylunarOrbitTime_en=72613.0,</em><br />
<em>   httpdbpediaorgontologycrewSize_en=3,</em><br />
<em>   httpdbpediaorgontologylunarModule_en=’Ballast: Lunar Test Article B’,</em><br />
<em>   httpdbpediaorgontologyserviceModule_en=’SM-103’,</em><br />
<em>   ShortAbstract_en=’some text’,</em><br />
<em>   httpdbpediaorgontologySpaceMissionlunarOrbitTime_en=20.170277777777777,   </em><br />
<em>   httpdbpediaorgontologySpaceMissionmissionDuration_en=6.125486111111111</em></p>
<p><em> UPDATE httpwwwdbpediaorgontologySpaceMisson SET</em><br />
<em>(</em><br />
<em>    httpdbpediaorgontologynextMission_en=SETOF(Name_en=’http://dbpedia.org/resource/Apollo-9’)</em><br />
<em>   httpdbpediaorgontologybooster_en=SETOF(Name_en=’http://dbpedia.org/resource/Saturn_V’)</em><br />
<em>httpdbpediaorgontologypreviousMission_en=SETOF( Name_en=’http://dbpedia.org/resource/AP7’)</em><br />
<em>httpdbpediaorgontologylaunchPad_en=SETOF(Name_en=’http://dbpedia.org/resource/Kennedy_Space_Center_Launch_Complex_39’)</em><br />
<em>)</em><br />
<em> WHERE VertexID=-9223372036854775808</em></p>
<p>The problem of this approach is, that EDGES are set via a WHERE condition that maybe is not unique or the attribute is not set at all at the target VERTEX. An option to solve this, is to verify the ID of the target vertex and do the linking via this condition.</p>
<p>Sones GraphDB also offers another option to do the importing, <strong>XmlBulkImport</strong>. It has the advantage that it is faster than GraphQL (due to the fact it uses Graph-filesystem interfaces) and also organizes INSERTING and LINKING of data itself. Instead of creating GraphQL, a proprietary XML structure has to be created and the import is done via a single IMPORT GQL statement.<br />
A description of this format and its usage can be found at: <a href="../wiki/doku.php?id=importexport:xmlbulkimport">http://developers.sones.de/wiki/doku.php?id=importexport:xmlbulkimport</a></p>
<p>This XmlBulkImport data file is created by project “3_ParseAndConvertTripleDataFiles” in solution GraphDBPedia available at <a title="http://github.com/sones/sones-dbpedia" href="http://github.com/sones/sones-dbpedia">http://github.com/sones/sones-dbpedia</a>”.</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/10/19/graphdbpedia-importing-data-%e2%80%93-from-triples-to-vertices-and-edges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GraphDBPedia — Creating the schema — From Ontology to VERTEX TYPES and EDGES</title>
		<link>http://developers.sones.de/2011/10/17/graphdbpedia-creating-the-schema-from-ontology-to-vertex-types-and-edges/</link>
		<comments>http://developers.sones.de/2011/10/17/graphdbpedia-creating-the-schema-from-ontology-to-vertex-types-and-edges/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 11:14:30 +0000</pubDate>
		<dc:creator>holger.liebau</dc:creator>
				<category><![CDATA[use-case]]></category>
		<category><![CDATA[DBPedia]]></category>
		<category><![CDATA[GraphDBPedia]]></category>

		<guid isPermaLink="false">http://developers.sones.de/?p=1108</guid>
		<description><![CDATA[The first step was to transfer the ontology – provided in Web Ontology Language (OWL) format – into GraphDB VERTEX TYPES and EDGES. Therefore, a parser had been implemented that reads the OWL-file, converts it into a class-model and is able to export data into a GQL – CREATE VERTEX TYPES statement. The  ontology currently [...]]]></description>
			<content:encoded><![CDATA[<p>The first step was to transfer the ontology – provided in Web Ontology Language (OWL) format – into GraphDB VERTEX TYPES and EDGES. Therefore, a parser had been implemented that reads the OWL-file, converts it into a class-model and is able to export data into a GQL – CREATE VERTEX TYPES statement.<br />
The  ontology currently contains 273 classes (DBPedia 3.6.) and thousands of datatype properties and object properties. A short demonstration of its main structures can be found here:</p>
<p><strong>OWL-Class:</strong></p>
<pre>&lt;owl:Class rdf:about="http://dbpedia.org/ontology/Island"&gt;
   &lt;rdfs:label xml:lang="en"&gt;island&lt;/rdfs:label&gt;
    &lt;rdfs:label xml:lang="el"&gt;νησί&lt;/rdfs:label&gt;
    &lt;rdfs:label xml:lang="fr"&gt;île&lt;/rdfs:label&gt;
    &lt;rdfs:subClassOf
           rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"&gt;
    &lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;</pre>
<p>- represents an Island (based on a PopulatedPlace)</p>
<p><strong>OWL-DatatypeProperty:</strong></p>
<pre>&lt;owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfIslands"&gt;
   &lt;rdfs:label xml:lang="en"&gt;number of islands&lt;/rdfs:label&gt;
    &lt;rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"&gt;&lt;/rdfs:domain&gt;
    &lt;rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"&gt;&lt;/rdfs:range&gt;
&lt;/owl:DatatypeProperty&gt;</pre>
<p>- describes the non-negative Integer attribute “number of islands” for the class Island.</p>
<p><strong>OWL-ObjectProperty:</strong></p>
<pre> &lt;owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highestState"&gt;
    &lt;rdfs:label xml:lang="en"&gt;highest state&lt;/rdfs:label&gt;
    &lt;rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"&gt;&lt;/rdfs:domain&gt;
    &lt;rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"&gt;&lt;/rdfs:range&gt;
&lt;/owl:ObjectProperty&gt;</pre>
<p>represents the highest “PopulatedPlace” on an island.</p>
<p>The conversion creates a</p>
<ul>
<li>VERTEX TYPE  – one for each class,</li>
<li>having multiple PROPERTIES – from datatype properties</li>
<li>and multiple EDGES – from object-properties</li>
</ul>
<p>Within the data schema, there is a big amount of multi-lateral dependencies. The CREATE VERTEX TYPES statement solves all of them and creates a valid data schema.</p>
<p>Additionally to the ontology from the OWL file, we’ve added some vertex types to fix some problems we’ve run at and to enhance the functionality a little bit:</p>
<ul>
<li>At first, the VERTEX TYPE Thing was not described in the Ontology. It is the base class in the ontology that all other VERTEX TYPES are base upon.</li>
<li>To reflect disambiguation, we’ve created a VERTEX TYPE Instance with an EDGE to a SET of Thing. In case there is a disambiguation, an Instance refers to the corresponding NODEs in the GraphDB.</li>
<li>Within the RDF-files, labels are saved in dedicated triples. We’ve added a dedicated VERTEX TYPE also, to avoid a mix-up in case one label refers to multiple Instances.</li>
</ul>
<p>Currently, the GraphDB has some limitations regarding the allowed characters within VERTEX TYPES, its ATTRIBUTES and EDGES. The OWL and RDF format is generally based on URLs as data-definition. GraphDB has limitations working with colons, dots  and slashes (both slash and backslash). Our simple workaround was to keep the URL and remove all occurrences of these characters. This leads us from http://dbpedia.org/ontology/Island to httpdbpediaorgontologyIsland.</p>
<p>Another challenge is the type-mapping between OWL and GraphDB. GraphDB supports c# simple data types, in the DBPedia OWL we are facing a list of 9 datatypes from an XML schema,  DBPedia area units, speed units, density units, time units, volume units, distance units and several others. This led us to a huge switch that does the mapping – all properties could be reflected with the C# data types without data loss.</p>
<p>Wikipedia is available in multiple languages. DBPedia export currently is provided in 99 of them.<br />
Some time later (during the next steps) we’ve found out that data in several languages differs a little bit sometimes, since there are different authors. For the data schema, this is relevant, because there are options how to handle this behavior.</p>
<p>One option is to let the data importer application logic decide how to handle this. We’ve decided to make the data schema language specific and provide a separate – language specific – attributes. This grows up the data schema a little bit, but does not lead to any data loss. Additionally, some application logic can be implemented later on, to check data quality for each node.</p>
<p>The command-line  tool “1_CreateGqlSchemaFromOntology” ‚available at GitHub (<a href="http://www.github.com/sones/sones-dbpedia">https://github.com/sones/sones-dbpedia</a>) VisualStudion solution creates the CREATE VERTEX TYPES statements as described above, based on the ontology of DBPedia 3.6. – later versions currently have not yet been tested.<br />
The command line executable has to be started with 2 parameters:</p>
<ul>
<li><strong>.owl filename</strong> (the filename has either to be an absolute path or located within the executables directory.</li>
<li><strong>result .gql file</strong> – name of the file, where all queries will be inserted in.</li>
</ul>
<p>During runtime, the user will be requested for all languages that have to be reflected in schema. Our suggestion is to use 2-letter county-codes like “_en” or “_de”. An empty string exits the iteration.<br />
After the execution the result .gql file easily can be imported via IMPORT GQL statement.</p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/10/17/graphdbpedia-creating-the-schema-from-ontology-to-vertex-types-and-edges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intention of saving DBPedia in GraphDB</title>
		<link>http://developers.sones.de/2011/10/17/intention-of-saving-dbpedia-in-graphdb/</link>
		<comments>http://developers.sones.de/2011/10/17/intention-of-saving-dbpedia-in-graphdb/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 11:09:57 +0000</pubDate>
		<dc:creator>holger.liebau</dc:creator>
				<category><![CDATA[use-case]]></category>
		<category><![CDATA[DBPedia]]></category>
		<category><![CDATA[GraphDBPedia]]></category>

		<guid isPermaLink="false">http://developers.sones.de/?p=1103</guid>
		<description><![CDATA[DBPedia already is saved in a machine readable format (RDF). We’ve started a proof-of-concept to show that GraphDB is able to solve these requirements too and to find out differences, advantages and disadvantages of the different concepts. In RDF, the data model stands next to the data. Within sones GraphDB there is close connection between [...]]]></description>
			<content:encoded><![CDATA[<p>DBPedia already is saved in a machine readable format (RDF). We’ve started a proof-of-concept to show that GraphDB is able to solve these requirements too and to find out differences, advantages and disadvantages of the different concepts.<br />
In RDF, the data model stands next to the data. Within sones GraphDB there is close connection between each object (node) and it’s (Vertex) type. For example the node “Homer Simpson” knows that he’s a “FictionalCharacter”.<br />
Our expectation was, that GraphDB requires less hard-disk space and also offers a better data store, since all information about an object is saved in a unique node instead of  several triple-data-files. Besides, any relationship between two objects (e.g. a person and its birth-place) is saved directly on that object. While loading a node, all information is available from a single location.<br />
During project runtime we’ve discovered several problems that can be solved with that idea. The arising data network enables customers to find out complex relationships between any node using graph-algorithms. Disambiguation of words is possible, using the schema information (e.g. Tuareg can be either nomads living in the Sahara or a vehicle built by a German car vendor).</p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/10/17/intention-of-saving-dbpedia-in-graphdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GraphDBPedia – What’s it about?</title>
		<link>http://developers.sones.de/2011/10/17/graphdbpedia-%e2%80%93-what%e2%80%99s-it-about/</link>
		<comments>http://developers.sones.de/2011/10/17/graphdbpedia-%e2%80%93-what%e2%80%99s-it-about/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 11:06:15 +0000</pubDate>
		<dc:creator>holger.liebau</dc:creator>
				<category><![CDATA[use-case]]></category>
		<category><![CDATA[DBPedia]]></category>
		<category><![CDATA[GraphDBPedia]]></category>

		<guid isPermaLink="false">http://developers.sones.de/?p=1098</guid>
		<description><![CDATA[We’ve had our first contacts with DBPedia in May 2010 already. A prospect asked us, whether or not GraphDB is the best way to reflect the data schema and import all data. After getting a first impression from the DBPedia-Website: from www.dbpedia.org/About: “DBpedia is a community effort to extract structured information from Wikipedia and to make this information available [...]]]></description>
			<content:encoded><![CDATA[<p>We’ve had our first contacts with DBPedia in May 2010 already. A prospect asked us, whether or not GraphDB is the best way to reflect the data schema and import all data. After getting a first impression from the DBPedia-Website:</p>
<p>from www.dbpedia.org/About:</p>
<p><em><strong>“DBpedia</strong> is a community effort to extract structured information from <a title="Outgoing link (in new window)" href="http://wikipedia.org/" target="_blank">Wikipedia</a> and to make this information available on the Web. DBpedia allows you to ask sophisticated queries against Wikipedia, and to link other data sets on the Web to Wikipedia data. We hope this will make it easier for the amazing amount of information in Wikipedia to be used in new and interesting ways, and that it might inspire new mechanisms for navigating, linking and improving the encyclopaedia itself.”</em></p>
<p>We’ve decided: Yes, it is!.</p>
<p><em> from www.dbpedia.org/Datasets:</em></p>
<p><em><strong>DBpedia</strong> uses the Resource Description Framework (RDF) as a flexible data model for representing extracted information and for publishing it on the Web. We use the SPARQL query language to query this data. Please refer to the Developers Guide to Semantic Web Toolkits to find a development toolkit in your preferred programming language to process DBpedia data.</em></p>
<p><em>The DBpedia knowledge base currently describes more than 3.64 million things, out of which 1.83 million are classified in a consistent Ontology, including 416,000 persons, 526,000 places (including 360,000 populated places), 106,000 music albums, 60,000 films, 17,500 video games, 169,000 organizations (including 40,000 companies and 38,000 educational institutions), 183,000 species and 5,400 diseases.</em></p>
<p>At this time we’ve not yet had too much experiences with the Semantic Web, therefore there was probably some work to do.</p>
<p>The following blog articles will describe our work and refer to the source-code available under www.github.com/sones/sones-dbpedia</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/10/17/graphdbpedia-%e2%80%93-what%e2%80%99s-it-about/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>new index interfaces and how to integrate custom indices</title>
		<link>http://developers.sones.de/2011/09/08/new-index-interfaces-and-how-to-integrate-custom-indices/</link>
		<comments>http://developers.sones.de/2011/09/08/new-index-interfaces-and-how-to-integrate-custom-indices/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 12:37:07 +0000</pubDate>
		<dc:creator>Martin Junghanns</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[GraphDB]]></category>

		<guid isPermaLink="false">http://developers.sones.de/?p=1076</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p><a href="http://developers.sones.de/wp-content/uploads/2011/09/IndexInterfaces_overview.png"><img src="http://developers.sones.de/wp-content/uploads/2011/09/IndexInterfaces_overview-1024x371.png" alt="" title="IndexInterfaces_overview" width="600" class="alignnone size-large wp-image-1079" /></a></p>
<p>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.</p>
<p>Source 1: <a href="http://developers.sones.de/wiki/doku.php?id=documentation:plugins:database:indices" title="Index Interfaces at developer wiki" target="_blank">Index Interfaces at developer wiki</a><br />
Source 2: <a href="http://developers.sones.de/wiki/doku.php?id=documentation:plugins:database:indices#implementing_a_custom_index" title="Integration tutorial at developer wiki" target="_blank">Integration tutorial at developer wiki</a><br />
Source 3: <a href="https://github.com/sones/sones-bstindex-tutorial" title="Source code at github" target="_blank">Source code at github</a></p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/09/08/new-index-interfaces-and-how-to-integrate-custom-indices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>use Mule ESB with GraphDB</title>
		<link>http://developers.sones.de/2011/08/31/use-mule-esb-with-graphdb/</link>
		<comments>http://developers.sones.de/2011/08/31/use-mule-esb-with-graphdb/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 14:03:38 +0000</pubDate>
		<dc:creator>bietiekay</dc:creator>
				<category><![CDATA[Connectors]]></category>
		<category><![CDATA[GraphDB]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[use-case]]></category>

		<guid isPermaLink="false">http://developers.sones.de/2011/08/31/use-mule-esb-with-graphdb/</guid>
		<description><![CDATA[We always think about new ways to integrate GraphDB into existing environments. And one of those environments our users are working with right now are the several Enterprise Service Busses which are available right now. One big player in the ESB environment is the Mule Open Source ESB: “Mule is a lightweight enterprise service bus [...]]]></description>
			<content:encoded><![CDATA[<p>We always think about new ways to integrate GraphDB into existing environments. And one of those environments our users are working with right now are the several Enterprise Service Busses which are available right now. </p>
<p>One big player in the ESB environment is the Mule Open Source ESB:</p>
<p><em>“<a href="http://www.mulesoft.org/" target="_blank">Mule</a> is a lightweight enterprise service bus (ESB) and integration framework. It can handle services and applications using disparate transport and messaging technologies. The platform is Java-based, but can broker interactions between other platforms such as .NET using web services or sockets.</em></p>
<p><em>The architecture is a scalable, highly-distributable object broker that can seamlessly handle interactions across legacy systems, in-house applications and almost all modern transports and protocols.”</em></p>
<p>In order to show how a GraphDB integrates into those typical ESB environments we created a small example.</p>
<p>The architecture of this example is like this:</p>
<p><a href="http://developers.sones.de/wiki/doku.php?id=tutorials:muleexampleapp" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="mule-esb" border="0" alt="mule-esb" src="http://developers.sones.de/wp-content/uploads/2011/08/mule-esb.png" width="400" height="432" /></a></p>
<p>The idea behind this is that an example Message-WebApp is posting a message to the Mule ESB and then this message gets transformed and in the last consequence consumed by a sones RESTful webservice hosted by a GraphDB. </p>
<p>You can read more in this <a href="http://developers.sones.de/wiki/doku.php?id=tutorials:muleexampleapp" target="_blank">tutorial here</a> and you can <a href="https://github.com/sones/sones-mule" target="_blank">download the sourcecode here</a>.</p>
<p>Source 1: <a title="http://www.mulesoft.org/" href="http://www.mulesoft.org/" target="_blank">http://www.mulesoft.org/</a>    <br />Source 2: <a title="https://github.com/sones/sones-mule" href="https://github.com/sones/sones-mule" target="_blank">https://github.com/sones/sones-mule</a>    <br />Source 3: <a title="http://developers.sones.de/wiki/doku.php?id=tutorials:muleexampleapp" href="http://developers.sones.de/wiki/doku.php?id=tutorials:muleexampleapp">http://developers.sones.de/wiki/doku.php?id=tutorials:muleexampleapp</a></p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/08/31/use-mule-esb-with-graphdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>manage edge types with GraphDB 2.1</title>
		<link>http://developers.sones.de/2011/08/28/manage-edge-types-with-graphdb-2-1/</link>
		<comments>http://developers.sones.de/2011/08/28/manage-edge-types-with-graphdb-2-1/#comments</comments>
		<pubDate>Sun, 28 Aug 2011 19:00:40 +0000</pubDate>
		<dc:creator>bietiekay</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[GraphDB]]></category>
		<category><![CDATA[GraphQL]]></category>

		<guid isPermaLink="false">http://developers.sones.de/?p=1051</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>With version 2.0 of sones GraphDB we introduced an enhanced graph model we call <a href="http://developers.sones.de/wiki/doku.php?id=property_hypergraph" target="_blank">Property Hypergraph</a>.</p>
<p style="text-align: center;"><a href="http://developers.sones.de/wp-content/uploads/2011/08/fetch1.png"><br />
</a><a href="http://developers.sones.de/wp-content/uploads/2011/08/fetch1.png" rel="http://developers.sones.de/wiki/doku.php?id=property_hypergraph" target="_blank"><img class="aligncenter size-full wp-image-1052 alignnone" title="Property Hypergraph" src="http://developers.sones.de/wp-content/uploads/2011/08/fetch1.png" alt="" width="295" height="423" /></a></p>
<p style="text-align: left;">In this Property Hypergraph model there are some standard edge types:</p>
<ul>
<li>single-edge: an edge between two vertices</li>
<li>multi-edge: an edge splitting up into single-edges of the same edge type pointing towards the same vertex type.</li>
<li>hyper-edge: an edge to a subgraph made up by all possible types of vertices</li>
</ul>
<p>In order to create different vertex types since version 1.0 of sones GraphDB the GraphQL command “<strong><em>CREATE VERTEX TYPE</em></strong>” 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.</p>
<p>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.</p>
<p>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:</p>
<p style="text-align: center;"><a href="http://developers.sones.de/wp-content/uploads/2011/08/edgetype_sample.png"><img class="size-full wp-image-1055 aligncenter" title="edgetype_sample" src="http://developers.sones.de/wp-content/uploads/2011/08/edgetype_sample.png" alt="" width="406" height="190" /></a></p>
<p style="text-align: left;">The GraphQL Queries to create the above scheme would be these:</p>
<blockquote><p><strong>CREATE EDGE TYPE</strong> UserLink <strong>ATTRIBUTES</strong> (<em>Double</em> weight, <em>String</em> priority, <em>LIST</em>&lt;<em>String</em>&gt; tags) <strong>COMMENT</strong> = ‘This is my edge type named UserLink.’<br />
<strong>CREATE VERTEX TYPE</strong> User <strong>ATTRIBUTES</strong> (<em>String</em> name, <em>SET</em>&lt;User(UserLink)&gt; friends)<br />
<strong>INSERT INTO</strong> User <strong>VALUES</strong> (name = ‘UserA’)<br />
<strong>INSERT INTO</strong> User <strong>VALUES</strong> (name = ‘UserB’, friends = <strong>SETOF</strong>(name = ‘UserA’ : (weight = 15.5, priority = ‘high’, tags = <strong>LISTOF</strong>(‘best friend’, ‘mate’))))</p></blockquote>
<p>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.</p>
<p>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 <a href="http://github.com/sones/sones" target="_blank">grab the current source code on github</a> and get started.</p>
<p>Additional documentation and examples are available in our documentation wiki. Here are some places you will find more information:</p>
<ul>
<li><a href="http://developers.sones.de/wiki/doku.php?id=documentation:database:edges:latest" target="_blank">Edges in GraphDB</a></li>
<li><a href="http://developers.sones.de/wiki/doku.php?id=documentation:graphql:gddl" target="_blank">GraphQL data definition language (DDL)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/08/28/manage-edge-types-with-graphdb-2-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>more complex graphs in GraphDB 2.1</title>
		<link>http://developers.sones.de/2011/08/24/more-complex-graphs-in-graphdb-2-1/</link>
		<comments>http://developers.sones.de/2011/08/24/more-complex-graphs-in-graphdb-2-1/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 14:05:43 +0000</pubDate>
		<dc:creator>bietiekay</dc:creator>
				<category><![CDATA[demo]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[GraphQL]]></category>
		<category><![CDATA[sones]]></category>
		<category><![CDATA[visualization]]></category>
		<category><![CDATA[WebShell]]></category>

		<guid isPermaLink="false">http://developers.sones.de/?p=1045</guid>
		<description><![CDATA[Not long ago we showed off the new capabilities of GraphDB 2.1 (to be released at the end of 2011) regarding the visualization of data. Now we extended that capabilities and added another Output Plug-In to the Community Edition. It’s called GraphVis. And you can download it now with our source-code package from our GitHub [...]]]></description>
			<content:encoded><![CDATA[<p>Not long ago we showed off the new capabilities of GraphDB 2.1 (to be released at the end of 2011) regarding the visualization of data. Now we extended that capabilities and added another Output Plug-In to the Community Edition. It’s called GraphVis.</p>
<p>And you can download it now with our source-code package from our <a href="http://github.com/sones/sones" target="_blank">GitHub repository</a>.</p>
<p>The best way to show-off the new functionality is by literally showing it:</p>
<p style="text-align: center;"><iframe width="560" height="345" src="http://www.youtube.com/embed/6WlOIJ8OZT8" frameborder="0" allowfullscreen></iframe></p>
<p>A good start for the documentation of the new visualization options is our <a href="http://developers.sones.de/wiki/doku.php?id=connectors:graphdsrest2" target="_blank">ever growing wiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/08/24/more-complex-graphs-in-graphdb-2-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Benchmarking GraphDB</title>
		<link>http://developers.sones.de/2011/08/08/benchmarking-graphdb/</link>
		<comments>http://developers.sones.de/2011/08/08/benchmarking-graphdb/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 15:47:53 +0000</pubDate>
		<dc:creator>bietiekay</dc:creator>
				<category><![CDATA[benchmark]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[GraphDB]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[use-case]]></category>

		<guid isPermaLink="false">http://developers.sones.de/2011/08/08/benchmarking-graphdb/</guid>
		<description><![CDATA[For many scenarios it’s important to know how a database performs. Especially these days when the number of databases seem to grow by the day and a choice is hard to make. To demonstrate how sones GraphDB performs at given use-cases we created a benchmark framework and tool which basically divides benchmarking into two steps: [...]]]></description>
			<content:encoded><![CDATA[<p>For many scenarios it’s important to know how a database performs. Especially these days when the number of databases seem to grow by the day and a choice is hard to make. </p>
<p>To demonstrate how sones GraphDB performs at given use-cases we created a benchmark framework and tool which basically divides benchmarking into two steps: </p>
<ol>
<li>
<p>Generate and/or Import use-case specific data and measure the performance</p>
</li>
<li>
<p>Execute use-case specific algorithms on the graph and measure the performance</p>
</li>
</ol>
<p>Because there are many different use-cases these both steps are made up by plug-ins which can be adressed using the commandline which is integrated into the benchmark tool. </p>
<p>The framework, tool and plug-ins are released as AGPLv3 licensed OpenSource software and can be downloaded <a href="https://github.com/sones/benchmark">here</a>. </p>
<p>We distribute the source code mainly because it’s the best way for you to reproduce the results and take a look at what actually is being tested, the other main cause is that we want everybody to be able to benchmark and test their own algorithms on GraphDB. </p>
<p align="center"><a href="http://developers.sones.de/wp-content/uploads/2011/08/fetch.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="fetch" border="0" alt="fetch" src="http://developers.sones.de/wp-content/uploads/2011/08/fetch_thumb.png" width="404" height="448" /></a></p>
<p>Source 1: <a title="https://github.com/sones/benchmark" href="https://github.com/sones/benchmark">https://github.com/sones/benchmark</a>    <br />Source 2: <a title="http://developers.sones.de/wiki/doku.php?id=benchmarks" href="http://developers.sones.de/wiki/doku.php?id=benchmarks">http://developers.sones.de/wiki/doku.php?id=benchmarks</a></p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/08/08/benchmarking-graphdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forum and Bugtracking is online</title>
		<link>http://developers.sones.de/2011/08/01/forum-and-bugtracking-is-online/</link>
		<comments>http://developers.sones.de/2011/08/01/forum-and-bugtracking-is-online/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 16:06:15 +0000</pubDate>
		<dc:creator>bietiekay</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[GraphDB]]></category>

		<guid isPermaLink="false">http://developers.sones.de/2011/08/01/forum-and-bugtracking-is-online/</guid>
		<description><![CDATA[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. [...]]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://github.com/sones/sones" target="_blank">GitHub presence</a> by adding the functionality to discuss and get/give support. </p>
<p><em><strong><a href="http://forum.sones.de" target="_blank"><font size="4">forum.sones.de</font></a></strong></em></p>
<p>It’s a way to communicate with GraphDB users and developers, either those working at sones or those out in the community. </p>
<p> </p>
<p align="center"><a href="http://developers.sones.de/wp-content/uploads/2011/08/forum.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="forum" border="0" alt="forum" src="http://developers.sones.de/wp-content/uploads/2011/08/forum_thumb.png" width="404" height="381" /></a></p>
<p><em><strong><font size="4"><a href="http://jira.sones.de" target="_blank">jira.sones.de</a></font></strong></em></p>
<p>In order to make a wish, to report bugs, to track the progress of the GraphDB development the bugtracking tool Jira (made by <a href="http://www.atlassian.com/software/jira/" target="_blank">Atlassian</a>) is used.</p>
<p align="center"><a href="http://developers.sones.de/wp-content/uploads/2011/08/jira.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="jira" border="0" alt="jira" src="http://developers.sones.de/wp-content/uploads/2011/08/jira_thumb.png" width="404" height="304" /></a></p>
<p>You can always go to those new tools and just read – but we encourage you to jump in and <a href="http://forum.sones.de/register" target="_blank">register yourself</a> 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.</p>
<p> </p>
<p>Source 1: <a href="http://github.com/sones/sones" target="_blank">http://github.com/sones/sones</a>    <br />Source 2: <a href="http://forum.sones.de" target="_blank">http://forum.sones.de</a>    <br />Source 3: <a href="http://jira.sones.de" target="_blank">http://jira.sones.de</a>    <br />Source 4: <a href="http://forum.sones.de/register" target="_blank">http://forum.sones.de/register</a></p>
]]></content:encoded>
			<wfw:commentRss>http://developers.sones.de/2011/08/01/forum-and-bugtracking-is-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

