Hvað er að gerast með RDF geymslur núna?

Merkingarvefurinn og tengd gögn eru eins og geimurinn: það er ekkert líf þar. Að fara þangað í meira og minna langan tíma... ég veit ekki hvað þeir sögðu þér sem barn sem svar við "mig langar að verða geimfari." En þú getur fylgst með því sem er að gerast á jörðinni; Það er miklu auðveldara að verða áhugamaður stjörnufræðingur eða jafnvel atvinnumaður.

Greinin mun fjalla um nýlegar, ekki eldri en nokkra mánuði, þróun úr heimi RDF geymslu. Samlíkingin í fyrstu málsgreininni er innblásin af epískri auglýsingamyndinni undir skurðinum.


Epísk mynd

Hvað er að gerast með RDF geymslur núna?

I. GraphQL fyrir RDF aðgang

Þeir segjaað GraphQL stefnir að því að verða alhliða gagnagrunnsaðgangstungumál. Hvað með getu til að fá aðgang að RDF með GraphQL?

Upp úr kassanum er þetta tækifæri veitt af:

Ef geymslan veitir ekki slíkt tækifæri er hægt að innleiða hana sjálfstætt með því að skrifa viðeigandi „resolver“. Þetta gerðu þeir til dæmis í franska verkefninu DataTourisme. Eða þú getur ekki lengur skrifað neitt, heldur bara tekið HyperGraphQL.

Frá sjónarhóli rétttrúnaðar stuðningsmanna merkingarvefsins og tengdra gagna er allt þetta auðvitað sorglegt, þar sem það virðist hannað fyrir samþættingar byggðar í kringum næsta gagnasíló, og ekki viðeigandi vettvanga (RDF verslanir, auðvitað) .

Áhrifin af því að bera saman GraphQL við SPARQL eru tvíþætt.

  • Annars vegar lítur GraphQL út eins og fjarlægur ættingi SPARQL: það leysir vandamálin við endursýnatöku og margfaldar fyrirspurnir sem eru dæmigerðar fyrir REST - án þeirra væri líklega ekki hægt að íhuga fyrirspurnarmál, að minnsta kosti fyrir vefinn;
  • Á hinn bóginn er stíft stef GraphQL vonbrigði. Í samræmi við það virðist „innhverfari“ þess mjög takmarkaður miðað við fulla endurspeglun RDF. Og það er engin hliðstæða eignaleiða, svo það er ekki einu sinni mjög ljóst hvers vegna það er „Graf-“.

II. Millistykki fyrir MongoDB

Stefna sem er viðbót við þá fyrri.

  • Í Stardog núna kannski - sérstaklega allt á sama GraphQL - stilla kortlagningu MongoDB gagna í sýndar RDF myndrit;
  • Ontotext GraphDB hefur nýlega gerir settu brot inn í SPARQL á MongoDB fyrirspurn.

Ef við tölum víðar um millistykki við JSON uppsprettur, sem leyfa meira og minna „á flugi“ að tákna JSON sem geymt er í þessum heimildum sem RDF, getum við rifjað upp hið langvarandi SPARQL Mynda, sem hægt er að stilla, til dæmis, til Apache Jena.

Með því að draga saman fyrstu tvær stefnurnar, getum við sagt að RDF geymslur sýna fullan reiðubúinn til samþættingar og notkunar við aðstæður þar sem „fjölhyggja þrálátur“ er. Það er þó vitað að þessi síðarnefndi er löngu kominn úr tísku og er að koma í staðinn er að koma fjölmódel. Hvað með fjöllíkanagerð í heimi RDF geymslu?

Í stuttu máli, engan veginn. Mig langar til að tileinka sérstaka grein um efni fjöllíkana DBMSs, en í bili má geta þess að það eru engar multi-módel DBMS sem "byggðar" á línuritslíkani (RDF getur talist tegund af því) . Fjallað verður um nokkrar litlar fjöllíkana - RDF geymslustuðning fyrir annað LPG graflíkan - í kafla V.

III. OLTP vs. OLAP

Hins vegar sami Gartner пишетað multimodel er forsenda skilyrði fyrst og fremst fyrir skurðstofur DBMS. Þetta er skiljanlegt: í aðstæðum með „fjölþættri geymslu“ koma helstu vandamálin upp við viðskipta.

En hvar eru RDF geymslur staðsettar á OLTP-OLAP kvarðanum? Ég myndi svara svona: hvorki þar né hér. Til að gefa til kynna hvað þau eru ætluð þarf einhverja þriðju skammstöfun. Sem valkost myndi ég stinga upp á ÓLIP — Vitsmunaleg vinnsla á netinu.

Samt sem áður:

  • samþættingaraðferðirnar við MongoDB innleiddar í GraphDB eru ekki síst ætlað að vinna í kringum skrifa frammistöðuvandamál;
  • Stardog gengur enn lengra og alveg endurskrifar vél, aftur með það að markmiði að bæta upptökuafköst.

Nú skal ég kynna nýjan leikmann á markaðinn. Frá höfundum IBM Netezza og Amazon Redshift - AnzoGraph™. Mynd úr auglýsingu um vöru sem byggir á henni var birt í upphafi greinarinnar. AnzoGraph staðsetur sig sem GOLAP lausn. Hvernig líkar þér við SPARQL með gluggaaðgerðum? —

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

IV. RocksDB

Nú þegar hærra það var linkur við tilkynningu um Stardog 7 Beta, sem sagði að Stardog ætlaði að nota RocksDB sem undirliggjandi geymslukerfi - lykilgildisverslun, Facebook gaffal LevelDB Google. Hvers vegna er þess virði að tala um ákveðna þróun?

Í fyrsta lagi af því að dæma Wikipedia grein, ekki aðeins RDF geymslur eru „ígræddar“ í RocksDB. Það eru verkefni til að nota RocksDB sem geymsluvél í ArangoDB, MongoDB, MySQL og MariaDB, Cassandra.

Í öðru lagi eru verkefni (það er ekki vörur) um viðeigandi efni búin til á RocksDB.

Til dæmis notar eBay RocksDB í vettvangur fyrir "þekkingargrafið" þitt. Annars er fyndið að lesa: fyrirspurnartungumálið byrjaði sem heimaræktað snið, en nýlega hefur það verið að breytast í að vera mun líkara SPARQL. Eins og í brandaranum: sama hversu mikið þekkingargraf við gerum, endum við samt með RDF.

Annað dæmi - eitt sem birtist fyrir nokkrum mánuðum Wikidata sögu fyrirspurnarþjónusta. Áður en það var kynnt þurfti að nálgast sögulegar upplýsingar Wikidata í gegnum MWAPI við staðlaða Mediawiki API. Nú er margt hægt með hreinu SPARQL. „Undir hettunni“ er líka RocksDB. Við the vegur, WDHQS var gert, að því er virðist, af þeim sem flutti Freebase inn í Google Knowledge Graph.

V. LPG stuðningur

Leyfðu mér að minna þig á aðalmuninn á LPG línuritum og RDF línuritum.

Í LPG er hægt að úthluta stærðareiginleikum til jaðartilvika, á meðan í RDF er aðeins hægt að úthluta þeim á brún „tegundir“ (en ekki aðeins stigstærðareiginleika, heldur einnig venjulegar tengingar). Þessi takmörkun á RDF samanborið við LPG sigrast á eina eða aðra líkanatækni. Erfiðara er að yfirstíga takmarkanir LPG miðað við RDF, en LPG línurit eru líkari myndum úr Harari kennslubók en RDF línurit, þess vegna vill fólk hafa þau.

Augljóslega fellur verkefnið „LPG stuðning“ í tvo hluta:

  1. gera breytingar á RDF líkaninu sem gera það mögulegt að líkja eftir LPG mannvirkjum í því;
  2. gera breytingar á RDF fyrirspurnarmálinu sem gera það mögulegt að fá aðgang að gögnum í þessu breytta líkani, eða útfæra möguleikann á að gera fyrirspurnir í þetta líkan á vinsælum LPG fyrirspurnarmálum.

V.1. Gagnalíkan

Hér eru nokkrar mögulegar leiðir.

V.1.1. Singleton eign

Bókstaflegasta nálgunin til að samræma RDF og LPG er líklega einbýliseign:

  • Í stað þess til dæmis forsagnarinnar :isMarriedTo notaðar eru forsendur :isMarriedTo1, :isMarriedTo2 og svo framvegis.
  • Þessar forsendur verða síðan viðfangsefni nýrra þríbura: :isMarriedTo1 :since "2013-09-13"^^xsd:date o.fl.
  • Tenging þessara tilvika forfalla við sameiginlegt forfall er komið á með þrítölum formsins :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Vitanlega, rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, en hugsaðu um hvers vegna þú ættir ekki bara að skrifa :isMarriedTo1 rdf:type :isMarriedTo.

Vandamálið með „LPG stuðning“ er leyst hér á RDFS stigi. Slík ákvörðun krefst þess að hún sé tekin inn í viðeigandi staðlað. Nokkrar breytingar kunna að vera nauðsynlegar fyrir RDF verslanir sem styðja við afleiðingar, en í bili má líta á Singleton Property sem aðra líkanatækni.

