#acl Simon Skilevic:read,write Björn Buchhold:read,write All:read,write = Triple Stores = We tested the performance of two triple stores: Virtuoso and RDF-3X. We compare them to our own triple store on a couple of benchmarks. == Software Installation == === Installation von Virtuoso Open-Source Edition: === 1. [[http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSDownload|Herunterladen]] 2. Anweisungen in der README-Datei folgen. === Installation von rdf3x: === 1. [[https://code.google.com/p/rdf3x/downloads/list|Herunterladen]] 2. Kompilieren === Installation von SparqlEngineDraft: === 1. [[https://code.google.com/p/rdf3x/downloads/list|Klonen]] 2. [[https://github.com/Buchhold/SparqlEngineDraft#1-build|Anweisungen]] befolgen. == Data Import == Um den Datensatz in die Triple-Stores laden zu können, muss dieser Satz in ein für die RDF-Speicherung gängiges Format umgewandelt werden. Ausgewählt wurde das NT-Format. Der ursprüngliche Datensatz enthält Values und Entities. Values waren schon nt-konform, die Entities mussten umgewandelt werden. Dafür wurden die Entities in eckige Klammern gesetzt und unzulässige Zeichen durch die entsprechenden Prozent-Kodierungen oder durch von uns definierte Ersatzzeichen ersetzt (siehe Ersetzungtabelle unten). === Ersetzungstabelle: === || % |||| < |||| > |||| \ |||| ^ |||| ` |||| space || || %25 |||| %3C |||| %3E |||| %5C |||| %5E |||| %60 |||| _ || Z.B.: '' Michael Jackson --> '' === Data Import Virtuoso: === Das Importieren der Daten in den Virtuoso Store wurde mit dem [[http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtBulkRDFLoader|Bulk loading process]] durchgeführt. Bei diesem Prozess muss der Name des RDF-Graphen als graph_iri eingegeben werden. Unter diesem Namen ist der RDF-Satz bei Virtuoso erreichbar: Wenn man eine Sparql-Anfrage an den Store erstellt, muss man die graph_iri als prefix für jede Entity benutzen. Z.B.: '' Michael Jackson --> '' '' ''*'' Für bessere Ladeperformance empfiehlt sich die Variablen ''NumberOfBuffers'' und ''MaxDirtyBuffers'' in der virtuoso.ini-Datei auf einen höheren Wert zu setzen (genaueres ist in virtuoso.ini beschrieben). Die Datei liegt unter ''/var/lib/virtuoso/db/virtuoso.ini'' === Data Import Rdf3x: === Das Importieren der Daten in den Rdf3x-Store erfolgt durch ein Skript in ''/bin/rdf3xload ''. Bei der Anfragegenerierung ist kein zusätzlicher Präfix erforderlich. Z.B.: '' Michael Jackson --> '' '' === Data Import SparqlEngineDraft: === [[https://github.com/Buchhold/SparqlEngineDraft#2-creating-an-index|Anweisungen]] befolgen. Bei der Anfragegenerierung ist kein zusätzlicher Präfix erforderlich. Z.B.: '' Michael Jackson --> '' '' === Indexerstellung: === Die Größe des Input-RDF-Sets im NT-Format beträgt 17 GB. || '''RDF-Store''' |||| '''Ladezeit''' |||| '''Indexgröße auf der Festplatte''' || '''Indexgröße im Arbeitspeicher (unmittelbar nach dem Serverstart)''' || || Virtuoso |||| 23 min |||| 7.9 GB |||| 5.8 GB || || Rdf3x |||| 76 min |||| 12 GB |||| ? || || !SparqlEngineDraft |||| 26 min |||| 14.2 GB |||| 3.5 GB || === Tests === '''Zeilenformat:''' ''