IWebhu yeSemantic kunye neDatha eDityanisiweyo ifana nendawo yangaphandle: akukho bomi apho. Ukuya apho ixesha elingaphezulu okanye elingaphantsi kwexesha elide... Andazi ukuba bakuxelele ntoni usengumntwana xa bephendula βNdifuna ukuba ngusomajukujuku.β Kodwa unokujonga okwenzekayo ngelixa useMhlabeni; Kulula kakhulu ukuba sisazi ngeenkwenkwezi esisafundayo okanye ubuchwephesha.
Eli nqaku liza kugxila kutsha nje, akukho mdala kuneenyanga ezininzi, iindlela ezivela kwihlabathi lokugcina iRDF. Isikweko kumhlathi wokuqala siphefumlelwe ngumfanekiso wentengiso we-epic-ubungakanani phantsi kokusikwa.
I. GraphQL yofikelelo lwe-RDF
Ngaphandle kwebhokisi eli thuba linikezelwa ngu:
Ukuba indawo yokugcina ayiniki thuba elinjalo, inokuphunyezwa ngokuzimeleyo ngokubhala "isisombululo" esifanelekileyo. Yiloo nto abayenzayo, umzekelo, kwiprojekthi yesiFrentshi
Ukusuka kwindawo yokujonga i-orthodox adherent of the Semantic Web and Linked Data, konke oku, ngokuqinisekileyo, kubuhlungu, kuba kubonakala kulungiselelwe ukudityaniswa kwakhiwe malunga ne-silo yedatha elandelayo, kwaye ayifanelekanga (iivenkile ze-RDF, ngokuqinisekileyo) .
Iimpawu zokuthelekisa iGraphQL kunye ne-SPARQL zimbini.
- Kwelinye icala, iGraphQL ijongeka njengesalamane esikude se-SPARQL: isombulula iingxaki zokuphinda kuqwalaselwe kunye nophindaphindo lwemibuzo eqhelekileyo kwi-REST - ngaphandle kwayo, mhlawumbi, ngekhe kuqwalaselwe. ulwimi lombuzo, ubuncinci kwiwebhu;
- Kwelinye icala, ischema esomeleleyo seGraphQL siyadanisa. Ngokufanelekileyo, "ukubonakala kwayo" kubonakala kunqongophele kakhulu xa kuthelekiswa ne-reflexivity epheleleyo ye-RDF. Kwaye akukho analogue yeendlela zepropathi, ngoko ke akucaci nokuba kutheni "iGrafu-".
II. Iiadaptha zeMongoDB
Umkhwa ohambelana nale yangaphambili.
- KwiStardog ngoku
mhlawumbi - ngokukodwa, zonke kwiGraphQL efanayo - qwalasela imephu yedatha ye-MongoDB kwiigrafu ze-RDF ezibonakalayo; - I-Ontotext GraphDB iye yakutshanje
it ivumela faka amaqhekeza kwi-SPARQL kuMbuzo we-MongoDB.
Ukuba sithetha ngokubanzi malunga neeadaptha kwimithombo ye-JSON, evumela ngaphezulu okanye ngaphantsi "kwibhabhathane" ukumela i-JSON egcinwe kule mithombo njenge-RDF, sinokukhumbula ixesha elide lokuma.
Ukushwankathela iindlela ezimbini zokuqala, sinokuthi ukugcinwa kwe-RDF kubonisa ukulungela ngokupheleleyo ukudibanisa kunye nokusebenza kwiimeko "zokuzingisa kwe-polyglot". Kuyaziwa, nangona kunjalo, ukuba le yokugqibela kudala iphumile kwifashoni, kwaye ithathelwa indawo
Ngamafutshane, akukho ndlela. Ndingathanda ukunikezela inqaku elahlukileyo kwisihloko see-DBMS ezininzi zeemodeli, kodwa ngoku kunokuqatshelwa ukuba ngoku akukho modeli ye-DBMS "esekelwe" kwimodeli yegrafu (i-RDF inokuthathwa njengoluhlobo lwayo). . Enye imodeli encinci encinci-inkxaso yokugcina i-RDF yenye imodeli yegrafu ye-LPG-iya kuxoxwa kuyo
III. OLTP vs. OLAP
Nangona kunjalo, uGartner ofanayo
Kodwa ziphi iindawo zokugcina ze-RDF ezibekwe kwisikali se-OLTP-OLAP? Bendiya kuphendula ngolu hlobo: akukho apho nalapha. Ukubonisa oko zijoliswe kuko, esinye isifinyezo sesithathu siyafuneka. Njengokhetho ndingacebisa I-OLIP -Ukwenziwa koBukrelekrele kwi-Intanethi.
Nangona kunjalo, kunjalo:
- iindlela zokudibanisa kunye ne-MongoDB eziphunyezwe kwi-GraphDB azincinci
yenzelwe ukusebenzela ukubhala imiba yokwenziwa komsebenzi; - I-Stardog ihamba ngakumbi kwaye ngokupheleleyo
ubhala kwakhona injini, kwakhona ngenjongo yokuphucula ukusebenza kokurekhoda.
Ngoku mandikwazise umdlali omtsha emarikeni. Ukusuka kubadali be-IBM Netezza kunye neAmazon Redshift -
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { β¦ }
IV. RocksDB
Sele ephezulu
Okokuqala, ngokugweba
Okwesibini, iiprojekthi (oko kukuthi, kungekhona iimveliso) kwizihloko ezifanelekileyo zenziwe kwi-RocksDB.
Umzekelo, i-eBay isebenzisa iRocksDB kwi
Omnye umzekelo - omnye owavela kwiinyanga ezimbalwa ezidlulileyo
V. LPG inkxaso
Makhe ndikukhumbuze ngomahluko ophambili phakathi kweegrafu ze-LPG kunye neegrafu ze-RDF.
Kwi-LPG, iipropati ze-scalar zingabelwa kwiimeko ezinqamlekileyo, ngelixa kwi-RDF zinokuthi zinikezelwe kuphela "iintlobo" ze-edge (kodwa kungekhona kuphela iimpawu ze-scalar, kodwa kunye nokudibanisa okuqhelekileyo). Lo mda we-RDF xa kuthelekiswa neLPG
Ngokucacileyo, umsebenzi "wenkxaso ye-LPG" iwela ngamacandelo amabini:
- ukwenza utshintsho kwimodeli ye-RDF eyenza kube lula ukulinganisa izakhiwo ze-LPG kuyo;
- ukwenza utshintsho kulwimi lombuzo we-RDF olwenza ukuba kube lula ukufikelela kwidatha kule modeli ilungisiweyo, okanye ukuphumeza ukukwazi ukwenza imibuzo kule modeli kwiilwimi ezithandwayo ze-LPG.
V.1. Imodeli yedatha
Kukho iindlela ezininzi ezinokwenzeka apha.
V.1.1. Ipropati yeSingleton
Eyona ndlela yokwenyani yokungqinelanisa i-RDF kunye ne-LPG mhlawumbi
- Endaweni yokuba, umzekelo, isivisa
:isMarriedTo
kusetyenziswa izibikezelo:isMarriedTo1
,:isMarriedTo2
njalo njalo. - Ezi zibikezelo ke ziba zizihloko zeetriplets ezintsha:
:isMarriedTo1 :since "2013-09-13"^^xsd:date
nabanye. - Uqhagamshelo lwezi ziganeko ze-predicates kunye ne-predicate efanayo lusekwe ngama-triplets efom
:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo
. - Ngokucacileyo,
rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type
, kodwa cinga ngesizathu sokuba ungabhali nje:isMarriedTo1 rdf:type :isMarriedTo
.
Ingxaki ye "LPG inkxaso" isonjululwe apha kwinqanaba le-RDFS. Isigqibo esinjalo sifuna ukubandakanywa kwindawo efanelekileyo
V.1.2. Uhlengahlengiso Kwenziwe Ngokufanelekileyo
Iindlela ezingephi zisuka ekuqondeni ukuba iimeko zepropathi ziqinisekiswa ngokuphindwe kathathu. Ngokukwazi ukuthetha into malunga nee-triplets, siya kukwazi ukuthetha malunga neemeko zepropathi.
Eyona nto inamandla kwezi ndlela
<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .
V.1.3. Ezinye iindlela
Awunakuzihlupha ngesemantics esesikweni, kodwa thatha ngokulula ukuba iintathu zinezifanisi ezithile, ezi, kunjalo, ii-URIs, kwaye zenze ii-triplets ezintsha ngezi URIs. Ekuphela kwento eseleyo kukunika ufikelelo kwezi URIs kwi-SPARQL. Ngoko
Kwi-Allegrograph
:bob :marriedTo :alice {"since" : "2013-09-13"}
V.2. Iilwimi zokubuza
Emva kokuba uxhase i-LPG ngendlela enye okanye enye kwinqanaba lemodeli, kufuneka wenze ukuba kwenzeke ukwenza imibuzo kwidatha kwimodeli enjalo.
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }
- I-Anzograph nayo iyaxhasa
SPARQL* kwaye uya kukuxhasaIsipro , ulwimi lombuzo kwi-Neo4j. - IStardog ixhasa eyayo
ukwandiswa SPARQL kunyekwakhona Gremlin. Unokufumana i-URI ye-triplet kunye "nolwazi lwemeta" kwi-SPARQL usebenzisa into enje:
SELECT * {
BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
?id :since ?since
}
- I-Allegrograph nayo ixhasa eyayo
ukwandiswa SPARQL:
SELECT * { ("since" ?since) franz:attributesNameValue ( :bob :marriedTo ?wife ) }
Ngendlela, iGraphDB ngaxeshanye ixhase iTinkerpop/Gremlin ngaphandle kokuxhasa iLPG, kodwa oku kuyeka kwinguqulo 8.0 okanye 8.1.
VI. Ukuqiniswa kweelayisensi
Akukhange kubekho zongezo zakutsha nje ekudibaneni kwe "triplestore yokuzikhethela" kunye "neseti evulekileyo yomthombo we-triplestore". Iivenkile ezintsha ezivulelekileyo ze-RDF ziyindlela ende ukusuka ekubeni lukhetho olulungileyo lokusetyenziswa kwemihla ngemihla, kunye neevenkile ezithathu ezintsha endingathanda ukuzisebenzisa (ezifana ne-AnzoGraph) zivaliwe ngumthombo. Endaweni yoko, sinokuthetha ngokuncipha...
Ewe kunjalo, umthombo ovulekileyo awuzange uvaliwe ngaphambili, kodwa ezinye iindawo zokugcina imithombo evulekileyo azisabonwa njengento efanelekileyo yokukhetha. I-Virtuoso, ene-opensource edition, ngokombono wam, irhaxwa kwiibugs. I-Blazegraph yathengwa yi-AWS kwaye yenza isiseko se-Amazon Neptune; ngoku akucaci ukuba kuya kubakho ukukhululwa okunye. NguJena kuphela oseleyo...
Ukuba umthombo ovulekileyo awubalulekanga kakhulu, kodwa ufuna nje ukuzama, ngoko yonke into ibuye ibe ngaphantsi kwe-rosy kunangaphambili. Umzekelo:
- Inkwenkwezi
iyamisa ukusabalalisa inguqulo yamahhala (nangona kunjalo, ixesha lovavanyo lwenguqu eqhelekileyo liphindwe kabini); - Π²
Ilifu leGraphDB , apho ngaphambili ubunokukhetha isicwangciso esisisiseko sasimahla, ubhaliso lwabasebenzisi abatsha lunqunyanyisiwe.
Ngokubanzi, kumndilili we-IT umntu, indawo iya isiba ingafikeleleki; uphuhliso lwayo luba luninzi lweenkampani.
umthombo: www.habr.com