Zer gertatzen ari da RDF biltegiarekin?

Web Semantikoa eta Linked Data kanpoko espazioa bezalakoak dira: han ez dago bizitzarik. Bertara denbora gutxi-asko luzean joateko... Ez dakit txikitan zer esan dizuten β€œAstronauta bihurtu nahi dut” erantzunez. Baina Lurrean gertatzen ari dena beha dezakezu; Askoz errazagoa da astronomo amateur edo profesional bihurtzea.

Artikuluak RDF biltegiratzearen munduko azken joerak izango ditu, hilabete batzuk baino zaharragoak. Lehenengo paragrafoko metafora ebaki azpiko tamaina epikoko publizitate-irudian inspiratuta dago.


Irudi epikoa

Zer gertatzen ari da RDF biltegiarekin?

I. GraphQL RDF sartzeko

Esaten duteGraphQL-k datu baseetarako sarbide-hizkuntza unibertsal bihurtzea du helburu. Zer gertatzen da GraphQL erabiliz RDF atzitzeko gaitasunarekin?

Kutxatik kanpo aukera hau eskaintzen du:

Biltegiak aukera hori ematen ez badu, modu independentean inplementatu daiteke "ebazle" egokia idatziz. Horixe egin zuten, adibidez, Frantziako proiektuan DatuTurismoa. Edo jada ezin duzu ezer idatzi, hartu baizik HyperGraphQL.

Web Semantikoaren eta Linked Dataren jarraitzaile ortodoxo baten ikuspuntutik, hori guztia, noski, tristea da, hurrengo datu-siloaren inguruan eraikitako integrazioetarako diseinatuta dagoela dirudielako, eta ez plataforma egokiak (RDF dendak, noski) .

GraphQL SPARQL-ekin alderatzearen inpresioak bi dira.

  • Batetik, GraphQL-k SPARQL-en urrutiko ahaide baten itxura du: REST-en ohikoak diren birlaginketa eta kontsulten aniztasunaren arazoak konpontzen ditu, hori gabe, ziurrenik, ezin izango litzateke kontuan hartu. kontsulta-hizkuntza, weberako behintzat;
  • Bestalde, GraphQL-ren eskema zurruna etsigarria da. Horren arabera, bere "introspektibitatea" oso mugatua dirudi RDF-ren erreflexibitate osoarekin alderatuta. Eta ez dago jabetza bideen analogorik, beraz, ez dago oso argi zergatik den "Graph-".

II. MongoDBrako egokitzaileak

Aurrekoaren osagarri den joera.

  • Stardog-en orain agian - bereziki, guztiak GraphQL berean - konfiguratu MongoDB datuen mapa RDF grafiko birtualetan;
  • Ontotext GraphDB duela gutxi aukera ematen du txertatu zatiak SPARQL-en MongoDB Query-n.

Modu zabalagoan hitz egiten badugu JSON iturrietarako egokitzaileei buruz, hau da, iturri horietan gordetako JSON RDF gisa "hegan" gehiago edo gutxiagotan irudikatzeko aukera ematen dutenak, nahiko aspaldikoa gogoratu dezakegu. SPARQL Sortuegokitu daitekeena, adibidez, Apache Jenari.

Lehenengo bi joerak laburbilduz, esan dezakegu RDF biltegiek integraziorako eta funtzionamendurako prestutasun osoa erakusten dutela "poliglota iraunkortasuneko" baldintzetan. Jakina da, ordea, azken hau aspalditik kanpo egon dela, eta ordezkatzen ari dela etortzen ari da eredu anitzeko. Zer gertatzen da RDF biltegiratze munduan multimodelarekin?

Laburbilduz, inola ere ez. Artikulu bereizi bat eskaini nahi nioke eredu anitzeko DBMSen gaiari, baina oraingoz esan daiteke ez dagoela eredu anitzeko DBMSrik grafiko-eredu batean "oinarritutako"rik (RDF motatzat har daiteke). . Hainbat eredu txiki batzuk - RDF biltegiratze euskarria LPG grafikoaren eredu alternatibo baterako - eztabaidatuko da V atala.

III. OLTP vs. OLAP

Hala ere, Gartner bera idaztenmultimodelo hori sine qua non baldintza bat da nagusiki operazio gelak DBMS. Hori ulergarria da: "aldari anitzeko biltegiratze" egoeran, arazo nagusiak transakzionalitatearekin sortzen dira.

Baina non daude RDF biltegiratzeak OLTP-OLAP eskalan? Honela erantzungo nuke: ez han ez hemen. Zertarako diren adierazteko, hirugarren laburduraren bat behar da. Aukera gisa proposatuko nuke OLIP β€” Lineako prozesamendu intelektuala.

