Kas dabar vyksta su RDF saugykla?

Semantinis internetas ir susieti duomenys yra tarsi kosmosas: ten nėra gyvybės. Nuvykti ten ilgesniam ar ilgesniam laikui... Nežinau, ką jie tau pasakė vaikystėje, atsakydami į „Noriu tapti astronautu“. Bet jūs galite stebėti, kas vyksta Žemėje; Daug lengviau tapti astronomu mėgėju ar net profesionalu.

Straipsnyje daugiausia dėmesio bus skiriama naujausioms, ne senesnėms nei kelių mėnesių tendencijoms iš KRB saugojimo pasaulio. Pirmoje pastraipoje esanti metafora įkvėpta epiško dydžio reklaminio vaizdo po pjūviu.


Epas paveikslas

Kas dabar vyksta su RDF saugykla?

I. GraphQL RDF prieigai

Jie sakokad GraphQL siekia tapti universalia duomenų bazių prieigos kalba. Ką apie galimybę pasiekti RDF naudojant GraphQL?

Iš dėžutės šią galimybę suteikia:

Jei saugykla tokios galimybės nesuteikia, ją galima įgyvendinti savarankiškai, parašant atitinkamą „išsprendėją“. Tai jie padarė, pavyzdžiui, prancūzų projekte Data Tourisme. Arba nebegali nieko rašyti, o tiesiog imti HyperGraphQL.

Ortodoksinio semantinio žiniatinklio ir susietų duomenų šalininko požiūriu, visa tai, žinoma, liūdna, nes atrodo, kad jis skirtas integracijai, sukurtai aplink kitą duomenų rezervuarą, ir netinkamoms platformoms (žinoma, RDF parduotuvėse). .

Įspūdžiai iš GraphQL palyginimo su SPARQL yra dvejopi.

  • Viena vertus, „GraphQL“ atrodo kaip tolimas SPARQL giminaitis: jis išsprendžia REST būdingas užklausų pakartotinio atrinkimo ir daugybės problemas, be kurių tikriausiai nebūtų įmanoma svarstyti. užklausos kalba, bent jau žiniatinklyje;
  • Kita vertus, griežta GraphQL schema nuvilia. Atitinkamai, jo „introspektyvumas“ atrodo labai ribotas, palyginti su visu RDF refleksyvumu. O nuosavybės takų analogo nėra, todėl net nelabai aišku, kodėl tai „Grafas-“.

II. Adapteriai, skirti MongoDB

Tendencija, papildanti ankstesnę.

  • Dabar Stardog galbūt - visų pirma, visi tame pačiame GraphQL - sukonfigūruokite MongoDB duomenų atvaizdavimą į virtualius RDF grafikus;
  • Ontotext GraphDB neseniai leidžia įterpti fragmentus į SPARQL MongoDB Query.

Jei kalbėtume plačiau apie JSON šaltinių adapterius, kurie leidžia daugiau ar mažiau „skraidydami“ vaizduoti JSON, saugomą šiuose šaltiniuose kaip RDF, galime prisiminti gana seniai SPARQL generuoti, kurį galima reguliuoti, pavyzdžiui, į Apache Jeną.

Apibendrinant pirmąsias dvi tendencijas, galima teigti, kad RDF saugyklos demonstruoja visišką pasirengimą integracijai ir veikimui „poliglotinio patvarumo“ sąlygomis. Tačiau žinoma, kad pastarasis jau seniai išėjo iš mados ir jį keičia ateina kelių modelių. O kaip dėl kelių modelių RDF saugojimo pasaulyje?

Trumpai tariant, jokiu būdu. Kelių modelių DBVS temai norėčiau skirti atskirą straipsnį, tačiau kol kas galima pastebėti, kad šiuo metu nėra kelių modelių DBVS, „pagrįstų“ grafiniu modeliu (jo RDF gali būti laikomas jo tipu) . Kai kurie nedideli kelių modelių modeliai – RDF saugojimo palaikymas alternatyviam LPG grafiko modeliui – bus aptarti V skyrius.

III. OLTP vs. OLAP

Tačiau tas pats Gartneris rašokad daugiamodelis yra sine qua non sąlyga pirmiausia tam operacinės DBVS. Tai suprantama: „daugiamatės saugyklos“ situacijoje pagrindinės problemos kyla dėl transakcijų.

Bet kur yra RDF saugyklos OLTP-OLAP skalėje? Atsakyčiau taip: nei ten, nei čia. Norint nurodyti, kam jie skirti, reikalinga trečioji santrumpa. Kaip variantą siūlyčiau OLIP — Internetinis intelektinis apdorojimas.

