Kas tagad notiek ar RDF krātuvi?

Semantiskais tÄ«meklis un saistÄ«tie dati ir kā kosmoss: tur nav dzÄ«vÄ«bas. Aizbraukt tur uz vairāk vai mazāk ilgu laiku... Es nezinu, ko viņi tev bērnÄ«bā teica, atbildot uz ā€œEs gribu kļūt par astronautuā€. Bet jÅ«s varat novērot, kas notiek, atrodoties uz Zemes; Daudz vieglāk ir kļūt par astronomu amatieru vai pat profesionāli.

Rakstā galvenā uzmanÄ«ba tiks pievērsta jaunākajām, ne vecākajām par vairākiem mēneÅ”iem, tendencēm no RDF uzglabāŔanas pasaules. Metafora pirmajā rindkopā ir iedvesmota no episkā izmēra reklāmas attēla zem griezuma.


Episka bilde

Kas tagad notiek ar RDF krātuvi?

I. GraphQL RDF piekļuvei

Viņi sakaka GraphQL mērķis ir kļūt par universālu datubāzes piekļuves valodu. Kā ar iespēju piekļūt RDF, izmantojot GraphQL?

Å o iespēju ārpus kastes nodroÅ”ina:

Ja repozitorijs Ŕādu iespēju nenodroÅ”ina, to var Ä«stenot patstāvÄ«gi, uzrakstot atbilstoÅ”u ā€œatrisinātājuā€. Tā viņi darÄ«ja, piemēram, Francijas projektā Datu tÅ«risms. Vai arÄ« vairs nevar neko rakstÄ«t, bet vienkārÅ”i paņemt HyperGraphQL.

No semantiskā tÄ«mekļa un saistÄ«to datu ortodoksālā piekritēja viedokļa tas viss, protams, ir skumji, jo Ŕķiet, ka tas ir paredzēts integrācijām, kas veidotas ap nākamo datu tvertni, un nav piemērotas platformas (protams, RDF veikali) .

Seansi, salīdzinot GraphQL ar SPARQL, ir divējādi.

  • No vienas puses, GraphQL izskatās kā tāls SPARQL radinieks: tas atrisina REST raksturÄ«gās resampling un vaicājumu daudzveidÄ«bas problēmas - bez kuras, iespējams, nebÅ«tu iespējams apsvērt vaicājuma valoda, vismaz tÄ«meklim;
  • No otras puses, GraphQL stingrā shēma rada vilÅ”anos. AttiecÄ«gi tā ā€œintrospekcijaā€ Ŕķiet ļoti ierobežota salÄ«dzinājumā ar RDF pilnÄ«go refleksivitāti. Un Ä«paÅ”uma ceļiem nav analoga, tāpēc nav pat Ä«sti skaidrs, kāpēc tas ir "Grafs-".

II. Adapteri MongoDB

Tendence, kas papildina iepriekŔējo.

  • Tagad Stardog varbÅ«t - jo Ä«paÅ”i visi vienā GraphQL - konfigurējiet MongoDB datu kartÄ“Å”anu virtuālos RDF grafikos;
  • Ontotext GraphDB nesen pieļauj ievietojiet fragmentus SPARQL vietnē MongoDB Query.

Ja runājam plaŔāk par adapteriem JSON avotiem, kas ļauj vairāk vai mazāk ā€œlidojuma laikāā€ attēlot Å”ajos avotos saglabāto JSON kā RDF, mēs varam atcerēties diezgan sen SPARQL Ä£enerÄ“Å”ana, ko var regulēt, piemēram, uz Apache Jena.

Apkopojot pirmās divas tendences, varam teikt, ka RDF krātuves demonstrē pilnÄ«gu gatavÄ«bu integrācijai un darbÄ«bai ā€œpoliglota noturÄ«basā€ apstākļos. Tomēr ir zināms, ka Å”is pēdējais jau sen ir izgājis no modes un tiek aizstāts ar nāk daudzmodelis. Kā ar multimodelÄ“Å”anu RDF uzglabāŔanas pasaulē?

