Wat ass lass mat RDF Repositories elo?

Semantesch Web a Linked Data si wéi de Weltraum: et gëtt kee Liewen do. Fir méi oder manner laangfristeg dohinner ze goen ... Ech weess net wat se Iech als Kand gesot hunn als Äntwert op "Ech wëll Astronaut ginn." Awer Dir kënnt kucken wat geschitt wärend op der Äerd; en Amateurastronom oder souguer Profi ze ginn ass vill méi einfach.

Den Artikel konzentréiert sech op frësch, net méi al wéi e puer Méint, Trends aus der Welt vun der RDF Lagerung. D'Metapher am éischte Paragraph ass inspiréiert vun engem epesche Promotiounsbild ënner dem Schnëtt.


epescht Bild

Wat ass lass mat RDF Repositories elo?

I. GraphQL fir RDF Zougang

Si soendatt GraphQL behaapt déi universell Datebank Zougang Sprooch ze sinn. A wat iwwer d'Fäegkeet fir Zougang mat GraphQL op RDF ze benotzen?

Aus der Këscht gëtt dës Geleeënheet vun:

Wann de Repository net sou eng Geleeënheet bitt, gëtt se onofhängeg implementéiert andeems de passenden "Resolver" (Resolver) schreift. Dat gouf zum Beispill am franséische Projet gemaach Datentourismus. Oder Dir kënnt schonn näischt schreiwen, mee just huelen HyperGraphQL.

Aus der Siicht vun engem orthodoxen Unhänger vum Semantic Web a Linked Data, ass dëst alles natierlech traureg, well et schéngt geduecht fir Integratioune ronderëm den nächsten Datesilo gebaut, an net gëeegent Plattformen (natierlech, RDF Storage) .

D'Impressioune vum Verglach vu GraphQL mat SPARQL sinn zweefach.

  • Engersäits gesäit GraphQL aus wéi e wäite Familljemember vu SPARQL: et léist d'Problemer vun der Wiederselektioun a verschidde Ufroen déi typesch fir REST sinn - ouni déi, wahrscheinlech, et net méiglech wier ze berücksichtegen. Ufro Sprooch, op d'mannst fir de Web;
  • Op der anerer Säit stéiert de steife Schema vu GraphQL op. Deementspriechend schéngt seng "Introspektivitéit" ganz limitéiert ze sinn am Verglach mat der voller Reflexivitéit vum RDF. An et gëtt keen Analog vu Immobilieweeër, also ass et net emol ganz kloer firwat et "Graph-" ass.

II. Adapter fir MongoDB

En Trend ergänzen zu der viregter.

  • Elo bei Stardog eventuell - besonnesch alles op der selwechter GraphQL - konfiguréieren d'Display vu MongoDB Daten a virtuelle RDF Grafiken;
  • Ontotext GraphDB viru kuerzem et erlaabt an SPARQL Fragmenter op MongoDB Query setzen.

Méi breet schwätzen, iwwer Adapter fir JSON Quellen déi et méi oder manner "on the fly" erlaben den JSON deen an dëse Quellen als RDF gespäichert ass ze representéieren, da kënne mir och déi existent erënneren fir eng laang Zäit SPARQL Generéieredéi kann ugepasst ginn zum Beispill, zu Apache Jena.

Zesummefaassend déi éischt zwee Trends, kënne mir soen datt RDF Repositories déi voll Bereetschaft fir Integratioun a Fonctionnement ënner Bedéngungen vu "Multiple Storage" (Polyglot Persistenz) weisen. Et ass awer bekannt, datt dës lescht scho laang aus der Moud ass, an ze ersetzen kommen Multi-Modeller. A wat iwwer Multi-Modelléierung an der Welt vun der RDF Lagerung?

Bref, op kee Fall. Ech wéilt gären en separaten Artikel zum Thema Multi-Modell DBMS widmen, awer fir de Moment kënnt Dir gesinn datt et keng Multi-Modell DBMS "baséiert" op dem Grafikmodell gëtt (RDF kann als Variatioun dovun ugesi ginn) elo. Iwwer e puer kleng Multi-Modellering - Ënnerstëtzung duerch RDF-Späichere vun engem alternativen LPG-Grafikmodell - gëtt diskutéiert an Abschnitt V.

III. OLTP vs. OLAP

Allerdéngs, déi selwecht Gartner hie schreiftdatt d'Multimodelléierung e Sin qua non Bedingung haaptsächlech fir Operatiounssäll DBMS. Dëst ass verständlech: an enger Situatioun vu "Multiple Storage" entstinn d'Haaptproblemer mat der Transaktiounsfäegkeet.

Awer wou op der OLTP-OLAP Skala sinn RDF Repositories? Ech géif esou äntweren: weder do nach hei. Fir unzeweisen, fir wat se geduecht sinn, ass eng drëtt Ofkierzung néideg. Als Optioun géif ech proposéieren OLIP - Online Intellektuell Veraarbechtung.

Allerdéngs nach ëmmer:

  • d'Integratiounsmechanismen, déi a GraphDB mat MongoDB implementéiert sinn, sinn net déi mannst virgesinn ze schaffen ronderëm schreiwen Leeschtung Problemer;
  • Stardog geet nach méi wäit a komplett rewrites Motor, erëm mam Zil d'Schreifleistung ze verbesseren.

An elo loosse mech en neie Spiller um Maart aféieren. Vun den Creatoren vun IBM Netezza an Amazon Redshift - AnzoGraph™. E Bild vun enger Annonce fir e Produkt baséiert op deem gouf am Ufank vum Artikel gesat. AnzoGraph positionéiert sech als GOLAP Léisung. Wéi gefällt Dir SPARQL mat Fënsterfunktiounen? -

SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE {  …  }

IV. RocksDB

schonn uewen et war e Link un d'Ukënnegung vun Stardog 7 Beta, déi gesot huet, datt Stardog RocksDB als Basisdaten Stockage System géif benotzen - Schlëssel-Wäert Stockage, Facebook d'Gabel vun Google's LevelDB. Firwat ass et derwäert iwwer e bestëmmten Trend ze schwätzen?

Éischtens, beurteelen duerch Wikipedia Artikel, net nëmmen RDF Repositories ginn "transplantéiert" op RocksDB. Et gi Projete fir RocksDB als Späichermotor an ArangoDB, MongoDB, MySQL a MariaDB, Cassandra ze benotzen.

Zweetens, Projeten (dat ass, net Produkter) vum entspriechende Fach ginn op RocksDB gemaach.

Zum Beispill benotzt eBay RocksDB an Plattform fir Är "Wëssensgrafik". Et ass iwwregens witzeg ze liesen: d'Ufrosprooch huet als hausgemaachte Format ugefaang, awer méi kuerzem ass et iwwergaang fir vill méi wéi SPARQL ze sinn. Wéi an engem Witz: Egal wéi vill Wëssen Grafik mir maachen, mir kréien nach RDF.

En anert Beispill - erschéngt virun e puer Méint Wikidata Geschicht Query Service. Virun der Aféierung huet Wikidata seng historesch Informatioune missen zougänglech sinn MWAPI op de Standard Mediawiki API. Vill ass elo méiglech a pure SPARQL. "Under the Hood" gëtt et och RocksDB. Iwwregens, WDHQS huet et gemaach, et gesäit aus wéi d'Persoun involvéiert ass fir Freebase an d'Google Knowledge Graph z'importéieren.

V. LPG Ënnerstëtzung

Loosst mech Iech den Haaptunterschied tëscht LPG Grafiken an RDF Grafiken erënneren.

A LPG kënne scalar Eegeschaften u Randinstanzen befestegt ginn, während se an RDF nëmme mat Rand "Typen" kënne befestegt ginn (awer net nëmmen scalar Eegeschaften, awer och gewéinlech Linken). Dës Begrenzung vu RDF am Verglach zum LPG iwwerwannen eng Zort Modellertechnik. D'Limitatioune vu LPG am Verglach zum RDF si méi schwéier ze iwwerwannen, awer LPG Grafike si méi wéi Biller aus dem Harari Léierbuch wéi RDF Grafike, sou datt d'Leit se wëllen.

Natierlech fällt d'Aufgab "LPG z'ënnerstëtzen" an zwee Deeler:

  1. Ännerungen am RDF-Modell maachen, déi et méiglech maachen LPG-Konstruktiounen dran ze simuléieren;
  2. Ännerungen an der RDF Query Sprooch ze maachen, déi et méiglech maachen Zougang zu Daten an dësem modifizéierten Modell, oder d'Ëmsetzung vun der Fäegkeet fir dëse Modell a populäre LPG Query Sproochen ze froen.

V.1. Datemodell

Et gi verschidde méiglech Approche hei.

V.1.1. Singleton Propriétéit

Déi wuertwiertlechst Approche fir RDF a LPG ze harmoniséieren ass wahrscheinlech Singleton Propriétéit:

  • Amplaz zum Beispill de Prädikat :isMarriedTo Prädikate benotzt ginn :isMarriedTo1, :isMarriedTo2 an esou weider.
  • Dës Prädikater ginn dann Themen vun neien Triplets: :isMarriedTo1 :since "2013-09-13"^^xsd:date an anerer.
  • D'Verbindung vun dësen Instanzen vu Prädikate mat engem gemeinsame Prädikat gëtt duerch Triplets vun der Form etabléiert :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Et ass offensichtlech dat rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, awer iwwerleeë firwat Dir net nëmmen schreiwen soll :isMarriedTo1 rdf:type :isMarriedTo.

