{"id":33363,"date":"2019-10-31T21:52:11","date_gmt":"2019-10-31T18:52:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/chto-sejchas-proishodit-s-rdf-hranilishhami\/"},"modified":"2019-10-31T21:52:11","modified_gmt":"2019-10-31T18:52:11","slug":"chto-sejchas-proishodit-s-rdf-hranilishhami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","title":{"rendered":"Was passiert gerade mit den RDF-Speicherl\u00f6sungen?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Das Semantic Web und Linked Data sind \u00e4hnlich wie der nahe Weltraum: Es gibt dort kein Leben. Um dorthin f\u00fcr einen mehr oder weniger l\u00e4ngeren Zeitraum zu gehen ... nun, ich wei\u00df nicht, was man euch in der Kindheit auf die Frage \"Ich m\u00f6chte Astronaut werden\" geantwortet hat. Aber man kann das Geschehen auch von der Erde aus beobachten; es ist viel einfacher, Hobbyastronom oder sogar Profi zu werden.<\/p>\n<p><\/p>\n<p>In diesem Artikel geht es um frische Trends aus der Welt der RDF-Speicher, nicht \u00e4lter als einige Monate. Die Metapher im ersten Absatz wurde von einem episch gro\u00dfen Werbebild unterhalb inspiriert.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<b class=\"spoiler_title\">Episches Bild<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Was passiert gerade mit den RDF-Speicherl\u00f6sungen?\" src=\"\/wp-content\/uploads\/2019\/05\/3d157fb2f771f3dc622dacc8dab0a9ee.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h2 id=\"i-graphql-dlya-dostupa-k-rdf\">I. GraphQL f\u00fcr den Zugriff auf RDF<\/h2>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.zdnet.com\/article\/graphql-for-databases-a-layer-for-universal-database-access\/\">Es wird gesagt,<\/a><\/noindex>, dass GraphQL den Anspruch erhebt, eine universelle Sprache f\u00fcr den Zugriff auf Datenbanken zu sein. Wie sieht es jedoch mit der M\u00f6glichkeit aus, \u00fcber GraphQL auf RDF zuzugreifen?<\/p>\n<p><\/p>\n<p>\u201eOut of the box\u201c bieten folgende M\u00f6glichkeiten:<\/p>\n<p><\/p>\n<ul>\n<li>Stardog (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/graphql-and-paths\/\">Blogs<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_executing_graphql_queries\">Dokumentation<\/a><\/noindex>);<\/li>\n<li>Produkte von TopQuadrant (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/2018\/07\/05\/graphql-webinar\/\">Webinar<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/technology\/graphql\/\">Dokumentation<\/a><\/noindex>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Wenn das Speicher keine solche M\u00f6glichkeit bietet, kann man sie selbst umsetzen, indem man einen entsprechenden \u201eResolver\u201c schreibt. So wurde es beispielsweise im franz\u00f6sischen Projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/framagit.org\/datatourisme\/api\/tree\/master\/src\/Resolver\">DataTourisme<\/a><\/noindex>gemacht. Oder man kann mittlerweile einfach <noindex><a rel=\"nofollow\" href=\"https:\/\/www.hypergraphql.org\/\">HyperGraphQL<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>ausprobieren. Aus Sicht eines orthodoxen Anh\u00e4ngers des Semantic Web und Linked Data ist all dies nat\u00fcrlich entt\u00e4uschend, da es anscheinend f\u00fcr Integrationen gedacht ist, die um die n\u00e4chsten Daten-Silos aufgebaut werden, und nicht f\u00fcr Plattformen (selbstverst\u00e4ndlich RDF-Speicher) geeignet sind.<\/p>\n<p><\/p>\n<p>Die Eindr\u00fccke aus dem Vergleich von GraphQL mit SPARQL bleiben gemischt.<\/p>\n<p><\/p>\n<ul>\n<li>Einerseits wirkt GraphQL wie ein entfernter Verwandter von SPARQL: Es werden typische REST-Probleme wie \u00dcberabfragen und Fragmentierung gel\u00f6st \u2013 ohne die man wahrscheinlich nicht einmal als <em>Abfragesprache<\/em>gez\u00e4hlt werden k\u00f6nnte, selbst wenn es nur f\u00fcr das Web ist;<\/li>\n<li>andererseits entt\u00e4uscht die strenge Schema-Anforderungen von GraphQL. Entsprechend erscheint seine \u201eIntrospektivit\u00e4t\u201c im Vergleich zur vollst\u00e4ndigen Reflexivit\u00e4t von RDF als sehr eingeschr\u00e4nkt. Und es gibt keinen passenden Analogie zu property paths, weshalb nicht einmal klar ist, warum es \u201eGraph-\u201d hei\u00dft.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ii-adaptery-k-mongodb\">II. Adapter f\u00fcr MongoDB<\/h2>\n<p><\/p>\n<p>Ein Trend, der komplement\u00e4r zu dem vorherigen ist.<\/p>\n<p><\/p>\n<ul>\n<li>In Stardog kann man jetzt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/native-mongodb-support-is-here\/\">es k\u00f6nnte<\/a><\/noindex> \u2013 insbesondere alles auf demselben GraphQL \u2013 die Darstellung von MongoDB-Daten in virtuellen RDF-Grafen konfigurieren;<\/li>\n<li>GraphDB erm\u00f6glicht es seit kurzem, <noindex><a rel=\"nofollow\" href=\"http:\/\/graphdb.ontotext.com\/documentation\/8.8\/standard\/integrating-graphdb-with-mongodb.html\">das \u00d6ffnen eines Links in einem neuen Tab oder in einem neuen Container.<\/a><\/noindex> SPARQL-Elemente in MongoDB-Abfragen einzuf\u00fcgen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Im weiteren Sinne kann man \u00fcber Adapter f\u00fcr JSON-Quellen sprechen, die mehr oder weniger \u201eon-the-fly\u201c das in diesen Quellen gespeicherte JSON als RDF darstellen, und man kann sich an das schon lange existierende <noindex><a rel=\"nofollow\" href=\"https:\/\/ci.mines-stetienne.fr\/sparql-generate\/\">SPARQL Generate<\/a><\/noindex>erinnern, das man anpassen kann, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sparql-generate\/sparql-generate\">zum Beispiel<\/a><\/noindex>, zu Apache Jena.<\/p>\n<p><\/p>\n<p>Zusammenfassend l\u00e4sst sich sagen, dass RDF-Speicher eine vollst\u00e4ndige Bereitschaft f\u00fcr Integrationen und den Betrieb unter Bedingungen der \u201epolyglotten Persistenz\u201c zeigen. Es ist jedoch bekannt, dass dieser Trend schon lange nicht mehr angesagt ist, und ihm folgt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3105622\">die<\/a><\/noindex> Multimodelle. Wie steht es um Multimodelle in der Welt der RDF-Speicher?<\/p>\n<p><\/p>\n<p>Kurz gesagt: gar nicht. Dem Thema multimodale Datenbanken sollte ein eigener Artikel gewidmet werden, aber derzeit kann festgestellt werden, dass es keine multimodalen Datenbanken gibt, die auf einem Graphmodell basieren (eine Variante davon k\u00f6nnte RDF sein). \u00dcber eine geringe Multimodalit\u00e4t \u2013 die Unterst\u00fctzung alternativer Graphmodelle durch RDF-Speicher \u2013 wird im <noindex><a rel=\"nofollow\" href=\"#v-podderzhka-lpg\">Kapitel V<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"iii-oltp-vs-olap\">III. OLTP vs. OLAP<\/h2>\n<p><\/p>\n<p>Gartner selbst <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3467318\">berichtet<\/a><\/noindex>, dass Multimodalit\u00e4t eine conditio sine qua non in erster Linie f\u00fcr <em>operationale<\/em> Datenbanken ist. Das ist auch verst\u00e4ndlich: In einer Situation der \u201epolyglotten Persistenz\u201c treten die Hauptprobleme mit der Transaktionalit\u00e4t auf.<\/p>\n<p><\/p>\n<p>Doch wo stehen RDF-Speicher auf der OLTP-OLAP-Skala? Ich w\u00fcrde so antworten: weder hier noch dort. Um zu kennzeichnen, wof\u00fcr sie gedacht sind, braucht es eine dritte Abk\u00fcrzung. Als Vorschlag w\u00fcrde ich <em>OLIP<\/em> \u2014 Online Intellectual Processing.<\/p>\n<p><\/p>\n<p>Doch dennoch:<\/p>\n<p><\/p>\n<ul>\n<li>Die in GraphDB umgesetzten Integrationsmechanismen mit MongoDB sind nicht zuletzt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ontotext.com\/company\/news\/ontotexts-graphdb-8-8-0-enriches-the-knowledge-graph-experience\/\">daf\u00fcr<\/a><\/noindex> vorgesehen, um Probleme mit der Schreibgeschwindigkeit zu umgehen;<\/li>\n<li>Stardog geht sogar noch weiter und komplett <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">schreibt<\/a><\/noindex> die Engine neu, wiederum mit dem Ziel, die Schreibgeschwindigkeit zu erh\u00f6hen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Lassen Sie mich nun einen neuen Akteur auf dem Markt vorstellen. Von den Machern von IBM Netezza und Amazon Redshift \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/product\/anzograph\/\">AnzoGraph<\/a><\/noindex>. Das Bild aus der Werbung f\u00fcr das Produkt wurde zu Beginn des Artikels ver\u00f6ffentlicht. AnzoGraph positioniert sich als GOLAP-L\u00f6sung. Wie gef\u00e4llt Ihnen SPARQL mit Fensterfunktionen? \u2014<\/p>\n<p><\/p>\n<pre><code class=\"sql\">SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE {  \u2026  }<\/code><\/pre>\n<p><\/p>\n<h2 id=\"iv-rocksdb\">IV. RocksDB<\/h2>\n<p><\/p>\n<p>Oben wurde bereits <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">auf die Ank\u00fcndigung<\/a><\/noindex> von Stardog 7 Beta verwiesen, in der erw\u00e4hnt wurde, dass Stardog beabsichtigt, RocksDB als zugrunde liegendes Speichersystem zu nutzen \u2014 ein \u201eKey-Value\u201c-Speicher, ein Facebook-Fork von Googles LevelDB. Warum sollte man bereits von einem Trend sprechen?<\/p>\n<p><\/p>\n<p>Erstens, laut <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/RocksDB#Alternative_backend\">einem Artikel in Wikipedia<\/a><\/noindex>, migrieren nicht nur RDF-Speicher zu RocksDB. Es gibt Projekte, die RocksDB als Speichermotor in ArangoDB, MongoDB, MySQL und MariaDB, Cassandra verwenden.<\/p>\n<p><\/p>\n<p>Zweitens werden auf RocksDB Projekte (d. h. keine Produkte) zu diesem Thema entwickelt.<\/p>\n<p><\/p>\n<p>Zum Beispiel nutzt eBay RocksDB in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eBay\/beam\">der Plattform<\/a><\/noindex> f\u00fcr sein \u201eWissen graf\u201c. \u00dcbrigens ist es interessant zu lesen: <em>die Abfragesprache begann als ein hauseigenes Format, hat sich aber k\u00fcrzlich mehr und mehr wie SPARQL entwickelt<\/em>. Wie im Witz: so viele Wissensgraphen wir erstellen, es wird immer RDF.<\/p>\n<p><\/p>\n<p>Ein weiteres Beispiel ist der vor einigen Monaten entstandene <noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikidata.org\/wiki\/Wikidata:History_Query_Service\">Wikidata History Query Service<\/a><\/noindex>. Vor seiner Entstehung musste man f\u00fcr historische Informationen zu Wikidata \u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mediawiki.org\/wiki\/Wikidata_Query_Service\/User_Manual\/MWAPI\">MWAPI<\/a><\/noindex> auf die Standard-Mediawiki-API zugreifen. Jetzt ist vieles mit reinem SPARQL m\u00f6glich. \u201eUnter der Haube\u201c l\u00e4uft dort auch RocksDB. \u00dcbrigens hat WDHQS anscheinend jemand gemacht, der beim Import von Freebase in den Google Knowledge Graph t\u00e4tig war.<\/p>\n<p><\/p>\n<h2 id=\"v-podderzhka-lpg\">V. Unterst\u00fctzung von LPG<\/h2>\n<p><\/p>\n<p>Ich erinnere an den Hauptunterschied zwischen LPG-Grafen und RDF-Grafen.<\/p>\n<p><\/p>\n<p>In LPG k\u00f6nnen an Instanzen von Kanten skalarische Eigenschaften angeh\u00e4ngt werden, w\u00e4hrend sie in RDF nur an \u201eTypen\u201c von Kanten angeh\u00e4ngt werden k\u00f6nnen (daf\u00fcr k\u00f6nnen sie jedoch nicht nur skalare Eigenschaften, sondern auch normale Beziehungen haben). Diese Einschr\u00e4nkung von RDF im Vergleich zu LPG <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/swbp-n-aryRelations\/\">wird \u00fcberwunden<\/a><\/noindex> durch bestimmte Modellierungstechniken. Die Einschr\u00e4nkung von LPG im Vergleich zu RDF ist schwerer zu \u00fcberwinden, aber LPG-Grafen \u00e4hneln mehr als RDF-Grafen den Bildern aus Hararis Lehrbuch, weshalb die Menschen sie wollen.<\/p>\n<p><\/p>\n<p>Offensichtlich zerf\u00e4llt die Aufgabe der \u201eUnterst\u00fctzung von LPG\u201c in zwei Teile:<\/p>\n<p><\/p>\n<ol>\n<li>\u00c4nderungen am RDF-Modell vornehmen, die es erm\u00f6glichen, LPG-Konstruktionen zu imitieren;<\/li>\n<li>\u00c4nderungen an der Abfragesprache f\u00fcr RDF vornehmen, um auf die Daten in diesem ge\u00e4nderten Modell zuzugreifen, \u2014 oder die M\u00f6glichkeit zur Abfrage dieses Modells in g\u00e4ngigen Abfragesprachen f\u00fcr LPG realisieren.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"v1--model-dannyh\">V.1. Datenmodell<\/h3>\n<p><\/p>\n<p>Hier gibt es mehrere m\u00f6gliche Ans\u00e4tze.<\/p>\n<p><\/p>\n<p><strong>V.1.1. Singleton-Eigenschaft<\/strong><\/p>\n<p><\/p>\n<p>Der direkteste Ansatz zur Harmonisierung von RDF und LPG ist wahrscheinlich <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC4350149\/\">singleton property<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li>Statt zum Beispiel des Pr\u00e4dikats <code>:isMarriedTo<\/code> werden die Pr\u00e4dikate <code>:isMarriedTo1<\/code>, <code>:isMarriedTo2<\/code> usw.<\/li>\n<li>Dann werden diese Pr\u00e4dikate zum Subjekt neuer Tripel: <code>:isMarriedTo1 :seit &quot;2013-09-13&quot;^^xsd:date<\/code> u. a.<\/li>\n<li>Die Verbindung dieser Instanzen von Pr\u00e4dikaten mit dem allgemeinen Pr\u00e4dikat wird durch Tripel der Art <code>:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo<\/code>.<\/li>\n<li>Offensichtlich gilt, <code>rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type<\/code>, aber denken Sie dar\u00fcber nach, warum man nicht einfach schreiben sollte <code>:isMarriedTo1 rdf:type :isMarriedTo<\/code>.<\/li>\n<\/ul>\n<p><\/p>\n<p>Die Aufgabe der \u201eUnterst\u00fctzung von LPG\u201c wird hier auf der Ebene von RDFS gel\u00f6st. Diese L\u00f6sung erfordert \u00c4nderungen im entsprechenden <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf-schema\/\">Standard<\/a><\/noindex>Einige \u00c4nderungen k\u00f6nnten von RDF-Speichern erforderlich sein, die das Anh\u00e4ngen von Folgerungen unterst\u00fctzen. Bis dahin kann die Singleton-Eigenschaft einfach als eine weitere Modellierungstechnik betrachtet werden.<\/p>\n<p><\/p>\n<p><strong>V.1.2. Reifikation richtig gemacht<\/strong><\/p>\n<p><\/p>\n<p>Weniger naive Ans\u00e4tze ergeben sich aus dem Bewusstsein, dass Eigenschaftsinstanzen durchaus mit Tripeln instanziiert werden k\u00f6nnen. Wenn wir etwas \u00fcber Tripel sagen k\u00f6nnen, haben wir auch die M\u00f6glichkeit, \u00fcber Instanzen von Eigenschaften zu sprechen.<\/p>\n<p><\/p>\n<p>Der solideste dieser Ans\u00e4tze ist <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1409.3288\">RDF*<\/a><\/noindex>, auch bekannt als RDR, <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">geboren<\/a><\/noindex> im Inneren von Blazegraph. Von Anfang an <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">wurde es<\/a><\/noindex> f\u00fcr sich und AnzoGraph gew\u00e4hlt. Die Solidit\u00e4t des Ansatzes wird durch die Tatsache bestimmt, dass er <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1406.3399\">angeboten<\/a><\/noindex> entsprechende \u00c4nderungen in <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf11-mt\/\">RDF Semantics<\/a><\/noindex>beinhaltet. Die Essenz ist jedoch \u00e4u\u00dferst einfach. In der Turtle-Serialisierung von RDF kann man nun etwa Folgendes schreiben:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">&lt;&lt;:bob :isMarriedTo :alice&gt;&gt; :seit &quot;2013-09-13&quot;^^xsd:date .<\/code><\/pre>\n<p><\/p>\n<p><strong>V.1.3. Andere Ans\u00e4tze<\/strong><\/p>\n<p><\/p>\n<p>Man kann sich um formale Semantik keine Sorgen machen und einfach annehmen, dass Tripel einige Identifikatoren haben, die selbstverst\u00e4ndlich URIs sind, und neue Tripel mit diesen URIs bilden. Man m\u00fcsste nur den Zugriff auf diese URIs in SPARQL erm\u00f6glichen. So <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_motivation_implementation\">von Insidern und Beobachtern kommen. Eine offizielle Stellungnahme dazu gibt es bisher nicht.<\/a><\/noindex> Stardog. <\/p>\n<p><\/p>\n<p>In Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html\">auf einen Gegenvorschlag ein und stimmten zu, Teile des Codes von Zinc in den Hauptkern zu \u00fcbertragen. Im Wesentlichen werden einige Komponenten von Zinc in den Kernel \u00fcbertragen, jedoch nicht als separate API, sondern als Teil des Crypto-API. Beispielsweise sind im Crypto-API bereits<\/a><\/noindex> auf intermedi\u00e4rem Wege. Es ist bekannt, dass Tripel-Identifikatoren in Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-index.html\">einen<\/a><\/noindex>, aber bei der Implementierung von Triple-Attributen nach au\u00dfen sind sie nicht sichtbar. Doch auch zur formalen Semantik ist es noch ein weiter Weg. Bemerkenswert ist, dass die Tripelattribute keine URIs sind und dass die Werte dieser Attribute ebenfalls nur Literale sein k\u00f6nnen. Anh\u00e4nger von LPG erhalten genau das, was sie wollten. In einem eigens entwickelten NQX-Format sieht ein Beispiel, das dem oben genannten f\u00fcr RDF* \u00e4hnelt, so aus:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">:bob :verheiratetMit :alice {&quot;seit&quot; : &quot;2013-09-13&quot;}<\/code><\/pre>\n<p><\/p>\n<h3 id=\"v2-yazyki-zaprosov\">V.2. Abfragesprachen<\/h3>\n<p><\/p>\n<p>Nachdem LPG auf Modell-Ebene unterst\u00fctzt wurde, sollte es erm\u00f6glicht werden, Anfragen an die Daten in einem solchen Modell zu stellen.<\/p>\n<p><\/p>\n<ul>\n<li>Blazegraph unterst\u00fctzt f\u00fcr Abfragen zu RDF* <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">SPARQL*<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blazegraph\/tinkerpop3\/blob\/master\/README.md\">Gremlin.<\/a><\/noindex>Eine Abfrage in SPARQL* sieht wie folgt aus:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { &lt;&gt; :since ?since }<\/code><\/pre>\n<p><\/p>\n<ul>\n<li>Anzograph unterst\u00fctzt auch <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">SPARQL*<\/a><\/noindex> und plant die Unterst\u00fctzung von <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/cambridge-semantics-adds-opencypher-anzograph-2\/\">Cypher<\/a><\/noindex>, der Abfragesprache in Neo4j. <\/li>\n<li>Stardog unterst\u00fctzt sein eigenes <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_integration_with_sparql_2\">Erweiterung<\/a><\/noindex> SPARQL und <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_example_2\">erneut<\/a><\/noindex> Gremlin. In SPARQL kann die URI des Tripels und die \"Meta-Information\" etwa mit folgender Konstruktion abgerufen werden:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\">SELECT * {\n    BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)\n    ?id :since ?since\n}<\/code><\/pre>\n<p><\/p>\n<ul>\n<li>Allegrograph unterst\u00fctzt ebenfalls sein eigenes <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html#Querying-Attributes-using-SPARQL\">Erweiterung<\/a><\/noindex> SPARQL:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { (&quot;seit&quot; ?since)  franz:attributeNameValue  ( :bob :verheiratetMit ?wife ) }<\/code><\/pre>\n<p><\/p>\n<p>\u00dcbrigens unterst\u00fctzte GraphDB eine Zeit lang Tinkerpop\/Gremlin, unterst\u00fctzte dabei aber kein LPG. In Version 8.0 oder 8.1 wurde dies eingestellt.<\/p>\n<p><\/p>\n<h2 id=\"vi-uzhestochenie-licenziy\">VI. Versch\u00e4rfung der Lizenzen<\/h2>\n<p><\/p>\n<p>In letzter Zeit gab es keine Verst\u00e4rkung im Schnittpunkt der Mengen \"triplestore of choice\" und \"open source triplestore\". Neue RDF-Speicher mit offenem Quellcode sind immer noch weit davon entfernt, eine gute Wahl f\u00fcr den t\u00e4glichen Gebrauch zu sein, und der Quellcode neuer RDF-Speicher, die man gerne nutzen w\u00fcrde (wie AnzoGraph), ist geschlossen. Man k\u00f6nnte sogar von einem R\u00fcckgang sprechen...<\/p>\n<p><\/p>\n<p>Nat\u00fcrlich wird der offene Quellcode nicht einfach geschlossen, aber einige Speicher mit offenem Quellcode werden allm\u00e4hlich nicht mehr als w\u00fcnschenswerte Wahl betrachtet. Virtuoso, das eine Open-Source-Edition hat, ist meiner Meinung nach voller Bugs. Blazegraph wurde von AWS gekauft und bildet die Grundlage f\u00fcr Amazon Neptune; jetzt ist unklar, ob es noch einen weiteren Release geben wird. Es bleibt nur Jena...<\/p>\n<p><\/p>\n<p>Wenn der offene Quellcode jedoch nicht besonders wichtig ist und man einfach nur ausprobieren m\u00f6chte, sieht es auch weniger rosig aus als fr\u00fcher. Zum Beispiel:<\/p>\n<p><\/p>\n<ul>\n<li>Stardog <noindex><a rel=\"nofollow\" href=\"https:\/\/community.stardog.com\/t\/update-to-enterprise-and-community-trials\/1533\">stoppt<\/a><\/noindex> die Verbreitung einer kostenlosen Version (allerdings ist die Testphase der normalen Version auf das Doppelte gewachsen);<\/li>\n<li>in <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.ontotext.com\/\">GraphDB Cloud<\/a><\/noindex>, wo fr\u00fcher ein kostenloser Basisplan gew\u00e4hlt werden konnte, ist die Registrierung neuer Benutzer eingestellt worden.<\/li>\n<\/ul>\n<p><\/p>\n<p>Insgesamt wird der Weltraum f\u00fcr den durchschnittlichen IT-Nutzer immer unzug\u00e4nglicher, und seine Erschlie\u00dfung wird zum Gesch\u00e4ft der Unternehmen.<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/451206\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430\u00a0\u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb. \u041d\u043e \u043f\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0441\u044c \u043d\u0430 \u0417\u0435\u043c\u043b\u0435; \u0441\u0442\u0430\u0442\u044c \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u043e\u043c-\u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u043c \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u043e\u043c \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u043e\u0449\u0435. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0441\u0432\u0435\u0436\u0438\u0445, \u043d\u0435 \u0441\u0442\u0430\u0440\u0435\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25082,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 RDF-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u043c\u0438? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:52:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Was passiert gerade mit RDF-Speichern? | ProHoster","description":"Das Semantic Web und Linked Data sind \u00e4hnlich wie der nahe Weltraum: dort gibt es kein Leben. Um dorthin f\u00fcr einen l\u00e4ngerfristigen Aufenthalt zu reisen... nun, ich wei\u00df nicht, was man Ihnen als Kind auf die Frage \"Ich m\u00f6chte Astronaut werden\" gesagt hat.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 RDF-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u043c\u0438? | ProHoster","og:description":"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:52:11+00:00","article:modified_time":"2019-10-31T18:52:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33363","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 14:56:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:42:22","updated":"2026-01-21 14:56:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/33363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=33363"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/33363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/25082"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=33363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=33363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=33363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}