Tačiau vis tiek:

  • Integracijos su MongoDB mechanizmai, įdiegti GraphDB, yra ne mažiau svarbūs skirta išspręsti rašymo našumo problemas;
  • Stardog eina dar toliau ir visiškai perrašo variklis, vėlgi siekiant pagerinti įrašymo našumą.

Dabar leiskite man pristatyti rinkai naują žaidėją. Iš IBM Netezza ir Amazon Redshift kūrėjų - AnzoGraph™. Straipsnio pradžioje buvo patalpintas paveikslėlis iš jos pagrindu sukurtos prekės reklamos. AnzoGraph pozicionuoja save kaip GOLAP sprendimą. Kaip jums patinka SPARQL su langų funkcijomis? —

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

IV. RocksDB

Jau aukščiau buvo nuoroda „Stardog 7 Beta“ pranešimui, kuriame teigiama, kad „Stardog“ ketina naudoti „RocksDB“ kaip pagrindinę saugojimo sistemą – raktų vertės parduotuvę, „Google LevelDB“ „Facebook“ šakę. Kodėl verta kalbėti apie tam tikrą tendenciją?

Pirma, sprendžiant iš Vikipedijos straipsnis, ne tik RDF saugyklos „perkeliamos“ į RocksDB. Yra projektų, skirtų naudoti RocksDB kaip saugojimo variklį ArangoDB, MongoDB, MySQL ir MariaDB, Cassandra.

Antra, RocksDB kuriami projektai (ty ne produktai) atitinkamomis temomis.

Pavyzdžiui, „eBay“ naudoja „RocksDB“. platforma savo „žinių grafikui“. Beje, juokinga skaityti: užklausos kalba prasidėjo kaip namuose auginamas formatas, tačiau pastaruoju metu ji tapo panašesnė į SPARQL. Kaip juokaujama: kad ir kiek žinių grafiką sudarytume, vis tiek atsiduriame RDF.

Kitas pavyzdys – toks, kuris pasirodė prieš kelis mėnesius Vikiduomenų istorijos užklausų tarnyba. Prieš įvedant Wikidata istorinę informaciją reikėjo pasiekti MWAPI į standartinę Mediawiki API. Dabar daug kas įmanoma naudojant gryną SPARQL. „Po gaubtu“ taip pat yra „RocksDB“. Beje, WDHQS, atrodo, padarė asmuo, importavęs Freebase į Google žinių grafiką.

V. LPG palaikymas

Leiskite man priminti pagrindinį skirtumą tarp LPG ir RDF grafikų.

LPG skaliarinės savybės gali būti priskirtos briaunų egzemplioriams, o RDF jas galima priskirti tik krašto „tipams“ (bet ne tik skaliarinėms savybėms, bet ir įprastoms jungtims). Šis RDF apribojimas, palyginti su SND įveikti vienokia ar kitokia modeliavimo technika. Suskystintų naftos dujų, palyginti su RDF, apribojimus įveikti sunkiau, tačiau SND grafikai labiau primena paveikslėlius iš Harari vadovėlio nei RDF grafikus, todėl žmonės jų nori.

Akivaizdu, kad „SND palaikymo“ užduotis yra padalinta į dvi dalis:

  1. KRB modelio pakeitimų, leidžiančių imituoti jame SND struktūras, keitimas;
  2. atlikti RDF užklausos kalbos pakeitimus, kurie suteikia galimybę pasiekti duomenis šiame modifikuotame modelyje, arba įgyvendinti galimybę pateikti šio modelio užklausas populiariomis LPG užklausų kalbomis.

V.1. Duomenų modelis

Čia yra keletas galimų požiūrių.

V.1.1. Vienvietis turtas

Paprasčiausias būdas suderinti RDF ir LPG yra turbūt vienvietis turtas:

  • Vietoj, pavyzdžiui, predikato :isMarriedTo vartojami predikatai :isMarriedTo1, :isMarriedTo2 ir k. d.
  • Tada šie predikatai tampa naujų trynukų subjektais: :isMarriedTo1 :since "2013-09-13"^^xsd:date ir tt
  • Šių predikatų atvejų ryšį su bendru predikatu nustato formos tripletai :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Akivaizdu, kad rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, bet pagalvokite, kodėl neturėtumėte tiesiog rašyti :isMarriedTo1 rdf:type :isMarriedTo.

„SND palaikymo“ problema čia išspręsta RDFS lygiu. Toks sprendimas turi būti įtrauktas į atitinkamą standartinis. Kai kurių pakeitimų gali prireikti RDF parduotuvėse, kurios palaiko pasekmių prijungimą, tačiau kol kas „Singleton Property“ galima laikyti tik dar vienu modeliavimo būdu.

V.1.2. Reifikacija atlikta teisingai

Mažiau naivūs požiūriai kyla iš supratimo, kad nuosavybės egzemplioriai yra visiškai atkuriami trynukais. Galėdami ką nors pasakyti apie trynukus, galėsime kalbėti apie nuosavybės atvejus.

Tvirčiausias iš šių būdų yra RDF*, dar žinomas kaip RDR, gimęs Blazegrafo gelmėse. Tai nuo pat pradžių išrinktas sau ir AnzoGraph. Požiūrio tvirtumą lemia tai, kad jo rėmuose pasiūlytas atitinkami pakeitimai RDF semantika. Tačiau esmė labai paprasta. RDF serializacijoje „Turtle“ dabar galite parašyti kažką panašaus į tai:

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

V.1.3. Kiti požiūriai

Negalite nerimauti su formalia semantika, o tiesiog manyti, kad tripletai turi tam tikrus identifikatorius, kurie, žinoma, yra URI, ir sukuria naujus tripletus su šiais URI. Belieka suteikti prieigą prie šių URI SPARQL. Taigi atvyksta Stardog.

Allegrografe nuvyko tarpiniu būdu. Yra žinoma, kad Allegrograph tripletų identifikatoriai yra, tačiau įgyvendinant trigubus atributus jie neišsiskiria. Tačiau iki formalios semantikos dar labai toli. Pažymėtina, kad tripletų atributai nėra URI, o šių atributų reikšmės taip pat gali būti tik pažodinės reikšmės. LPG šalininkai gauna būtent tai, ko norėjo. Specialiai sugalvotame NQX formate panašus į aukščiau pateiktą RDF* pavyzdys atrodo taip:

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

V.2. Užklausų kalbos

Vienaip ar kitaip palaikę SND modelio lygiu, turite sudaryti galimybę tokiame modelyje pateikti duomenų užklausas.

  • Blazegraph RDF* užklausoms palaiko SPARQL* и Gremlinas. SPARQL* užklausa atrodo taip:

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

  • Anzografas taip pat palaiko SPARQL* ir ketina paremti Šifras, užklausos kalba Neo4j.
  • Stardog palaiko savo plėtra SPARQL ir vėl Gremlinas. Galite gauti trigubą URI ir „metainformaciją“ SPARQL naudodami kažką panašaus į tai:

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

  • Allegrograph taip pat palaiko savo plėtra SPARQL:

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

Beje, GraphDB vienu metu palaikė Tinkerpop/Gremlin, nepalaikydamas LPG, tačiau 8.0 arba 8.1 versijoje tai nustojo.

VI. Licencijų sugriežtinimas

Neseniai nebuvo pridėta „triplestore of choice“ ir „atviro kodo triplestore“ rinkinių sankirtos. Naujos atvirojo kodo RDF parduotuvės toli gražu nėra geras pasirinkimas kasdieniam naudojimui, o naujos trigubos parduotuvės, kurias norėčiau naudoti (pvz., AnzoGraph), yra uždarojo kodo. Greičiau galime kalbėti apie mažėjimą...

Žinoma, atvirojo kodo naudojimas anksčiau nebuvo uždarytas, tačiau kai kurios atvirojo kodo saugyklos pamažu nebevertos rinktis. Virtuoso, kuris turi atvirojo kodo leidimą, mano nuomone, paskęsta klaidų. „Blazegraph“ įsigijo AWS ir sudarė „Amazon Neptune“ pagrindą; dabar neaišku, ar bus dar bent vienas leidimas. Liko tik Jena...

Jei atvirasis kodas nėra labai svarbus, bet jūs tiesiog norite jį išbandyti, tada viskas taip pat yra mažiau rožinė nei anksčiau. Pavyzdžiui:

  • Stardog baigiasi platinti nemokamą versiją (tačiau įprastos versijos bandomasis laikotarpis padvigubėjo);
  • в GraphDB debesis, kur anksčiau galėjai rinktis nemokamą pagrindinį planą, naujų vartotojų registracija buvo sustabdyta.

Apskritai paprastam IT žmogui erdvė tampa vis neprieinama, jos plėtra tampa korporacijų sėkme.

Šaltinis: www.habr.com

Добавить комментарий