Il-Web Semantika u d-Data Konnessa huma bħall-ispazju ta’ barra: m’hemm l-ebda ħajja hemmhekk. Biex tmur hemm għal perjodu ta’ żmien bejn wieħed u ieħor twil... ukoll, ma nafx x’qalulek bħala tifel bi tweġiba għal “Irrid insir astronawta.” Imma tista' tosserva dak li qed jiġri waqt li tkun fid-Dinja; Huwa ħafna aktar faċli li ssir astronomu dilettanti jew saħansitra professjonist.
L-artikolu se jiffoka fuq tendenzi reċenti, mhux aktar minn diversi xhur, mid-dinja tal-ħażna RDF. Il-metafora fl-ewwel paragrafu kienet ispirata mill-immaġni ta 'reklamar ta' daqs epiku taħt il-qatgħa.
Stampa epika

I. GraphQL għal aċċess RDF
li GraphQL għandu l-għan li jsir lingwa ta' aċċess għal database universali. Xi ngħidu dwar il-kapaċità li taċċessa l-RDF billi tuża GraphQL?
Barra mill-kaxxa din l-opportunità hija pprovduta minn:
- Stardog (, );
- Prodotti TopQuadrant (, ).
Jekk ir-repożitorju ma jipprovdix opportunità bħal din, jista' jiġi implimentat b'mod indipendenti billi tikteb "solvent" xieraq. Dan huwa dak li għamlu, pereżempju, fil-proġett Franċiż . Jew ma tistax tikteb aktar, imma tieħu biss .
Mil-lat ta' aderenti ortodoss tas-Semantic Web and Linked Data, dan kollu, ovvjament, huwa imdejjaq, peress li jidher iddisinjat għal integrazzjonijiet mibnija madwar is-silo tad-data li jmiss, u pjattaformi mhux adattati (ħwienet RDF, ovvjament) .
L-impressjonijiet mit-tqabbil ta' GraphQL ma' SPARQL huma doppji.
- Minn naħa waħda, GraphQL tidher qisha qarib imbiegħed ta 'SPARQL: issolvi l-problemi ta' kampjunar mill-ġdid u multipliċità ta 'mistoqsijiet li huma tipiċi għal REST - li mingħajrhom, probabbilment, ma jkunx possibbli li jiġu kkunsidrati lingwa tal-mistoqsija, għall-inqas għall-web;
- Min-naħa l-oħra, l-iskema riġida ta 'GraphQL hija diżappuntanti. Għaldaqstant, "l-introspettività" tagħha tidher limitata ħafna meta mqabbla mar-riflessività sħiħa ta 'RDF. U m'hemm l-ebda analogu ta 'mogħdijiet tal-proprjetà, għalhekk lanqas huwa ċar ħafna għaliex huwa "Graph-".
II. Adapters għal MongoDB
Xejra kumplimentari għal dik preċedenti.
- fi Stardog issa - b'mod partikolari, kollha fuq l-istess GraphQL - kkonfigurat l-immappjar tad-dejta MongoDB fi graffs RDF virtwali;
- GraphDB reċentement daħħal frammenti f'SPARQL fuq MongoDB Query.
Jekk nitkellmu b'mod aktar wiesa' dwar adapters għal sorsi JSON, li jippermettu bejn wieħed u ieħor "fuq il-ħin" biex jirrappreżenta l-JSON maħżun f'dawn is-sorsi bħala RDF, nistgħu nfakkru dak li ilu pjuttost twil. , li jistgħu jiġu aġġustati, , lil Apache Jena.
Fil-qosor l-ewwel żewġ tendenzi, nistgħu ngħidu li l-ħażniet RDF juru r-rieda sħiħa għall-integrazzjoni u l-operat f'kundizzjonijiet ta '"persistenza poliglotta". Huwa magħruf, iżda, li dan tal-aħħar ilu żmien twil barra mill-moda, u qed jiġi sostitwit minn multi-mudell. Xi ngħidu dwar il-multi-mudellar fid-dinja tal-ħażna RDF?
Fil-qosor, bl-ebda mod. Nixtieq niddedika artiklu separat għas-suġġett ta 'DBMSs b'ħafna mudelli, iżda għalissa jista' jiġi nnutat li bħalissa m'hemm l-ebda DBMSs b'ħafna mudelli "ibbażati" fuq mudell ta 'graff (RDF jista' jitqies bħala tip tiegħu) . Xi multi-mudellar żgħir - appoġġ għall-ħażna RDF għal mudell ta 'graff LPG alternattiv - se jiġu diskussi fi .
III. OLTP vs. OLAP
Madankollu, l-istess Gartner dak il-multimudell huwa kundizzjoni sine qua non primarjament għal kmamar tal-operazzjoni DBMS. Dan jista 'jinftiehem: f'sitwazzjoni ta' "ħażna multivarjata", il-problemi ewlenin jinqalgħu bit-tranżazzjoni.
Imma fejn jinsabu l-ħażniet RDF fuq l-iskala OLTP-OLAP? Jien inwieġeb hekk: la hemm u lanqas hawn. Biex tindika għalxiex huma maħsuba, hija meħtieġa xi tielet abbrevjazzjoni. Bħala għażla nissuġġerixxi OLIP — Ipproċessar Intellettwali Online.
Madankollu, xorta:
- il-mekkaniżmi ta 'integrazzjoni ma' MongoDB implimentati fi GraphDB mhumiex l-inqas biex taħdem madwar kwistjonijiet ta 'prestazzjoni tal-kitba;
- Stardog imur saħansitra aktar u kompletament magna, għal darb'oħra bil-għan li tittejjeb il-prestazzjoni tar-reġistrazzjoni.
Issa ħalluni nintroduċi attur ġdid fis-suq. mill-ħallieqa ta' IBM Netezza u Amazon Redshift - . Stampa minn reklam għal prodott ibbażat fuqu tpoġġa fil-bidu tal-artiklu. AnzoGraph jpoġġi lilu nnifsu bħala soluzzjoni GOLAP. Kif tħobb SPARQL b'funzjonijiet ta' tieqa? —
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { … }IV. RocksDB
Diġà ogħla għat-tħabbira ta 'Stardog 7 Beta, li qal li Stardog kien se juża RocksDB bħala sistema ta' ħażna sottostanti - maħżen ta 'valur ewlieni, furketta Facebook ta' LevelDB ta 'Google. Għaliex ta 'min jitkellem dwar ċertu xejra?
L-ewwelnett, tiġġudika minn , mhux biss il-ħażniet RDF huma "trapjantati" għal RocksDB. Hemm proġetti biex tuża RocksDB bħala magna tal-ħażna f'ArangoDB, MongoDB, MySQL u MariaDB, Cassandra.
It-tieni, proġetti (jiġifieri, mhux prodotti) fuq suġġetti rilevanti huma maħluqa fuq RocksDB.
Pereżempju, eBay juża RocksDB fi għall-"graff tal-għarfien" tiegħek. Mill-mod, huwa umoristiku li taqra: il-lingwa tal-mistoqsija bdiet bħala format imkabbar id-dar, iżda aktar reċentement ilha għaddejja transizzjoni biex tkun ferm aktar bħal SPARQL. Bħal fiċ-ċajta: ma jimpurtax kemm nagħmlu graff ta 'għarfien, xorta nispiċċaw b'RDF.
Eżempju ieħor – wieħed li deher ftit xhur ilu . Qabel l-introduzzjoni tagħha, l-informazzjoni storika tal-Wikidata kellha tiġi aċċessata permezz għall-istandard Mediawiki API. Issa ħafna huwa possibbli bi SPARQL pur. "Taħt il-barnuża" hemm ukoll RocksDB. Mill-mod, WDHQS sar, jidher, mill-persuna li importat Freebase fil-Google Knowledge Graph.
V. Appoġġ LPG
Ħa nfakkarkom fid-differenza ewlenija bejn il-grafiċi LPG u l-grafiċi RDF.
Fl-LPG, il-proprjetajiet skalari jistgħu jiġu assenjati għal każijiet ta 'tarf, filwaqt li f'RDF jistgħu jiġu assenjati biss għal "tipi" tat-tarf (iżda mhux biss proprjetajiet skalari, iżda wkoll konnessjonijiet ordinarji). Din il-limitazzjoni ta 'RDF meta mqabbla ma' LPG teknika ta 'mudellar waħda jew oħra. Il-limitazzjonijiet ta 'LPG meta mqabbla ma' RDF huma aktar diffiċli biex jingħelbu, iżda l-grafiċi LPG huma aktar bħal stampi minn ktieb Harari milli graffs RDF, u huwa għalhekk li n-nies iriduhom.
Ovvjament, il-kompitu ta '"appoġġ LPG" jaqa' f'żewġ partijiet:
- jagħmlu bidliet fil-mudell RDF li jagħmluha possibbli li jiġu simulati strutturi LPG fih;
- jagħmlu bidliet fil-lingwa tal-mistoqsijiet RDF li jagħmluha possibbli li wieħed jaċċessa d-dejta f'dan il-mudell modifikat, jew timplimenta l-abbiltà li tagħmel mistoqsijiet lil dan il-mudell f'lingwi tal-mistoqsijiet popolari tal-LPG.
V.1. Mudell tad-dejta
Hemm diversi approċċi possibbli hawnhekk.
V.1.1. Proprjetà Singleton
L-aktar approċċ letterali għall-armonizzazzjoni ta' RDF u LPG huwa probabbilment :
- Minflok, pereżempju, il-predikat
:isMarriedTojintużaw il-predikati:isMarriedTo1,:isMarriedTo2eċċ. - Dawn il-predikati mbagħad isiru s-suġġetti ta’ triplets ġodda:
:isMarriedTo1 :since "2013-09-13"^^xsd:dateeċċ - Il-konnessjoni ta 'dawn l-istanzi ta' predikati ma 'predikat komuni hija stabbilita minn triplets tal-forma
:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo. - Ovvjament dak
rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, imma aħseb dwar għaliex m'għandekx tikteb biss:isMarriedTo1 rdf:type :isMarriedTo.
Il-problema ta '"appoġġ LPG" hija solvuta hawn fil-livell RDFS. Tali deċiżjoni teħtieġ l-inklużjoni fil-approprijat . Xi bidliet jistgħu jkunu meħtieġa għall-ħwienet RDF li jappoġġjaw konsegwenzi ta 'twaħħil, iżda għalissa, Singleton Property tista' titqies bħala teknika oħra ta 'mudellar.
V.1.2. Reifikazzjoni Magħmula Dritt
Approċċi inqas naive joħorġu mir-realizzazzjoni li l-istanzi tal-proprjetà huma kompletament instanzjabbli minn triplets. Billi nkunu nistgħu ngħidu xi ħaġa dwar it-triplets, inkunu nistgħu nitkellmu dwar każijiet ta 'proprjetà.
L-aktar robust minn dawn l-approċċi huwa , magħruf ukoll bħala RDR, fil-fond ta’ Blazegraph. Huwa mill-bidu nett għalik innifsek u AnzoGraph. Is-solidità tal-approċċ hija determinata mill-fatt li fil-qafas tiegħu bidliet korrispondenti fi . Il-punt, madankollu, huwa estremament sempliċi. Fis-serjelizzazzjoni tal-Fekruna ta 'RDF issa tista' tikteb xi ħaġa bħal din:
<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .V.1.3. Approċċi oħra
Ma tistax tolqot bis-semantika formali, imma sempliċement tassumi li t-tripletti għandhom ċerti identifikaturi, li huma, ovvjament, URIs, u joħolqu triplets ġodda b'dawn l-URIs. Jibqa' biss li jingħata aċċess għal dawn l-URIs fl-SPARQL. Allura Stardog.
Fl-Allegrograph b'mod intermedju. Huwa magħruf li l-identifikaturi triplet f'Allegrograph , iżda meta jiġu implimentati attributi tripli ma joħorġux. Madankollu, għadu 'l bogħod ħafna mis-semantika formali. Ta 'min jinnota li l-attributi triplet mhumiex URIs, u l-valuri ta' dawn l-attributi jistgħu wkoll ikunu letterali biss. L-aderenti tal-LPG jiksbu eżattament dak li riedu. Fil-format NQX ivvintat apposta, eżempju simili għal dak ta' hawn fuq għal RDF* jidher bħal dan:
:bob :marriedTo :alice {"since" : "2013-09-13"}V.2. Lingwi tal-mistoqsijiet
Wara li appoġġja l-LPG b'xi mod jew ieħor fil-livell tal-mudell, trid tagħmilha possibbli li tagħmel mistoqsijiet dwar id-dejta f'tali mudell.
- Blazegraph għal mistoqsijiet RDF * jappoġġja и . Mistoqsija SPARQL* tidher bħal din:
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }- Anzograph jappoġġja wkoll u se tappoġġja , lingwa ta' mistoqsija f'Neo4j.
- Stardog jappoġġja tiegħu stess SPARQL u Gremlin. Tista 'tikseb l-URI triplet u l-"meta-informazzjoni" fl-SPARQL billi tuża xi ħaġa bħal din:
SELECT * {
BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
?id :since ?since
}- Allegrograph jappoġġja wkoll tiegħu stess SPARQL:
SELECT * { ("since" ?since) franz:attributesNameValue ( :bob :marriedTo ?wife ) }Mill-mod, GraphDB f'ħin wieħed appoġġja Tinkerpop/Gremlin mingħajr ma appoġġja LPG, iżda dan waqaf fil-verżjoni 8.0 jew 8.1.
VI. Issikkar tal-liċenzji
Ma kien hemm l-ebda żidiet riċenti għall-intersezzjoni tas-settijiet "triplestore ta 'għażla" u "triplestore open source". Il-ħwienet ġodda RDF open source huma 'l bogħod milli jkunu għażla tajba għall-użu ta' kuljum, u l-ħwienet RDF ġodda li nixtieq nuża (bħal AnzoGraph) huma sors magħluq. Anzi, nistgħu anke nitkellmu dwar tnaqqis...
Naturalment, is-sors miftuħ ma ngħalaqx fil-passat, iżda xi repożitorji ta' sors miftuħ bil-mod ma jibqgħux jitqiesu bħala ta' min jintgħażlu. Virtuoso, li għandu edizzjoni opensource, fl-opinjoni tiegħi qed jegħreq fil-bugs. Blazegraph inxtara minn AWS u ffurmat il-bażi ta 'Amazon Neptune; issa mhux ċar jekk hux se jkun hemm mill-inqas rilaxx wieħed ieħor. Jena biss fadal...
Jekk is-sors miftuħ mhuwiex importanti ħafna, imma trid biss tipprovaha, allura kollox huwa wkoll inqas rosy minn qabel. Pereżempju:
- Stardog iqassam il-verżjoni b'xejn (madankollu, il-perjodu ta 'prova tal-verżjoni regolari rdoppja);
- в , fejn qabel tista' tagħżel pjan bażiku b'xejn, issospendiet ir-reġistrazzjonijiet ta' utenti ġodda.
B'mod ġenerali, għall-persuna medja tal-IT, l-ispazju qed isir aktar u aktar inaċċessibbli; l-iżvilupp tiegħu qed isir il-lott tal-korporazzjonijiet.
Sors: www.habr.com
