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

I. GraphQL për qasje në RDF
, 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:
- Stardog (, );
- produktet TopQuadrant (, ).
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 . Ose tani nuk është e nevojshme të shkruani asgjë, thjesht merrni .
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 â sidomos, gjithashtu nĂ« GraphQL â to tĂ« konfigurojnĂ« shfaqjet e tĂ« dhĂ«nave MongoDB nĂ« grafet virtuale RDF;
- GraphDB së fundmi 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ë , i cili mund të ngjitet , 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 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Ă« .
III. OLTP vs. OLAP
Megjithatë, edhe Gartner , 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 për të anashkaluar problemet me performancën e shkrimit;
- Stardog shkon edhe më tej dhe plotësisht 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 â . 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Ă« 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 , 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ë 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Ă« MWAPI 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 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ë;
- 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.
- 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 :
- :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 . 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ë , e cila quhet RDR, në thellësitë e Blazegraph. Nga fillimi për vete dhe AnzoGraph. Fortësia e qasjes përcaktohet nga se në kuadër të saj ndryshime përkatëse në . 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 Stardog.
Në Allegrograph në një mënyrë ndërmjetëse. Dihet se identifikuesit e trepeta në Allegrograph , 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 dhe Një kërkesë për SPARQL* duket kështu:
SELECT * { <> :since ?since }- AnzoGraph gjithashtu mbështet dhe planifikon të mbështesë , gjuha e kërkimeve në Neo4j.
- Stardog mbështet një SPARQL dhe 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ë 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 shpërndarjen e versionit falas (megjithatë, periudha provuese e zakonshme është dyfishuar);
- në , 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