Hala ere, oraindik:

  • GraphDBn inplementatutako MongoDBrekin integratzeko mekanismoak ez dira gutxien asmoa idazteko errendimendu arazoak lantzeko;
  • Stardog are urrunago eta guztiz doa berridazten motorra, berriz ere grabaketa errendimendua hobetzeko helburuarekin.

Orain utz iezadazu jokalari berri bat aurkezten merkatuan. IBM Netezza eta Amazon Redshift-en sortzaileetatik - AnzoGraphβ„’. Bertan oinarritutako produktu baten iragarki baten argazkia argitaratu zen artikuluaren hasieran. AnzoGraph-ek GOLAP irtenbide gisa kokatzen du. Nola gustatzen zaizu SPARQL leiho funtzioekin? β€”

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

IV. RocksDB

Dagoeneko gorago lotura bat zegoen Stardog 7 Beta-ren iragarpenari, Stardog-ek RocksDB azpiko biltegiratze sistema gisa erabiliko zuela esan zuen - gako-balioen denda bat, Google-ren LevelDB-ren Facebook fork bat. Zergatik merezi du joera jakin bati buruz hitz egitea?

Lehenik eta behin, ikusita Wikipediako artikulua, RDF biltegiak ez dira RocksDBra "transplantatzen". RocksDB biltegiratze-motor gisa erabiltzeko proiektuak daude ArangoDB, MongoDB, MySQL eta MariaDB, Cassandra.

Bigarrenik, gai garrantzitsuei buruzko proiektuak (hau da, ez produktuak) RocksDBn sortzen dira.

Adibidez, eBay-k RocksDB erabiltzen du plataforma zure "ezagutza grafikorako". Bide batez, barregarria da irakurtzea: Kontsulta-lengoaia etxeko formatu gisa hasi zen, baina azkenaldian SPARQL-ren antzekoagoa izan da.. Txantxan bezala: ez du axola zenbat ezagutza grafikoa egiten dugun, oraindik RDFrekin amaitzen dugu.

Beste adibide bat - duela hilabete batzuk agertu zena Wikidata Historia Kontsulta Zerbitzua. Sartu baino lehen, Wikidata-ren informazio historikoa eskura izan behar zen MWAPI Mediawiki API estandarrera. Orain asko da posible SPARQL hutsarekin. β€œUnder the hood” RocksDB ere badago. Bide batez, WDHQS egin zuen, antza, Freebase Google Knowledge Graph-era inportatu zuen pertsonak.

V. GLP laguntza

Gogorarazten dizut LPG grafikoen eta RDF grafikoen arteko desberdintasun nagusia.

LPG-n, propietate eskalarrak ertz-instantziari esleitu dakizkieke, RDFn, berriz, ertz "motak" soilik esleitu daitezke (baina ez bakarrik propietate eskalarrak, baita konexio arruntak ere). RDF-ren muga hori LPGarekin alderatuta gainditu modelatzeko teknika bat edo beste. LPGren mugak RDFrekin alderatuta zailagoak dira gainditzen, baina LPG grafikoak Harari testu-liburu bateko irudiak bezalakoak dira RDF grafikoak baino, horregatik jendeak nahi ditu.

Jakina, "LPG laguntza" zeregina bi zatitan banatzen da:

  1. RDF ereduan aldaketak egitea, bertan GLP egiturak simulatzea ahalbidetzen dutenak;
  2. Aldatutako eredu honetan datuak atzitzea ahalbidetzen duten RDF kontsulta-lengoaian aldaketak egitea, edo eredu honi kontsultak egiteko gaitasuna LPG-ren kontsulta-lengoaia ezagunetan ezartzea.

V.1. Datu-eredua

Hemen hainbat planteamendu posible daude.

V.1.1. Singleton Jabetza

RDF eta LPG harmonizatzeko planteamendu literalena ziurrenik izango da singleton jabetza:

  • Horren ordez, adibidez, predikatua :isMarriedTo predikatuak erabiltzen dira :isMarriedTo1, :isMarriedTo2 eta abar.
  • Ondoren, predikatu hauek hirukote berrien subjektu bihurtzen dira: :isMarriedTo1 :since "2013-09-13"^^xsd:date eta abar.
  • Predikatu-instantzia hauek predikatu komun batekin duten lotura formako hirukoteek ezartzen dute :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Jakina, rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, baina pentsatu zergatik ez duzun besterik idatzi behar :isMarriedTo1 rdf:type :isMarriedTo.

"LPG laguntza" arazoa hemen konpontzen da RDFS mailan. Erabaki horrek dagokionean sartzea eskatzen du estandarra. Baliteke aldaketa batzuk behar izatea ondorioak eranstea onartzen duten RDF dendetan, baina oraingoz, Singleton Property modelizazio-teknika bat besterik ez dela pentsa daiteke.

V.1.2. Erreifikazioa ondo egina

Ez hain inozoak diren planteamenduak jabetza-instantziak hirukoteek guztiz instantziagarriak direla jabetzetik datoz. Hirukoteei buruz zerbait esan ahal izateko, jabetza-instantziari buruz hitz egin ahal izango dugu.

Planteamendu hauetatik sendoena da RDF*, aka RDR, jaioa Blazegraph-en sakonean. Hasiera-hasieratik da hautatua zuretzat eta AnzoGraph. Planteamenduaren sendotasuna bere esparruan egoteak zehazten du eskaini dagozkion aldaketak RDF Semantika. Kontua, ordea, oso sinplea da. RDF-ren Turtle serialization-n orain honelako zerbait idatz dezakezu:

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

V.1.3. Beste ikuspegi batzuk

Ezin duzu semantika formalarekin traba egin, baizik eta hirukoteek identifikatzaile jakin batzuk dituztela, noski, URIak, eta hirukote berriak sortzen dituzte URI horiekin. SPARQL-en URI horiei sarbidea ematea besterik ez da geratzen. Beraz iristen da Izar txakurra.

Alegrografoan joan zen tarteko era batean. Jakina da Allegrograph-en hirukote-identifikatzaileak dago, baina atributu hirukoitzak ezartzean ez dira kanpoan geratzen. Hala ere, oraindik oso urrun dago semantika formaletik. Azpimarratzekoa da hirukote-atributuak ez direla URIak, eta atributu horien balioak literalak soilik izan daitezkeela. GPL atxikitzaileek nahi zutena lortzen dute. Bereziki asmatutako NQX formatuan, goiko RDF*-ren antzeko adibide bat itxura hau du:

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

V.2. Kontsulta hizkuntzak

Eredu mailan LPG modu batean edo bestean onartuta, eredu horretan datuei buruzko kontsultak egiteko aukera eman behar duzu.

  • Blazegraph RDF* kontsultak onartzen ditu SPARQL* ΠΈ Gremlin. SPARQL* kontsulta batek itxura hau du:

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

  • Anzograph ere onartzen du SPARQL* eta laguntzera doa Cypher, Neo4j-n kontsulta-lengoaia.
  • Stardog-ek berea onartzen du luzapena SPARQL eta berriz Gremlin. Hirukotearen URIa eta "meta-informazioa" SPARQL-en lor ditzakezu honelako zerbait erabiliz:

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

  • Allegrograph-ek berea ere onartzen du luzapena SPARQL:

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

Bide batez, GraphDB-k garai batean Tinkerpop/Gremlin onartzen zuen LPG-a onartu gabe, baina hau 8.0 edo 8.1 bertsioan gelditu zen.

VI. Lizentzien zorroztasuna

Ez da azken gehikuntzarik izan "hautaturiko hiru denda" eta "kode irekiko denda hirukoitza" multzoen elkargunean. Kode irekiko RDF denda berriak eguneroko erabilerarako aukera ona izatetik oso urrun daude, eta erabili nahiko nituzkeen denda hirukoitzak (AnzoGraph bezalakoak) iturri itxiak dira. Aitzitik, murrizketez hitz egin dezakegu...

Noski, kode irekia ez da iraganean itxi, baina kode irekiko biltegi batzuk poliki-poliki ez dira aukeratzea merezi duela ikusten. Virtuoso, opensource edizioa duena, nire ustez akatsetan itotzen ari da. Blazegraph AWS-ek erosi zuen eta Amazon Neptune-ren oinarria izan zen; orain ez dago argi gutxienez kaleratze bat gehiago egongo den. Jena bakarrik geratzen da...

Kode irekia oso garrantzitsua ez bada, baina probatu nahi baduzu, dena ere lehen baino arrosa gutxiagokoa da. Adibidez:

  • Izar txakurra gelditzen da doako bertsioa banatu (hala ere, bertsio arruntaren proba-aldia bikoiztu egin da);
  • Π² GraphDB hodeia, non lehenago doako oinarrizko plan bat aukera dezakezun, erabiltzaile berrien erregistroak eten egin dira.

Orokorrean, informatikako batez besteko pertsonarentzat, espazioa geroz eta eskuraezinagoa da; bere garapena korporazio asko bihurtzen ari da.

Iturria: www.habr.com

Gehitu iruzkin berria