ÄŖsāk sakot, nekādā gadÄ«jumā. AtseviŔķu rakstu vēlos veltÄ«t tēmai par vairāku modeļu DBVS, taču pagaidām var atzÄ«mēt, ka Å”obrÄ«d nav uz grafu modeli ā€œbalstÄ«tuā€ daudzmodeļu DBVS (par tā veidu var uzskatÄ«t RDF) . Dažas nelielas vairāku modelÄ“Å”anas iespējas ā€” RDF krātuves atbalsts alternatÄ«vam LPG grafika modelim ā€” tiks apspriestas V sadaļa.

III. OLTP vs. OLAP

Tomēr tas pats Gartners rakstaka daudzmodelis ir sine qua non nosacÄ«jums galvenokārt tam operāciju zāles DBVS. Tas ir saprotams: "daudzfaktoru uzglabāŔanas" situācijā galvenās problēmas rodas ar transakciju.

Bet kur atrodas RDF krātuves OLTP-OLAP mērogā? Es atbildētu tā: ne tur, ne Å”eit. Lai norādÄ«tu, kam tie paredzēti, ir nepiecieÅ”ams kāds treÅ”ais saÄ«sinājums. Kā variantu es ieteiktu OLIP ā€” TieÅ”saistes intelektuālā apstrāde.

Tomēr joprojām:

  • GraphDB ieviestie integrācijas mehānismi ar MongoDB ir ne mazāk svarÄ«gi paredzēts lai apietu rakstÄ«Å”anas veiktspējas problēmas;
  • Stardog iet vēl tālāk un pilnÄ«bā pārraksta dzinējs, atkal ar mērÄ·i uzlabot ierakstÄ«Å”anas veiktspēju.

Tagad ļaujiet man ieviest tirgÅ« jaunu spēlētāju. No IBM Netezza un Amazon Redshift radÄ«tājiem - AnzoGraphā„¢. Raksta sākumā tika ievietota bilde no uz tās balstÄ«tas preces sludinājuma. AnzoGraph pozicionē sevi kā GOLAP risinājumu. Kā jums patÄ«k SPARQL ar logu funkcijām? ā€”

SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE {  ā€¦  }

IV. RocksDB

Jau augstāk bija saite uz paziņojumu par Stardog 7 Beta, kurā teikts, ka Stardog gatavojas izmantot RocksDB kā pamatā esoÅ”o krātuves sistēmu - atslēgu vērtÄ«bu veikalu, Google LevelDB Facebook dakÅ”u. Kāpēc ir vērts runāt par noteiktu tendenci?

Pirmkārt, spriežot pēc Wikipedia raksts, ne tikai RDF krātuves tiek ā€œpārstādÄ«tasā€ uz RocksDB. Ir projekti RocksDB kā krātuves dzinēja izmantoÅ”anai ArangoDB, MongoDB, MySQL un MariaDB, Cassandra.

Otrkārt, RocksDB tiek veidoti projekti (tas ir, nevis produkti) par atbilstoŔām tēmām.

Piemēram, eBay izmanto RocksDB in platforma jÅ«su "zināŔanu diagrammai". Starp citu, ir smieklÄ«gi lasÄ«t: vaicājumu valoda sākās kā mājās audzēts formāts, taču pēdējā laikā tā ir kļuvusi daudz vairāk lÄ«dzÄ«ga SPARQL. Kā jokā: neatkarÄ«gi no tā, cik lielu zināŔanu grafiku mēs izveidojam, mēs joprojām nonākam pie RDF.

Vēl viens piemērs ā€“ tāds, kas parādÄ«jās pirms dažiem mēneÅ”iem Wikidata vēstures vaicājumu pakalpojums. Pirms tās ievieÅ”anas Wikidata vēsturiskajai informācijai bija jāpiekļūst, izmantojot MWAPI uz standarta Mediawiki API. Tagad daudz kas ir iespējams ar tÄ«ru SPARQL. ā€œZem pārsegaā€ ir arÄ« RocksDB. Starp citu, WDHQS, Ŕķiet, izveidoja persona, kas importēja Freebase Google zināŔanu grafikā.

V. LPG atbalsts

Ļaujiet man atgādināt galveno atŔķirību starp LPG un RDF diagrammām.

LPG skalārās Ä«paŔības var pieŔķirt malu gadÄ«jumiem, savukārt RDF tos var pieŔķirt tikai malu ā€œtipiemā€ (bet ne tikai skalārajām Ä«paŔībām, bet arÄ« parastajiem savienojumiem). Å is RDF ierobežojums salÄ«dzinājumā ar saŔķidrinātu naftas gāzi pārvarēt viena vai otra modelÄ“Å”anas tehnika. LPG ierobežojumus salÄ«dzinājumā ar RDF ir grÅ«tāk pārvarēt, taču LPG diagrammas vairāk atgādina Harari mācÄ«bu grāmatas attēlus, nevis RDF grafikus, tāpēc cilvēki tos vēlas.

AcÄ«mredzot ā€œLPG atbalstaā€ uzdevums iedalās divās daļās:

  1. izmaiņu veikÅ”ana RDF modelÄ«, kas dod iespēju tajā modelēt saŔķidrinātas naftas gāzes struktÅ«ras;
  2. veicot izmaiņas RDF vaicājumu valodā, kas ļauj piekļūt datiem Å”ajā modificētajā modelÄ«, vai ievieÅ”ot iespēju veikt vaicājumus Å”im modelim populārās LPG vaicājumu valodās.

V.1. Datu modelis

Šeit ir vairākas iespējamās pieejas.

V.1.1. Singleton īpaŔums

Visburtiskākā pieeja RDF un LPG saskaņoÅ”anai, iespējams, ir singleton Ä«paÅ”ums:

  • Tā vietā, piemēram, predikāts :isMarriedTo tiek izmantoti predikāti :isMarriedTo1, :isMarriedTo2 uc
  • Pēc tam Å”ie predikāti kļūst par jaunu trÄ«skārÅ”u subjektiem: :isMarriedTo1 :since "2013-09-13"^^xsd:date uc
  • Å o predikātu gadÄ«jumu savienojumu ar kopÄ«gu predikātu nosaka formas tripleti :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • AcÄ«mredzot, rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, bet padomājiet, kāpēc jums nevajadzētu vienkārÅ”i rakstÄ«t :isMarriedTo1 rdf:type :isMarriedTo.

ā€œLPG atbalstaā€ problēma Å”eit tiek atrisināta RDFS lÄ«menÄ«. Šāds lēmums ir jāiekļauj atbilstoÅ”ajā standarta. Dažas izmaiņas var bÅ«t nepiecieÅ”amas RDF veikaliem, kas atbalsta seku pievienoÅ”anu, taču pagaidām Singleton Property var uzskatÄ«t tikai par vēl vienu modelÄ“Å”anas paņēmienu.

V.1.2. PārveidoŔana izdarīta pareizi

Mazāk naivas pieejas izriet no atziņas, ka Ä«paŔību gadÄ«jumi ir pilnÄ«bā momentāni ar tripletiem. Varot kaut ko teikt par trÄ«nÄ«Å”iem, mēs varēsim runāt par Ä«paÅ”uma instancēm.

Stingrākā no Ŕīm pieejām ir RDF*, pazÄ«stams arÄ« kā RDR, dzimis Blazegrāfa dzÄ«lēs. Tas ir no paÅ”a sākuma ievēlēts sev un AnzoGraph. Pieejas stabilitāti nosaka tas, ka tās ietvaros piedāvāja atbilstoŔās izmaiņas RDF semantika. Tomēr bÅ«tÄ«ba ir ārkārtÄ«gi vienkārÅ”a. RDF serializācijā Turtle tagad varat uzrakstÄ«t kaut ko lÄ«dzÄ«gu:

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

V.1.3. Citas pieejas

JÅ«s nevarat nodarboties ar formālu semantiku, bet vienkārÅ”i pieņemt, ka tripletiem ir noteikti identifikatori, kas, protams, ir URI, un ar Å”iem URI izveido jaunus tripletus. Atliek tikai nodroÅ”ināt piekļuvi Å”iem URI SPARQL. Tātad ierodas Stardogs.

In Allegrograph aizgāja starpposma veidā. Ir zināms, ka Allegrograph tripleta identifikatori tur ir, bet, ievieÅ”ot trÄ«skārÅ”us atribÅ«tus, tie neizceļas. Tomēr tas joprojām ir ļoti tālu no formālās semantikas. JāatzÄ«mē, ka tripleta atribÅ«ti nav URI, un arÄ« Å”o atribÅ«tu vērtÄ«bas var bÅ«t tikai literāļi. LPG piekritēji iegÅ«st tieÅ”i to, ko vēlējās. Speciāli izgudrotajā NQX formātā piemērs, kas lÄ«dzÄ«gs iepriekÅ”minētajam RDF*, izskatās Ŕādi:

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

V.2. Vaicājumu valodas

Tā kā modeļa lÄ«menÄ« vienā vai otrā veidā ir atbalstÄ«ta LPG, jums ir jānodroÅ”ina iespēja veikt datu vaicājumus Ŕādā modelÄ«.

  • Blazegraph RDF* vaicājumiem atbalsta SPARQL* Šø Gremlin. SPARQL* vaicājums izskatās Ŕādi:

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

  • Anzogrāfs arÄ« atbalsta SPARQL* un gatavojas atbalstÄ«t Cypher, vaicājumu valoda programmā Neo4j.
  • Stardog atbalsta savējos paplaÅ”ināŔana SPARQL un atkal Gremlins. JÅ«s varat iegÅ«t tripleta URI un ā€œmetainformācijuā€ SPARQL, izmantojot kaut ko lÄ«dzÄ«gu:

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

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

Starp citu, GraphDB savulaik atbalstīja Tinkerpop/Gremlin, neatbalstot LPG, taču tas apstājās 8.0 vai 8.1 versijā.

VI. Licenču nostiprināŔana

Nesen nav bijuÅ”i papildinājumi komplektu ā€œizvēles trÄ«skārŔā veikalaā€ un ā€œatvērtā koda trÄ«skārŔā veikalaā€ krustojumā. Jaunie atvērtā koda RDF veikali ir tālu no labas izvēles ikdienas lietoÅ”anai, un jaunie trÄ«skārÅ”ie veikali, kurus es vēlētos izmantot (piemēram, AnzoGraph), ir slēgtā pirmkoda. DrÄ«zāk varam runāt par samazinājumiem...

Protams, atklātā pirmkoda darbība agrāk netika slēgta, taču dažas atvērtā koda krātuves lēnām vairs netiek uzskatītas par izvēles vērtām. Virtuoso, kuram ir atvērtā pirmkoda izdevums, manuprāt, slīkst kļūdās. Blazegraph iegādājās AWS un veidoja Amazon Neptune pamatu; tagad nav skaidrs, vai būs vēl vismaz viens izlaidums. Paliek tikai Jēna...

Ja atvērtais kods nav Ä«paÅ”i svarÄ«gs, bet jÅ«s vienkārÅ”i vēlaties to izmēģināt, tad arÄ« viss ir mazāk rožains nekā iepriekÅ”. Piemēram:

  • Zvaigznes suns izbeidzas izplatÄ«t bezmaksas versiju (tomēr parastās versijas izmēģinājuma periods ir dubultojies);
  • Š² GraphDB mākonis, kur iepriekÅ” varēja izvēlēties bezmaksas pamata plānu, jaunu lietotāju reÄ£istrācijas ir apturētas.

Kopumā vidusmēra IT cilvēkam telpa kļūst arvien nepieejamāka, tās attīstība kļūst par korporāciju dārgumu.

Avots: www.habr.com

Pievieno komentāru