ÇfarĂ« po ndodh tani me depozitat RDF?

Webi Semantik dhe Të Dhënat e Lidura janë si hapësira e afërt: nuk ka jetë atje. Për të shkuar atje për një periudhë më të gjatë... nuk e di çfarë iu kanë thënë kur ishit fëmijë në përgjigje të "dua të bëhem astronaut". Por mund të vëzhgoni atë që ndodh edhe duke qenë në Tokë; të bëhesh astronom amator ose edhe profesionist është shumë më e lehtë.

Ky artikull do të flasë për trendet e reja, që nuk janë më të vjetra se disa muaj, nga bota e depozitave RDF. Metafora në paragrafin e parë ishte frymëzuar nga një pamje reklamuese epike nën kapak.


Pamja epike

ÇfarĂ« po ndodh tani me depozitat RDF?

I. GraphQL për qasje në RDF

Thonë, se GraphQL pretendon të bëhet gjuha universale e qasjes në bazat e të dhënave. Po si qëndrojnë gjërat me mundësinë e qasjes duke përdorur GraphQL në RDF?

"Nga kutia" kjo mundësi ofrohet nga:

Nëse depozita nuk ofron një mundësi të tillë, atëherë e realizojnë vetë duke shkruar një "zgjidhës" të caktuar. Kështu veproi, për shembull, në projektin francez DataTourisme. Ose tani nuk është e nevojshme të shkruani asgjë, thjesht merrni HyperGraphQL.

Nga pikëpamja e një mbështetësi ortodoks të Webit Semantik dhe Të Dhënave të Lidura, e gjithë kjo është sigurisht e trishtueshme, pasi duket e destinuar për integrimet që ndodhin rreth data silo-ve të tjera, dhe jo për ato platforma (sigurisht, depozitat RDF).

Impresionet nga krahasimi i GraphQL me SPARQL mbeten të dyfishta.

  • Nga njĂ«ra anĂ«, GraphQL duket si njĂ« kushĂ«ri i largĂ«t i SPARQL: nĂ« tĂ« zgjidhen problemet tipike tĂ« REST si mbivendosja dhe shumĂ«llojshmĂ«ria e kĂ«rkesave - pa tĂ«, ndoshta nuk do tĂ« mund tĂ« quhej gjuhĂ« kĂ«rkese, edhe pse pĂ«r webin;
  • Nga ana tjetĂ«r, shqetĂ«son struktura e rreptĂ« e GraphQL. Sipas pĂ«rkatĂ«sisĂ«, "introspektiviteti" i tij duket shumĂ« i kufizuar krahasuar me refleksivitetin e plotĂ« tĂ« RDF. Dhe nuk ka asnjĂ« ekuivalente pĂ«r treget e pronĂ«s, kĂ«shtu qĂ« as nuk Ă«shtĂ« shumĂ« e qartĂ« pse quhet "Graph-".

II. Adaptuesit për MongoDB

Tendenca, që përputhet me të kaluarën.

  • nĂ« Stardog tani Ă«shtĂ« i mundur — sidomos, gjithashtu nĂ« GraphQL — to tĂ« konfigurojnĂ« shfaqjet e tĂ« dhĂ«nave MongoDB nĂ« grafet virtuale RDF;
  • GraphDB sĂ« fundmi mundĂ«son do tĂ« fusĂ« fragmente nĂ« SPARQL nga MongoDB Query.

Nëse flasim më gjerë, për adapterët e burimeve JSON, të cilat lejojnë më shumë ose më pak që "në flakë" të paraqesin JSON-in e ruajtur në këto burime si RDF, mund të kujtojmë gjithashtu një SPARQL Generate, i cili mund të ngjitet për shembull, te Apache Jena.

Për të përmbledhur dy trendet e para, mund të themi se depozitat RDF tregojnë gatishmëri të plotë për integrime dhe funksionim në kushtet e "ruajtjes shumëvariantëshe" (polyglot persistence). Megjithatë, dihet se kjo e fundit nuk është më në modë dhe në vend të saj po vjen multimodeliteti. Si janë punët me multimodelitetin në botën e depozitave RDF?

NĂ«se e shohim shkurt, nuk janĂ« tĂ« tilla. TemĂ«s sĂ« DBMS-ve multimodale do t'i kushtohet njĂ« artikull i veçantĂ«; pĂ«r momentin mund tĂ« vĂ«rejmĂ« se nuk ka DBMS multimodale, "tĂ« bazuara" nĂ« modelin grafik (njĂ« variant i saj mund tĂ« konsiderohet RDF). PĂ«r njĂ«farĂ« multimodeliteti tĂ« vogĂ«l — mbĂ«shtetje pĂ«r depozitĂ« RDF pĂ«r modelin grafik alternativ LPG — do tĂ« flitet nĂ« seksioni V.

III. OLTP vs. OLAP

Megjithatë, edhe Gartner CNBC, në periudhën nga 2000 deri në 2018 Facebook, Alphabet, Microsoft, Apple dhe Amazon kanë punësuar më shumë se një milion punonjës të rinj. Të tilla biznese akumullojnë mjaft burime, përveç aktivitetit të tyre kryesor, për të realizuar kërkime dhe zhvillime masive në fusha të reja, ndonjëherë me rrezikshmëri të lartë. Për më tepër, kompanitë formojnë dhe ekosistemin e tyre, brenda të cilit përdoruesit i zgjidhin një gamë të gjerë problemesh - porositin menjëherë të gjitha produktet e nevojshme, nga ushqimi deri te teknika, në Amazon. Sipas parashikimeve të analistëve, deri në vitin 2021 ai, që multimodeliteti është kushti sine qua non, së pari për DBMS operativ . Kjo është e qartë: në situatën e "ruajtjes shumëvariantëshe" problemet kryesore lindin me tranzakcionin.

Por ku ndodhen depozitĂ« RDF nĂ« shkallĂ«n OLTP—OLAP? Do tĂ« pĂ«rgjigjesha kĂ«shtu: as atje, as kĂ«tu. PĂ«r tĂ« treguar atĂ« qĂ« ata janĂ« tĂ« destinuar, na nevojitet ndonjĂ« akronim i tretĂ«. Si mundĂ«si do tĂ« sugjeroja OLIP — Procesim Intelektual Online.

Megjithatë, njëlloj:

  • mekanizmat e integrimit tĂ« zbatuar nĂ« GraphDB nuk janĂ« nĂ« mĂ«nyrĂ« tĂ« pakĂ«t tĂ« destinuara pĂ«r tĂ« anashkaluar problemet me performancĂ«n e shkrimit;
  • Stardog shkon edhe mĂ« tej dhe plotĂ«sisht rishkruan motorin, gjithmonĂ« me qĂ«llimin pĂ«r tĂ« rritur performancĂ«n e shkrimit.

Tani lejoni tĂ« paraqes njĂ« lojtar tĂ« ri nĂ« treg. nga krijuesit e IBM Netezza dhe Amazon Redshift — AnzoGraph. Imazhi nga reklama e produktit mbi tĂ« cilin bazohet Ă«shtĂ« vendosur nĂ« fillim tĂ« artikullit. AnzoGraph pozicionohet si njĂ« zgjidhje GOLAP. Si ju duket SPARQL me funksione dritare? —

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

IV. RocksDB

MĂ« lart tashmĂ« ishte lidhja nĂ« njoftimin pĂ«r Stardog 7 Beta, ku u tha se Stardog do tĂ« pĂ«rdorĂ« si sistem ruajtjeje RockDB — njĂ« ruajtje "çelĂ«s-vlerĂ«", fork i Facebook-ut nga LevelDB i Google. Pse tashmĂ« duhet tĂ« flasim pĂ«r njĂ« tendencĂ« tĂ« caktuar?

Së pari, duke gjykuar nga artikulli në Wikipedia, në RocksDB «transplantohen» jo vetëm magazinat RDF. Ka projekte për përdorimin e RocksDB si motor ruajtjeje në ArangoDB, MongoDB, MySQL dhe MariaDB, Cassandra.

Së dyti, në RocksDB bëhen projekte (domethënë, jo produkte) të tematikës përkatëse.

Për shembull, eBay përdor RocksDB në platformën për «grafikun e njohurive» të tij. Ndër të tjera, është interesante të lexosh: gjuha e pyetjeve filloi si një format i krijuar brenda, por së fundmi ka kaluar në një format më të ngjashëm me SPARQL. Ashtu siç thotë një anekdotë: sa herë që bëjmë grafik njohurish, gjithmonë rezulton në RDF.

NjĂ« shembull tjetĂ«r — shĂ«rbimi i pyetjeve pĂ«r historinĂ« e Wikidata-s, i cili u shfaq disa muaj mĂ« parĂ« . Para se tĂ« shfaqej, pĂ«r informacionin historik tĂ« Wikidata-s duhej tĂ« kĂ«rkohej pĂ«rmesMWAPI nga API standard i Mediawiki. Tani, shumĂ« gjĂ«ra janĂ« tĂ« mundshme nĂ« SPARQL tĂ« pastĂ«r. «NĂ«n kapak» aty gjithashtu ka RocksDB. NĂ« fakt, WDHQS-ja u bĂ« nga njĂ« person qĂ« merrej me importin e Freebase nĂ« Google Knowledge Graph. V. MbĂ«shtetje pĂ«r LPG

Kujtoj dallimin kryesor midis grafikëve LPG dhe grafikëve RDF.

Në LPG, pronësitë skalarë mund të ngjiten në instancat e shirita-ve, ndërsa në RDF ato mund të ngjiten vetëm në «tipet» e shirita-ve (ndërsa jo vetëm pronësi skalarë, por edhe lidhje të zakonshme). Kjo kufizim i RDF në krahasim me LPG

shkëputet nëpërmjet teknikave të ndryshme të modelimit. Kufizimi i LPG në krahasim me RDF është më i vështirë të tejkalohet, por grafikët LPG janë më të ngjashëm se grafikët RDF me imazhet nga libri i Hararit, prandaj njerëzit i duan. E qartë, detyra e «mbështetjes së LPG» ndahet në dy pjesë:

ndryshimi i modelit RDF për të mundësuar imitimin e strukturave LPG në të;

  1. ndryshimi i gjuhĂ«s sĂ« pyetjeve pĂ«r RDF pĂ«r tĂ« mundĂ«suar qasje nĂ« tĂ« dhĂ«nat nĂ« kĂ«tĂ« model tĂ« ndryshuar — ose implementimi i mundĂ«sisĂ« pĂ«r tĂ« bĂ«rĂ« pyetje nĂ« kĂ«tĂ« model nĂ« gjuhĂ«t e njohura tĂ« pyetjeve pĂ«r LPG.
  2. V.1. Modeli i të dhënave

Këtu ekzistojnë disa qasje të mundshme.

V.1.1. Pronësia Singleton

Qasja mĂ« e drejtpĂ«rdrejtĂ« pĂ«r harmonizimin e RDF-sĂ« dhe LPG-sĂ« — ndoshta Ă«shtĂ«

pronësia singleton Në vend të, për shembull, predicate-it:

  • :isMarriedTo pĂ«rdoren predicate tĂ« tjera :isMarriedTo1 :isMarriedTo2, Pastaj kĂ«to predicate bĂ«hen subjekte tĂ« tripleteve tĂ« reja: etj.
  • :isMarriedTo1 :since "2013-09-13"^^xsd:date etj. Lidhja e kĂ«tyre instancave tĂ« predicate-ve me predicate-n e pĂ«rgjithshĂ«m vendoset me tripleta tĂ« tipit
  • :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo E qartĂ« Ă«shtĂ« se.
  • rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type , por mendoni pse nuk duhet tĂ« shkruani thjesht:isMarriedTo1 rdf:type :isMarriedTo :isMarriedTo1 rdf:type :isMarriedTo.

Detyra e "mbështetjes LPG" zgjidhet këtu në nivelin RDFS. Një zgjidhje e tillë kërkon ndërrime në përputhje me ACME, i cili automatizon marrjen e certifikatave SSL. Ai do të shtojë mekanizma të tjerë për verifikimin e pronarit të sitit. Më shumë në lidhje me të. Disa ndryshime mund të kërkohen nga dyqanet RDF që mbështesin bashkimin e pasojave, ndërsa përmomentin Pasuria Singleton mund të perceptohet thjesht si një tjetër teknikë modelimi.

V.1.2. Rridhja e Reifikimit

Qasjet më pak naive burojnë nga kuptimi se instancat e pronave mund të instancohen duke përdorur trepeta. Duke pasur mundësinë për të thënë diçka për trepetat, do të mund të flasim edhe për instancat e pronave.

Qasja më e fortë nga këto është RDF*, e cila quhet RDR, e lindur në thellësitë e Blazegraph. Nga fillimi u zgjodh për vete dhe AnzoGraph. Fortësia e qasjes përcaktohet nga se në kuadër të saj ofrohen ndryshime përkatëse në Semantikat RDF. Sidoqoftë, thelbi është jashtëzakonisht i thjeshtë. Në serializimin Turtle të RDF tani mund të shkruajmë diçka si:

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

V.1.3. Qasje të tjera

Nuk është e nevojshme të shqetësohemi rreth semantikës formale, por thjesht të mendojmë se trepetat kanë disa identifikues, të cilët natyrisht janë URI, dhe të krijojmë trepe të reja me këto URI. Mjafton të ofrojmë akses në këto URI në SPARQL. Kështu veprohet Stardog.

Në Allegrograph shkuan në një mënyrë ndërmjetëse. Dihet se identifikuesit e trepeta në Allegrograph është, por në zbatimin e atributeve triple ata nuk shfaqen. Megjithatë, edhe për semantikën formale, jemi shumë larg. Një aspekt interesant është se atributet e trepeta nuk janë URI, dhe vlerat e këtyre atributeve gjithashtu mund të jenë vetëm literale. Ndjekësit e LPG fitojnë saktësisht atë që dëshironin. Në një format të shpikur të quajtur NQX, një shembull, i ngjashëm me atë të mësipërm për RDF*, duket kështu:

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

V.2. Gjuhët e kërkimeve

Pasi të kemi mbështetur në një formë ose tjetër LPG në nivelin e modelit, duhet të ofrojmë mundësi për të kërkuar të dhënat në një model të tillë.

  • Blazegraph mbĂ«shtet kĂ«rkime ndaj RDF* pĂ«rmes SPARQL*. dhe GremlinNjĂ« kĂ«rkesĂ« pĂ«r SPARQL* duket kĂ«shtu:

 SELECT * { <> :since ?since }

  • AnzoGraph gjithashtu mbĂ«shtet SPARQL*. dhe planifikon tĂ« mbĂ«shtesĂ« Cypher, gjuha e kĂ«rkimeve nĂ« Neo4j.
  • Stardog mbĂ«shtet njĂ« zgjerim SPARQL dhe pĂ«rsĂ«ri, Gremlin. TĂ« ardhura nĂ« SPARQL URI tĂ« trepetĂ«s dhe informacionin "meta" mund tĂ« arrihen pĂ«rmes njĂ« konstrukti tĂ« tillĂ«:

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

  • Allegrograph gjithashtu mbĂ«shtet njĂ« zgjerim SPARQL:

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

Kështu që, GraphDB për një kohë mbështeste Tinkerpop/Gremlin, pa mbështetur LPG, por në versionin 8.0 ose 8.1 kjo ndaloi.

VI. Shtimi i licencave

Nuk ka pasur asnjĂ« shtesĂ« nĂ« kryqĂ«zimin e grupeve «triplestore of choice» dhe «open source triplestore» kohĂ«t e fundit. NĂ« ndihmĂ«t RDF me kod tĂ« hapur, janĂ« larg pĂ«r t'u bĂ«rĂ« njĂ« zgjedhje e mirĂ« pĂ«r pĂ«rdorim tĂ« pĂ«rditshĂ«m, dhe kodi burimor i ndihmave tĂ« reja RDF, tĂ« cilat do tĂ« donim t'i pĂ«rdornim (si AnzoGraph), Ă«shtĂ« i mbyllur. MĂ« shumĂ« mund tĂ« flasim pĂ«r zvogĂ«limet


Sigurisht, kodi burimor i hapur nuk mbyllet, por disa depo me kod të hapur gradualisht po ndalen së qeni zgjedhje të denja. Virtuoso, i cili ka një version opensource, sipas mendimit tim, po fundoset në bugs. Blazegraph u ble nga AWS dhe u bë baza për Amazon Neptune; tani nuk dihet nëse do të ketë ndonjë version tjetër. Ndërsa mbetet vetëm Jena


Nëse kodi burimor i hapur nuk është shumë i rëndësishëm, por thjesht dëshiron të provosh, gjithçka është po ashtu më pak e gëzueshme sesa më parë. Për shembull:

  • Stardog ndalon shpĂ«rndarjen e versionit falas (megjithatĂ«, periudha provuese e zakonshme Ă«shtĂ« dyfishuar);
  • nĂ« GraphDB Cloud, ku mĂ« parĂ« mund tĂ« zgjidhje planin bazĂ« falas, Ă«shtĂ« pezulluar regjistrimi i pĂ«rdoruesve tĂ« rinj.

Në përgjithësi, për IT-shin e zakonshëm, kozmosi bëhet gjithnjë e më i paarritshëm, dhe mësimi i tij bëhet një privilegj për korporatat.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster