De Semantic Web a Linked Data si wéi de Weltraum: et gëtt kee Liewen do. Fir eng méi oder manner laang Zäit dohinner ze goen ... bon, ech weess net wat se Iech als Kand als Äntwert op "Ech wëll Astronaut ginn." Awer Dir kënnt observéieren wat geschitt wärend op der Äerd; Et ass vill méi einfach en Amateurastronom oder souguer Profi ze ginn.
Den Artikel konzentréiert sech op rezent, net méi al wéi e puer Méint, Trends aus der Welt vun der RDF Lagerung. D'Metapher am éischte Paragraphe gouf inspiréiert vum epesche Werbebild ënner dem Schnëtt.
epescht Bild

I. GraphQL fir RDF Zougang
datt 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:
- stardog (, );
- TopQuadrant Produkter (, ).
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 . Oder Dir kënnt schonn näischt schreiwen, mee just huelen .
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.
- am Stardog elo - besonnesch alles op der selwechter GraphQL - konfiguréieren d'Display vu MongoDB Daten a virtuelle RDF Grafiken;
- GraphDB huet viru kuerzem 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 déi kann ugepasst ginn , 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 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 .
III. OLTP vs. OLAP
Allerdéngs, déi selwecht Gartner datt 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 ze schaffen ronderëm schreiwen Leeschtung Problemer;
- Stardog geet nach méi wäit a komplett Motor, erëm mam Zil d'Schreifleistung ze verbesseren.
Loosst mech elo en neie Spiller um Maart aféieren. vun den Creatoren vun IBM Netezza an Amazon Redshift - . 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 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 , 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 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 . Virun der Aféierung huet Wikidata seng historesch Informatioune missen zougänglech sinn 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 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:
- Ännerungen am RDF-Modell maachen, déi et méiglech maachen LPG-Konstruktiounen dran ze simuléieren;
- Ä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 :
- Amplaz zum Beispill de Prädikat
:isMarriedToPrädikate benotzt ginn:isMarriedTo1,:isMarriedTo2an esou weider. - Dës Prädikater ginn dann Themen vun neien Triplets:
:isMarriedTo1 :since "2013-09-13"^^xsd:datean 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 . 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 aka RDR, am Darm vum Blazegraph. Et ass vun Ufank un fir mech an AnzoGraph. D'Soliditéit vun der Approche gëtt vun der Tatsaach festgeluegt datt a sengem Kader entspriechend Ännerungen an . 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 stardog.
An Allegrograph op eng Tëschenzäit. Et ass bekannt datt d'Identificateuren vun Triplets am Allegrograph , 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 и . Eng SPARQL* Ufro gesäit esou aus:
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }- Anzograph ënnerstëtzt och a wäert ënnerstëtzen , d'Ufrosprooch am Neo4j.
- Stardog hält seng eege SPARQL an 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 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. Déi nei Open Source RDF Geschäfter sinn e laange Wee vun enger gudder Wiel fir alldeeglech Benotzung, an déi nei RDF Geschäfter déi ech benotze wéilt (wéi AnzoGraph) sinn zougemaach Quell. Amplaz kënne mir souguer iwwer Ofsenkungen 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 déi gratis Versioun verdeelen (awer d'Proufzäit vun der regulärer huet sech verduebelt);
- в , wou Dir virdru e gratis Basisplang konnt wielen, huet nei Benotzerregistrierungen 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