D'Aufgab vum "LPG Support" gëtt hei um RDFS Niveau geléist. Esou eng Decisioun erfuerdert Inklusioun an den zoustännegen Standard. E puer Ännerungen kënne vun RDF Repositories erfuerderlech sinn, déi Konsequenzen ënnerstëtzen, awer fir de Moment kann Singleton Property als just eng aner Modellertechnik geduecht ginn.

V.1.2. Reifikatioun gemaach Richteg

Manner naiv Approche staamt aus der Realiséierung datt Immobilieinstanzen perfekt vun Triplets instantiéiert sinn. Andeems mir iwwer Triplets kënne schwätzen, kënne mir och iwwer Immobilieinstanzen schwätzen.

Déi zoliddst vun dësen Approche ass RDF*aka RDR, gebuer am Darm vum Blazegraph. Et ass vun Ufank un gewielt fir mech an AnzoGraph. D'Soliditéit vun der Approche gëtt vun der Tatsaach festgeluegt datt a sengem Kader offréiert entspriechend Ännerungen an RDF Semantik. De Punkt ass awer extrem einfach. An der RDF Turtle Serialiséierung kënnt Dir elo sou eppes schreiwen:

<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .

V.1.3. Aner Approche

Dir kënnt net mat formell Semantik stéieren, awer einfach berücksichtegen datt d'Tripleten e puer Identifizéierer hunn, déi natierlech URIs sinn, a mat dësen URIs nei Triplets komponéieren. Alles wat bleift ass Zougang zu dësen URIs am SPARQL ze ginn. Also kënnt stardog.

An Allegrograph Lass op eng Tëschenzäit. Et ass bekannt datt d'Identificateuren vun Triplets am Allegrograph ass, awer wann dräifach Attributer ëmgesat ginn, hale se net eraus. Wéi och ëmmer, och formell Semantik ass ganz wäit ewech. Notamment sinn Triplet Attributer net URIs, an d'Wäerter vun dësen Attributer kënnen och nëmme literal sinn. LPG-Anhänger kréien genau wat se wollten. Am speziell erfonnten NQX-Format gesäit e Beispill wéi dat hei uewen fir RDF* esou aus:

:bob :marriedTo :alice {"since" : "2013-09-13"}

V.2. Ufro Sproochen

Nodeems Dir LPG op déi eng oder aner Manéier um Modellniveau ënnerstëtzt hutt, musst Dir et méiglech maachen Daten an esou engem Modell ze froen.

  • Blazegraph fir RDF * Ufroen ënnerstëtzt SPARQL* и Gremlin. Eng SPARQL* Ufro gesäit esou aus:

 SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }

  • Anzograph ënnerstëtzt och SPARQL* a wäert ënnerstëtzen as leider, d'Ufrosprooch am Neo4j.
  • Stardog hält seng eege Erweiderung SPARQL an erëm Gremlin. Dir kënnt d'URI vun engem Triplett an "Meta-Informatioun" an SPARQL kréien mat esou eppes:

SELECT * {
    BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
    ?id :since ?since
}

  • Allegrograph ënnerstëtzt och seng eege Erweiderung SPARQL:

 SELECT * { ("since" ?since)  franz:attributesNameValue  ( :bob :marriedTo ?wife ) }

Iwwregens huet GraphDB Tinkerpop / Gremlin gläichzäiteg ënnerstëtzt ouni LPG z'ënnerstëtzen, awer dat huet an der Versioun 8.0 oder 8.1 gestoppt.

VI. Zouzedrécken Lizenzen

Et goufe keng rezent Ergänzunge fir d'Kräizung vum "Triplestore vun der Wiel" an "Open Source Triplestore" Sets. Nei Open Source RDF Geschäfter si wäit vun enger gudder Wiel fir alldeeglech Benotzung, an de Quellcode fir nei Triple Stores déi ech gär hätt (zum Beispill AnzoGraph) ass zou. Éischter kënne mir iwwer Reduktiounen schwätzen ...

Natierlech ass fréier Open Source net zou, awer e puer Open Source Repositories ginn no an no net méi als wäertvoll ugesinn. Virtuos, déi eng Open Source Editioun huet, menger Meenung no, erdrénkt a Käferen. Blazegraph kaaft vun AWS a geformt d'Basis vum Amazon Neptun; elo ass net kloer ob et op d'mannst nach eng Verëffentlechung gëtt. Nëmme Jenna bleift ...

Wann Open Source net ganz wichteg ass, awer Dir wëllt just probéieren, dann ass alles och manner roseg wéi virdrun. Zum Beispill:

  • Stardog hält op déi gratis Versioun verdeelen (awer d'Proufzäit vun der regulärer huet sech verduebelt);
  • в GraphDB Cloud, wou Dir virdru de gratis Basisplang konnt wielen, gëtt nei Benotzerregistréierung suspendéiert.

Am Allgemengen gëtt de Raum ëmmer méi onzougänglech fir en gewéinleche IT Laie, seng Entwécklung gëtt de Lot vu Firmen.

Source: will.com

Setzt e Commentaire