V.1.2. Réttgerð gert rétt

Minni barnaleg nálgun stafar af því að gera sér grein fyrir því að eignatilvik eru fullkomlega staðhæfanleg fyrir þríbura. Með því að geta sagt eitthvað um þríbura getum við talað um eignatilvik.

Öflugasta af þessum aðferðum er RDF*, aka RDR, fæddur í djúpum Blazegraph. Það er alveg frá upphafi kjörinn fyrir sjálfan þig og AnzoGraph. Styrkleiki nálgunarinnar ræðst af því að innan ramma hennar boðið upp á samsvarandi breytingar á RDF merkingarfræði. Málið er hins vegar ákaflega einfalt. Í Turtle serialization of RDF geturðu nú skrifað eitthvað á þessa leið:

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

V.1.3. Aðrar aðferðir

Þú getur ekki nennt formlegri merkingarfræði, heldur einfaldlega gert ráð fyrir að þríburar hafi ákveðin auðkenni, sem eru auðvitað URI, og búið til nýja þríbura með þessum URI. Allt sem er eftir er að veita aðgang að þessum URI í SPARQL. Svo kemur Stjörnuhundur.

Í Allegrograph fór á millistig. Það er vitað að þríliða auðkenni í Allegrograph есть, en þegar þeir innleiða þrefalda eiginleika standa þeir ekki út. Hins vegar er það enn mjög langt frá formlegri merkingarfræði. Það er athyglisvert að þríliðaeiginleikar eru ekki URI og gildi þessara eiginleika geta líka aðeins verið bókstafir. LPG fylgismenn fá nákvæmlega það sem þeir vildu. Í sérstaklega uppfundnu NQX sniði lítur dæmi svipað og hér að ofan fyrir RDF* svona út:

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

V.2. Fyrirspurnartungumál

Þar sem þú hefur stutt LPG á einn eða annan hátt á líkanastigi þarftu að gera það mögulegt að gera fyrirspurnir um gögn í slíku líkani.

  • Blazegraph fyrir RDF* fyrirspurnir styður SPARQL* и Gremlin. SPARQL* fyrirspurn lítur svona út:

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

  • Anzograph styður einnig SPARQL* og ætlar að styðja Sípera, fyrirspurnartungumál í Neo4j.
  • Stardog styður sína eigin stækkun SPARQL og aftur Gremlin. Þú getur fengið triplet URI og „meta-upplýsingar“ í SPARQL með því að nota eitthvað á þessa leið:

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

  • Allegrograph styður einnig sína eigin stækkun SPARQL:

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

Við the vegur, GraphDB stutt á sínum tíma Tinkerpop/Gremlin án þess að styðja LPG, en þetta hætti í útgáfu 8.0 eða 8.1.

VI. Herða leyfisveitingar

Það hafa ekki verið neinar nýlegar viðbætur við gatnamót „þrefaldrar verslunar að eigin vali“ og „opinn uppspretta þríbúða“ settanna. Nýju opna RDF verslanirnar eru langt frá því að vera góður kostur fyrir daglega notkun og nýju þrefaldu verslanirnar sem ég myndi vilja nota (eins og AnzoGraph) eru lokaðar uppsprettur. Frekar má tala um lækkun...

Auðvitað hefur opinn uppspretta ekki verið lokaður áður, en sumar opinn uppspretta geymslur eru hægt og rólega ekki lengur talin vera þess virði að velja. Virtuoso, sem er með opna útgáfu, er að mínu mati að drukkna í pöddum. Blazegraph var keypt af AWS og var grundvöllur Amazon Neptune; nú er óljóst hvort það verður að minnsta kosti ein útgáfa í viðbót. Aðeins Jena er eftir...

Ef opinn uppspretta er ekki mjög mikilvægt, en þú vilt bara prófa það, þá er allt líka minna bjart en áður. Til dæmis:

  • Stjörnuhundur hættir dreifa ókeypis útgáfunni (hins vegar hefur prufutími venjulegu útgáfunnar tvöfaldast);
  • в GraphDB Cloud, þar sem áður var hægt að velja ókeypis grunnáætlun, hefur nýrri notendaskráningu verið stöðvuð.

Almennt séð, fyrir meðaltal upplýsingatæknimanneskju, er plássið að verða meira og meira óaðgengilegt; þróun þess er að verða hlutskipti fyrirtækja.

Heimild: www.habr.com

Bæta við athugasemd