Mis toimub praegu RDF-lao projektidega?

Semantiline veeb ja lingitud andmed on nagu lÀhikosmos: seal elamiseks ei ole. Et sinna minna pikemaks ajaks... noh, ma ei tea, mida teile lapsepÔlves öeldi vastuseks «tahan astronautiks saada». Kuid toimuva jÀlgimine on vÔimalik ka Maalt; astronoomiks saamine on palju lihtsam, olgu siis harrastajatena vÔi isegi professionaalidena.

KÀesolevas artiklis kÀsitletakse vÀrskeid, mitte vanemaid kui paar kuud, trende RDF-andmebaasidest. Esimese lÔigu metafoor tuli ideaalsest suurusest reklaampildist allpool.


Epic pilt

Mis toimub praegu RDF-lao projektidega?

I. GraphQL RDF-i juurde pÀÀsemiseks

RÀÀgitakse, et GraphQL pĂŒrgib olema universaalne andmebaaside juurdepÀÀsu keel. Kuidas on aga lood GraphQL-i juurdepÀÀsuga RDF-ile?

«Kastist vÀljaspool» pakuvad seda vÔimalust:

Kui andmebaas ei paku sellist vÔimalust, siis rakendatakse seda iseseisvalt, kirjutades vastava «tuvastaja» (resolver). Nii tehti nÀiteks Prantsuse projektis DataTourisme. VÔi vÔib-olla ei ole midagi kirjutada, vaid lihtsalt kasutada HyperGraphQL.

Ortodoxse semantilise veeb ja lingitud andmete pooldaja seisukohalt on see muidugi kurb, kuna see tundub olevat mĂ”eldud integratsioonide jaoks, mis on ĂŒles ehitatud veel ĂŒhe andme silosse, mitte plaatvormide jaoks (loomulikult RDF-andmebaaside jaoks).

KokkuvÔttes jÀÀb GraphQL-i ja SPARQL-i vÔrdlemise mulje kahetiseks.

  • Ühelt poolt nĂ€eb GraphQL vĂ€lja nagu kauge sugulane SPARQL-ile: see lahendab REST-is esinevad toimetamisprobleemid ja mitmekesised pĂ€ringud — ilma milleta ei saaks ilmselt rÀÀkida pĂ€ringute keelest, olgu see kasvĂ”i veebis;
  • Teiselt poolt muretses GraphQL-i range skeemilisus. Seega tundub selle «introspektiivsus» olevat vĂ”rreldes RDF-i tĂ€ieliku reflektiivsusega vĂ€ga piiratud. Ja puudub mingi analoog property paths, mistĂ”ttu ei ole isegi selge, miks seda nimetatakse «Graph-».

II. Adapterid MongoDB-le

Trend, mis tÀiendab eelmist.

RÀÀkides laiemalt, adapteritest JSON-allikatele, mis vĂ”imaldavad enam-vĂ€hem «live» esitada nendes allikates hoitavat JSON-i kui RDF-i, vĂ”ib mainida ka ĂŒsna pikka aega olemas olnud SPARQL Generate, mida saab liita, nĂ€iteks, Apache Jena.

KokkuvĂ”ttes vĂ”ib öelda, et RDF-andmehoidlad nĂ€itavad tĂ€ielikku valmisolekut integreerimiseks ja toimimiseks „mitme variandi salvestamise” (polyglot persistence) tingimustes. On teada, et see viimane pole enam moes ja selle asemele tuleb multimudel. Aga kuidas on lood multimudeliga RDF-andmehoidlate maailmas?

LĂŒhidalt öeldes, mitte kuigi hĂ€sti. Multimudelite andmebaaside teema vÀÀrib eraldi artiklit, kuid praegu vĂ”ib mĂ€rkida, et multimudeelset andmebaasi, mis pĂ”hineks graafimudelil (mida vĂ”ib pidada ka RDF-ks), hetkel ei ole. VĂ€ikesest multimudelsusest – alternatiivsete graafimudelite LPG toetamisest RDF-andmehoidlate poolt – rÀÀgitakse peatĂŒkis V.

III. OLTP vs. OLAP

Siiski, sama Gartner kirjutab, et multimudelisus on tingimus sine qua non eelkĂ”ige operatiivsete andmebaaside jaoks. See on arusaadav: „mitme variandi salvestamise” olukorras on peamised probleemid seotud transaktsioonilisusega.

Aga kus asuvad RDF-andmehoidlad OLTP—OLAP skaalal? Vastaksin nii: ei seal, ega siin. Nende kavandatule viitamiseks on vajalik mingi kolmas akronĂŒĂŒm. Alternatiivina pakuksin OLIP — Online Intellektuaalne Protsessimine.

Kuid siiski:

. Toote reklaamis olev pilt saadi artikli alguses. AnzoGraph positsioneerib end kui GOLAP lahendusena. Kuidas kĂ”lab SPARQL aknafunktsioonidega? — SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { 
 }IV. RocksDB

Ülalpool on juba

mainitud viidet

Stardog 7 Beta teadetele, kus rÀÀgiti, et Stardog plaanib kasutada RocksDB-d alumise salvestussĂŒsteemina — vĂ”tme-vÀÀrtuse salvestus, Facebooki hargne LevelDB-st. Miks vĂ”iks rÀÀkida mingist trendist? Esiteks, Wikipedias ĂŒtleb, et RocksDB-le „istuvad” mitte ainult RDF-andmehoidlad. On projekte, mis kasutavad RocksDB-d salvestusajamiks ArangoDB, MongoDB, MySQL ja MariaDB, Cassandra.

Teiseks, RocksDB-l tehakse teemasid (st mitte tooteid) vastava temaatika projekti. Wikipedia artikkel, RocksDB-le «istutatakse» mitte ainult RDF-ladu. On projekte, kus kasutatakse RocksDB-d salvestusmootorina ArangoDB-s, MongoDB-s, MySQL-is ja MariaDB-s, Cassandra-s.

Teiseks, RocksDB-l tehakse vastava temaatikaga projekte (st mitte tooteid).

NÀiteks kasutab eBay RocksDB-d platvormis oma "teadmiste graafiku" jaoks. Muide, on naljakas lugeda: the query language started as a home grown format, but more recently it has been transitioning to be much more like SPARQL. Nagu anekdoodis: kui palju tahes teadmiste graafikust teha, tuleb ikka vÀlja RDF.

Teine nĂ€ide on mĂ”ned kuud tagasi ilmunud Wikidata History Query Service. Enne selle tulekut tuli ajalooliste Vikidata andmete saamiseks pöörduda MWAPI kaudu tavalise Mediawiki API poole. NĂŒĂŒd on palju vĂ”imalik puhtal SPARQL-il. "Kapoti all" on seal samuti RocksDB. Ütlesin, et WDHQS-i lĂ”i inimene, kes tegeles Freebase'i importimisega Google Knowledge Graph'i.

V. LPG toe

Tuletan meelde peamist erinevust LPG-graafikute ja RDF-graafikute vahel.

LPG-s vĂ”ivad servade eksemplaridele olla lisatud skalaarsed omadused, samas kui RDF-s saavad neid lisada ainult servade "tĂŒĂŒbid" (aga mitte ainult skalaarsed omadused, vaid ka tavalised seosed). See piiramine RDF-s vĂ”rreldes LPG-ga ĂŒletatakse erinevate modelleerimistehnikate abil. LPG-d piiravad omadused vĂ”rreldes RDF-ga on aga keerulisemad ĂŒletada, kuid LPG-graafikud on rohkem nagu Harari Ă”pikust pildid, seetĂ”ttu soovivad inimesed neid.

On ilmne, et "LPG toe" ĂŒlesanne jaguneb kaheks osaks:

  1. muudatuste sisseviimine RDF mudelisse, mis vÔimaldab simuleerida LPG-struktuure;
  2. muudatuste tegemine RDF pĂ€ringute keeles, et vĂ”imaldada andmete pĂ€rimist selles muudetud mudelis, — vĂ”i rakendamine vĂ”imaluse osas teha pĂ€ringuid sellele mudelile tuntud LPG pĂ€ringute keeltes.

V.1. Andmemudel

Siin on mitu vÔimalikku lÀhenemist.

V.1.1. Singleton Property

KÔige sÔnasÔnaline lÀhenemine RDF ja LPG harmoneerimisele on tÔenÀoliselt singleton property:

  • NĂ€iteks kui kasutatakse predikaati :isMarriedTo kasutatakse predikaate :isMarriedTo1, :isMarriedTo2 jne.
  • SeejĂ€rel saavad need predikaadid uute tripletide subjektideks: :isMarriedTo1 :since "2013-09-13"^^xsd:date ja nii edasi.
  • Nende predikaatide eksemplaride seos ĂŒldise predikaadiga luuakse tripletidega, mis on kujul :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Ilmselgelt, et rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, kuid mĂ”elge, miks ei tasu kirjutada lihtsalt :isMarriedTo1 rdf:type :isMarriedTo.

LPG toe ĂŒlesanne lahendatakse siin RDFS tasemel. Selline lahendus nĂ”uab vastava standard. MĂ”ned muudatused vĂ”ivad olla vajalikud RDF-ladu jaoks, mis toetavad jĂ€rjepidevuste liitmist, ja seni vĂ”ib Singleton Propertyt vaadata lihtsalt kui veel ĂŒhte modelleerimise tehnikat.

V.1.2. Reifikatsioon Ôiges vormis

VÀhem naiivsemate lÀhenemiste juured on arusaam, et omaduste eksemplarid on tÀiesti instantsitud triplettidega. Olles suuteline rÀÀkima millestki tripletitest, saame rÀÀkida ka omaduste eksemplaridest.

KĂ”ige tĂ”sisem lĂ€henemine on RDF*, tuntud ka kui RDR, sĂŒndinud Blazegraphi sisemuses. Seda on algusest peale kasutanud ka AnzoGraph. LĂ€henemise tĂ”sidust mÀÀrab see, et selle raames pakuvad on vastavad muudatused RDF semantikas.Kuid olemus on ÀÀrmiselt lihtne. RDF-i Turtle-sarjal on nĂŒĂŒd vĂ”imalik kirjutada umbes nii:

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

V.1.3. Muud lÀhenemised

Ei ole mÔtet vaeva nÀha formaalse semantikaga, vaid lihtsalt eeldada, et tripletitel on teatud identifikaatorid, mis on loomulikult URI-d, ja luua uusi triplette nende URI-dega. Peab vaid tagama nende URI-de juurdepÀÀsu SPARQL-is. Nii tulnud Stardog.

Allegrograph lĂ€ks vahepealse tee. On teada, et Allegrographi tripletite identifikaatorid on, kuid triple attributes'i rakendamisel nad vĂ€lja ei paista. Siiski on enne formaalse semantika juurde jĂ”udmine veel pikk tee. Sealjuures on huvitav, et tripletite attribuudid ei ole URI-d ja nende vÀÀrtused vĂ”ivad olla vaid literatuurid. LPG propageerijad saavad tĂ€pselt seda, mida nad soovisid. Eraldi leiutatud formaadis NQX nĂ€eb nĂ€ide, mis sarnaneb ĂŒlaltoodud nĂ€itele RDF* jaoks, vĂ€lja jĂ€rgmiselt:

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

V.2. KĂŒsimuste keeled

Toetades LPG-d mingil viisil mudeli tasandil, tuleb vÔimaldada andmestiku pÀringut sellises mudelis.

  • Blazegraph toetab RDF* pĂ€ringutes SPARQL* ja Gremlin.SPARQL* pĂ€ring nĂ€eb vĂ€lja nii:

 SELECT * { <> :since ?since }

  • Anzograph toetab samuti SPARQL* ja plaanib toetada Cypher,pĂ€ringukeelt Neo4j-s.
  • Stardog toetab oma laiendamine SPARQL-i ja jĂ€llegi Gremlini. SPARQL-is URI tripleti ja "metaandmete" saamiseks saab kasutada jĂ€rgmist konstruktsiooni:

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

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

Muide, GraphDB toetas mÔnda aega Tinkerpop/Gremlini, toetamata seejuures LPG-d, kuid versioonis 8.0 vÔi 8.1 lÔpetati see.

VI. TÔhustatud litsentsid

Viimastel aegadel ei ole „valikuvĂ”imaluste triplestore“ ja „avatud lĂ€htekoodiga triplestore“ vahel mingeid juurdekasve toimunud. Uutel avatud lĂ€htekoodiga RDF-hoidlatele ei ole tegelikult mingit vĂ”imalust igapĂ€evaseks kasutamiseks, ja nende uute RDF-hoidlate lĂ€htekood (nt AnzoGraph) on suletud. Pigem vĂ”ib rÀÀkida hoopis vĂ€henemisest...

Muidugi, avatud lĂ€htekood ei muutu kunagi suletuks, kuid mĂ”ned avatud lĂ€htekoodiga hoidlad lakkuvad jĂ€rk-jĂ€rgult olema tĂ”sised valikud. Virtuoso, mis pakub avatud lĂ€htekoodiga versiooni, nĂ€ib minu arvates olevat kahedesuguste probleemide all. Blazegraph on ostnud AWS ja see moodustab Amazon Neptune'i aluse; hetkel on raske öelda, kas veel ĂŒks vĂ€ljaanne ilmub. JÀÀnud on vaid Jena...

Kui avatud lÀhtekood ei ole just vÀga oluline ja lihtsalt tahaks proovida, siis on olukord samuti vÀhem roosiline kui varem. NÀiteks:

  • Stardog lĂ”petab tasuta versiooni levitamise (ĂŒllatuseks on tavapĂ€rase katseperioodi aeg kahekordistunud);
  • ja GraphDB Cloud, kus varem oli vĂ”imalik valida tasuta pĂ”hiplaan, on uute kasutajate registreerimine peatatud.

Üldiselt muutub tavalisele IT-kasutajale kosmos ĂŒha kĂ€tte saamatu, selle omandamine jÀÀb vaid korporatsioonide pĂ€rusmaaks.

Allikas: habr.com

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster