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

I. GraphQL për akses në RDF
, 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ë:
- Stardog (, );
- produktet TopQuadrant (, ).
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 . Ose tani mund të mos shkruani asgjë, thjesht merrni .
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 â veçanĂ«risht, tĂ« gjitha tĂ« njĂ«jtin GraphQL â tĂ« konfiguroni shfaqjen e tĂ« dhĂ«nave MongoDB nĂ« grafet virtuale RDF;
- GraphDB së fundmi 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ë , i cili mund të lidhur, , 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 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ë .
III. OLTP vs. OLAP
Megjithatë, e njëjta Gartner , 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 për të kaluar përtej problemeve me performancën e shkrimit;
- Stardog shkon edhe më tej dhe plotësisht 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 â . 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Ă« 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 , 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ë 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Ă«. MWAPI 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 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Ă«:
- shtimi në modelin RDF të ndryshimeve që lejojnë imitim të strukturave LPG;
- 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, :
- Në vend të, për shembull, predikatit
:isMarriedTopërdoren predikatet:isMarriedTo1,:isMarriedTo2etj. - Pastaj këto predikate bëhen subjekte të tripleteve të reja:
:isMarriedTo1 :since "2013-09-13"^^xsd:dateetj. - 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ë . 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ë , e njohur gjithashtu si RDR, në barkun e Blazegraph. Që nga fillimi për veten dhe AnzoGraph. Soliditeti i qasjes përcaktohet nga fakti se brenda saj ndryshimet përkatëse në . 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 Stardog.
NĂ« Allegrograph njĂ« rrugĂ« ndĂ«rmjetĂ«se. ĂshtĂ« e njohur se identifikuesit e tripletave nĂ« Allegrograph , 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 dhe . Një pyetje në SPARQL* duket si:
SELECT * { <> :since ?since }- AnzoGraph gjithashtu mbështet dhe do të vazhdojë të mbështesë , gjuha e kërkesave në Neo4j.
- Stardog mbështet SPARQL të saj dhe 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: 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 distribuimin e versionit falas (ndonëse periudha provuese e zakonshme u dyfishua);
- në , 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
