ÇfarĂ« po ndodh aktualisht me magazinat RDF?

Web-i Semantik dhe Linked Data janë si hapësira e afërt: aty nuk ka jetë. Për të shkuar atje për një periudhë mjaft të gjatë... mirë, nuk e di çfarë ju thanë kur ishit fëmijë në përgjigje të "do të doja të bëhesha astronaut". Por është e mundur të vëzhgoni çfarë ndodh nga Toka; të bëheni një astronom amator ose madje profesionist është shumë më e thjeshtë.

Ky artikull do të flasë për trendet e reja, që nuk janë më të vjetra se disa muaj, nga bota e magazinave RDF. Metafora në paragrafin e parë u frymëzua nga një pamje reklamash epike nën kat.


Pamja epike

ÇfarĂ« po ndodh aktualisht me magazinat RDF?

I. GraphQL për akses në RDF

Thuhet, që GraphQL pretendon të bëhet gjuha universale e aksesit në baza të dhënash. Por si është situata me mundësinë e qasjes duke përdorur GraphQL në RDF?

"Nga kutia" këtë mundësi e ofrojnë:

Nëse magazina nuk ofron një mundësi të tillë, mund ta realizoni vetë, duke shkruar një "njohës" (resolver) përkatës. Kështu vepruan, për shembull, në projektin frëng DataTourisme. Ose tani mund të mos shkruani asgjë, thjesht merrni HyperGraphQL.

Nga këndvështrimi i një mbështetësi ortodoks të Semantic Web dhe Linked Data, kjo është, natyrisht, e trishtë, pasi duket se është e destinuar për integrime që rrethojnë data silo të tjera dhe jo për platforma të tilla (sigurisht, depo RDF).

Përvojat nga krahasimi i GraphQL me SPARQL mbeten të dyshimta.

  • Nga njĂ«ra anĂ«, GraphQL duket si njĂ« gjaku i largĂ«t i SPARQL: ai zgjidh problemet e zakonshme tĂ« REST me tĂ« rikthyerit dhe shumĂ«sinĂ« e kĂ«rkesave - pa tĂ« cilat, ndoshta, as nuk do tĂ« quhej gjuha e kĂ«rkesave, megjithatĂ« edhe pĂ«r web-in;
  • Nga ana tjetĂ«r, Ă«shtĂ« e mĂ«rzitshme shkema e rreptĂ« e GraphQL. Si pasojĂ«, "introspektiviteti" i tij duket shumĂ« i kufizuar nĂ« krahasim me tĂ«rĂ« reflektivitetin e RDF. Dhe nuk ka asnjĂ« analog tĂ« rrugĂ«ve tĂ« pronĂ«sisĂ«, ndaj nuk Ă«shtĂ« shumĂ« e qartĂ« pse quhet "Graph-".

II. Adaptuesit për MongoDB

Trendi, komplementar me të mëparshmin.

  • nĂ« Stardog tani Ă«shtĂ« e mundur – veçanĂ«risht, tĂ« gjitha tĂ« njĂ«jtin GraphQL – tĂ« konfiguroni shfaqjen e tĂ« dhĂ«nave MongoDB nĂ« grafet virtuale RDF;
  • GraphDB sĂ« fundmi lejon mund tĂ« futĂ« fragmente nĂ« SPARQL duke pĂ«rdorur MongoDB Query.

Nëse flasim më gjerë, për adaptuesit në burimet JSON, të cilët lejojnë më shumë ose më pak që JSON-i i ruajtur në këto burime të paraqitet si RDF dhe, më saktë, mund të kujtojmë dhe një SPARQL Generate, i cili mund të lidhur, për shembull, me Apache Jena.

Në përmbledhje të dy trendeve të para, mund të thuhet se depozitat RDF tregojnë gatishmëri të plotë për integrime dhe funksionim në kushte të "ruajtjes shumëvariantesh" (polyglot persistence). Megjithatë, dihet se kjo e fundit tashmë nuk është në modë, dhe në vend të saj po vjen multimodelizmi. Dhe si qëndron fusha e multimodelizmit në botën e depozitave RDF?

Nëse e thjeshtojmë, asnjëherë. Tema e DBMS-ve multimodel është një temë që meriton një artikull të veçantë, për momentin mund të theksojmë se aktualisht nuk ka DBMS multimodel të "bazuar" në modelin graf, (një lloj i tij mund të konsiderohet RDF). Një pak multimedia do të përmendet në kapitullin V.

III. OLTP vs. OLAP

Megjithatë, e njëjta Gartner raporton, që multimodelizmi është një kusht sine qua non për operacionet DB. Kjo është e kuptueshme: në situatën e "ruajtjes multivalente", problemet kryesore lindin me transaksionalitetin.

Por ku qĂ«ndrojnĂ« depozitat RDF nĂ« shkallĂ«n OLTP—OLAP? Do tĂ« pĂ«rgjigjesha kĂ«shtu: as andej, as kĂ«tej. PĂ«r tĂ« shĂ«nuar atĂ« pĂ«r tĂ« cilin janĂ« tĂ« destinuara, ne kemi nevojĂ« pĂ«r njĂ« akronim tĂ« tretĂ«. Si njĂ« opsion, do tĂ« sugjeroja OLIP — Procesim Intelektual Online.

Megjithatë, gjithsesi:

  • mekanizmat e integrimit nĂ« GraphDB tĂ« realizuar nuk janĂ« pak nga destinimi pĂ«r tĂ« kaluar pĂ«rtej problemeve me performancĂ«n e shkrimit;
  • Stardog shkon edhe mĂ« tej dhe plotĂ«sisht rishkruan motorin, pĂ«rsĂ«ri me qĂ«llim 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 tĂ« bazuar mbi tĂ« u publikua nĂ« fillim tĂ« artikullit. AnzoGraph e pozicionon veten si njĂ« zgjidhje GOLAP. Si ju duken SPARQL me funksione dritare? —

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

IV. RocksDB

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

Së pari, sipas artikullit në Wikipedia, projekti RocksDB po përdoret jo vetëm nga ruajtjet RDF. Ka projekte që përdorin RocksDB si motor ruajtjeje në ArangoDB, MongoDB, MySQL dhe MariaDB, Cassandra.

E dyta, në RocksDB po bëhen projekte (dmth. jo produkte) përkatëse.

Për shembull, eBay përdor RocksDB në platformën e tij për "grafikun e njohurive". Për më tepër, është argëtuese të lexosh: gjuha e pyetjeve filloi si një format i zhvilluar brenda, por së fundi ka kaluar të jetë shumë më si SPARQL. Si në anekdotë: sa herë që bëjmë një grafik njohurie, prapë rezultati është RDF.

NjĂ« shembull tjetĂ«r — shĂ«rbimi i pyetjeve pĂ«r historinĂ« Wikidata, i shfaqur disa muaj mĂ« parĂ«. . Para shfaqjes sĂ« tij, pĂ«r informacionet historike tĂ« Wikidatave, duhej tĂ« ktheheshim teMWAPI pĂ«rmes standardit Mediawiki API. Tani shumĂ« gjĂ«ra janĂ« tĂ« mundshme nĂ« SPARQL tĂ« pastĂ«r. "NĂ«n kapak", atje Ă«shtĂ« gjithashtu RocksDB. PĂ«r mĂ« tepĂ«r, duket se WDHQS Ă«shtĂ« krijuar nga njĂ« person qĂ« u mĂ«sua me importimin e Freebase nĂ« Google Knowledge Graph. V. MbĂ«shtetje pĂ«r LPG

V. Mbështetje LPG

Të kujtoj për dallimin kryesor midis grafikëve LPG dhe grafikëve RDF.

NĂ« LPG, instancat e skelave mund tĂ« kenĂ« vetĂ«si skalar, ndĂ«rsa nĂ« RDF ato mund tĂ« kenĂ« vetĂ«m ‘tipa’ skelash (pavarĂ«sisht se jo vetĂ«m vetĂ«si skalar, por edhe lidhje tĂ« zakonshme). Kjo kufizim i RDF nĂ« krahasim me LPG shkĂ«putet nĂ«pĂ«rmjet teknikave tĂ« ndryshme modelimi. NdĂ«rsa kufizimi i LPG nĂ« krahasim me RDF Ă«shtĂ« mĂ« i vĂ«shtirĂ« pĂ«r t’u tejkaluar, grafikĂ«t LPG janĂ« mĂ« tĂ« ngjashĂ«m me ilustrimet nĂ« librin e Hararit, prandaj njerĂ«zit i preferojnĂ« ato.

SĂ« paku, detyra e ‘mbĂ«shtetjes sĂ« LPG’ ndahet nĂ« dy pjesĂ«:

  1. shtimi në modelin RDF të ndryshimeve që lejojnë imitim të strukturave LPG;
  2. shtimi në gjuhën e pyetjeve për RDF ndryshimeve që mundësojnë aksesin në të dhënat e këtij modeli të ndryshuar, ose realizimi i mundësisë për të bërë pyetje në këtë model në gjuhët populare të pyetjeve për LPG.

V.1. Modeli i të dhënave

Këtu ka disa qasje të mundshme.

V.1.1. Vetësia Singleton

Qasja më e drejtpërdrejtë për harmonizimin e RDF dhe LPG është, ndoshta, vetësia singleton:

  • NĂ« vend tĂ«, pĂ«r shembull, predikatit :isMarriedTo pĂ«rdoren predikatet :isMarriedTo1, :isMarriedTo2 etj.
  • Pastaj kĂ«to predikate bĂ«hen subjekte tĂ« tripleteve tĂ« reja: :isMarriedTo1 :since "2013-09-13"^^xsd:date etj.
  • Lidhja e kĂ«tyre instancave tĂ« predikateve me predikatin e pĂ«rbashkĂ«t vendoset nga tripletet e llojit :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.

Detyra e "mbështetjes së LPG" zgjidhet këtu në nivelin e RDFS. Ky zgjidhje kërkon që të kryhen përmirësime në standard. Disa ndryshime mund të nevojiten nga magazinat RDF që mbështesin bashkëngjitjen e pasojave, ndërsa deri atëherë Ndërprerja e Vetme mund të perceptohet thjesht si një teknikë tjetër modelimi.

V.1.2. Reifikimi i Kryer Saktë

Qasjet më pak naive buruan nga ndjenja se, instancat e pronave nganjëherë instancohen nga tripletet. Duke pasur mundësinë të flasim për tripletet, do të kemi mundësinë të flasim edhe për instancat e pronave.

Qasja më solide prej këtyre është RDF*, e njohur gjithashtu si RDR, lindur në barkun e Blazegraph. Që nga fillimi u zgjodh për veten dhe AnzoGraph. Soliditeti i qasjes përcaktohet nga fakti se brenda saj ofruar ndryshimet përkatëse në Semantikën RDF. Megjithatë, thelbi është jashtëzakonisht i thjeshtë. Në serializimin Turtle të RDF, tani mund të shkruani diçka të tillë:

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

V.1.3. Qasjet e tjera

Nuk është e nevojshme të shqetësohemi për semantikën formale, por thjesht të mendojmë se tripletat kanë disa identifikues, që natyrisht janë URI, dhe të krijojmë tripleta të reja me këto URI. Vetëm duhet të sigurohet qasje në këto URI në SPARQL. Kështu vepron Stardog.

NĂ« Allegrograph ndjekĂ«n njĂ« rrugĂ« ndĂ«rmjetĂ«se. ËshtĂ« e njohur se identifikuesit e tripletave nĂ« Allegrograph ka, por nĂ« implementimin e atributeve triple jashtĂ«, ato nuk shfaqen. MegjithatĂ«, Ă«shtĂ« akoma shumĂ« larg semantikĂ«s formale. E veçantĂ« Ă«shtĂ« se atributet e tripletave nuk janĂ« URI, dhe vlerat e kĂ«tyre atributeve gjithashtu mund tĂ« jenĂ« vetĂ«m literale. AdemtĂ« e LPG marrin pikĂ«risht atĂ« qĂ« dĂ«shironin. NĂ« njĂ« format tĂ« shpikur NQX, shembulli, analog me atĂ« tĂ« mĂ«sipĂ«rm pĂ«r RDF*, duket kĂ«shtu:

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

V.2. Gjuhët e pyetjeve

Duke mbështetur në një mënyrë ose një tjetër LPG në nivelin e modelit, është e nevojshme të jepet mundësia për të bërë pyetje ndaj të dhënave në një model të tillë.

  • Blazegraph pĂ«r pyetje nĂ« RDF* mbĂ«shtet SPARQL* dhe Gremlin. NjĂ« pyetje nĂ« SPARQL* duket si:

 SELECT * { <> :since ?since }

  • AnzoGraph gjithashtu mbĂ«shtet SPARQL* dhe do tĂ« vazhdojĂ« tĂ« mbĂ«shtesĂ« Cypher, gjuha e kĂ«rkesave nĂ« Neo4j.
  • Stardog mbĂ«shtet SPARQL tĂ« saj zgjerimi dhe pĂ«rsĂ«ri Gremlin. TĂ« marrĂ«sh URI-nĂ« e trepleve nĂ« SPARQL dhe "metainformacionin" mund tĂ« bĂ«het me njĂ« konstrukcion si ky:

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

  • Allegrograph gjithashtu mbĂ«shtet SPARQL tĂ« saj: zgjerimi SELECT * { ("since" ?since) franz:attributesNameValue ( :bob :marriedTo ?wife ) }

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

Për më tepër, GraphDB njëherë mbështeti Tinkerpop/Gremlin, pa mbështetur LPG, por në versionin 8.0 ose 8.1 kjo praktike u ndal.

VI. Rigoroziteti i licencave

Nuk ka ndodhur asnjë shtesë në kryqëzimin e grupeve "triplestore of choice" dhe "open source triplestore" në kohët e fundit. Depo të reja RDF me burim të hapur janë shumë larg nga të qenë një zgjedhje e mirë për përdorim të përditshëm, dhe kodi burimor i depo e re RDF, që do të doja të përdorja (si AnzoGraph), është i mbyllur. Për më tepër, është më e përshtatshme të flasim për reduktime...

Sigurisht, kodi burim i hapur nuk është mbyllur, por disa depo zyrtare me burim të hapur po ndalin gradualisht të konsiderohen si zgjedhje të denja. Virtuoso, i cili ka një edicion me burim të hapur, për mendimin tim, po fundoset në gabime. Blazegraph është blerë nga AWS dhe është bërë baza e Amazon Neptune; tani nuk është e qartë nëse do të ketë ndonjë version tjetër. Njëra mbetet vetëm Jena


Nëse kodi burim i hapur nuk është aq i rëndësishëm dhe thjesht dëshironi të provoni, gjithçka është po aq më pak optimiste se më parë. Për shembull:

  • Stardog ndalon distribuimin e versionit falas (ndonĂ«se periudha provuese e zakonshme u dyfishua);
  • nĂ« GraphDB Cloud, ku mĂ« parĂ« mund tĂ« zgjidhje njĂ« plan bazĂ« falas, regjistrimi i pĂ«rdoruesve tĂ« rinj Ă«shtĂ« pezulluar.

Në përgjithësi, për qytetarët e zakonshëm të IT-së, universi po bëhet gjithnjë e më pak i arritshëm, dhe përvetësimi i tij po bëhet një privilegj i korporatave.

Burimi: habr.com

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