Iwebhu ye-Semantic kanye nedatha exhunyiwe kufana nomkhathi ongaphandle: akukho ukuphila lapho. Ukuya lapho isikhathi eside noma esingaphansi... kuhle, angazi ukuthi bakutshela ukuthini useyingane ekuphenduleni kokuthi “Ngifuna ukuba usomkhathi.” Kodwa ungakwazi ukubona okwenzekayo ngenkathi usemhlabeni; Kulula kakhulu ukuba isazi sezinkanyezi esiyimfundamakhwela noma uchwepheshe.
I-athikili izogxila kokwakamuva, okungaphezu kwezinyanga ezimbalwa, amathrendi avela emhlabeni wesitoreji se-RDF. Isingathekiso esisesigabeni sokuqala sigqugquzelwe isithombe sokukhangisa esinosayizi omkhulu ngaphansi kokusikwa.
Isithombe se-Epic

I. GraphQL yokufinyelela kwe-RDF
ukuthi i-GraphQL ihlose ukuba ulimi lokufinyelela kusizindalwazi jikelele. Kuthiwani ngekhono lokufinyelela i-RDF usebenzisa i-GraphQL?
Ngaphandle kwebhokisi leli thuba linikezwa ngu:
- Inkanyezi (, );
- Imikhiqizo ye-TopQuadrant (, ).
Uma inqolobane inganikezi ithuba elinjalo, ingasetshenziswa ngokuzimela ngokubhala “isixazululi” esifanele. Yilokhu abakwenzile, isibonelo, kuphrojekthi yesiFulentshi . Noma awusakwazi ukubhala lutho, kodwa thatha nje .
Ngokombono we-orthodox adherent of the Semantic Web and Linked Data, konke lokhu, yebo, kuyadabukisa, ngoba kubonakala kuklanyelwe ukuhlanganiswa okwakhiwa eduze kwe-silo yedatha elandelayo, futhi amapulatifomu angafanelekile (izitolo ze-RDF, kunjalo) .
Imibono evela ekuqhathaniseni i-GraphQL ne-SPARQL ikabili.
- Ngakolunye uhlangothi, i-GraphQL ibukeka njengesihlobo esikude se-SPARQL: ixazulula izinkinga zokulinganisa kabusha kanye nokuphindaphinda kwemibuzo ejwayelekile ku-REST - ngaphandle kwalokho, mhlawumbe, bekungeke kwenzeke ukucatshangelwa. ulimi lokubuza, okungenani okwewebhu;
- Ngakolunye uhlangothi, i-schema eqinile ye-GraphQL iyadumaza. Ngakho-ke, "i-introspectiveness" yayo ibonakala ilinganiselwe kakhulu uma iqhathaniswa nokuguquguquka okuphelele kwe-RDF. Futhi ayikho i-analogue yezindlela zempahla, ngakho-ke akucaci ngisho nokuthi kungani "Igrafu-".
II. Ama-adaptha e-MongoDB
Ithrendi ehambisana neyangaphambili.
- e-Stardog manje - ikakhulukazi, konke ku-GraphQL efanayo - lungiselela ukuhlelwa kwedatha ye-MongoDB ibe amagrafu abonakalayo e-RDF;
- I-GraphDB isanda kwenzeka faka izingcezu ku-SPARQL kumbuzo we-MongoDB.
Uma sikhuluma kabanzi mayelana nama-adaptha emithonjeni ye-JSON, evumela okuningi noma okuncane "endizeni" ukumela i-JSON egcinwe kule mithombo njenge-RDF, singakhumbula isikhathi eside impela. , engalungiswa, , ku-Apache Jena.
Sifingqa amathrendi amabili okuqala, singasho ukuthi isitoreji se-RDF sibonisa ukulungela okuphelele kokuhlanganiswa nokusebenza ngaphansi kwezimo "zokuphikelela kwe-polyglot". Nokho, kuyaziwa ukuthi le yakamuva kade yaphuma emfashinini, futhi ithathelwa indawo amamodeli amaningi. Kuthiwani ngamamodeli amaningi emhlabeni wesitoreji se-RDF?
Ngamafuphi, akukho ndlela. Ngingathanda ukunikezela isihloko esihlukile esihlokweni sama-DBMS amamodeli amaningi, kodwa okwamanje kungaphawulwa ukuthi okwamanje awekho ama-DBMS amamodeli amaningi "asekelwe" kumodeli wegrafu (i-RDF ingabhekwa njengohlobo lwayo) . Okunye okuncane kokumodela okuningi - ukwesekwa kwesitoreji se-RDF senye imodeli yegrafu ye-LPG - kuzoxoxwa ngakho kuyo .
III. I-OLTP vs. I-OLAP
Nokho, uGartner ofanayo leyo multimodel iyisine qua non condition ngokuyinhloko amagumbi okuhlinzela I-DBMS. Lokhu kuyaqondakala: esimweni "sokugcina i-multivariate", izinkinga eziyinhloko zivela ngokuthengiselana.
Kodwa zikuphi isitoreji se-RDF esikalini se-OLTP-OLAP? Ngingaphendula ngale ndlela: akukho lapho noma lapha. Ukukhombisa ukuthi zihloselwe ini, kudingeka isifinyezo sesithathu. Njengenketho engingayiphakamisa I-OLIP - Ukucutshungulwa kobuhlakani ku-inthanethi.
Nokho, namanje:
- izindlela zokuhlanganisa ne-MongoDB ezisetshenziswa ku-GraphDB azincane ukusebenza ngokubhala izindaba zokusebenza;
- I-Stardog iqhubekela phambili futhi ngokuphelele injini, futhi ngenhloso yokuthuthukisa ukusebenza kokurekhoda.
Manje ake ngethule umdlali omusha emakethe. kusukela kubadali be-IBM Netezza kanye ne-Amazon Redshift - . Isithombe esivela esikhangisweni somkhiqizo esisekelwe kuwo sithunyelwe ekuqaleni kwesihloko. I-AnzoGraph izibeka njengesixazululo se-GOLAP. Uyithanda kanjani i-SPARQL ngemisebenzi yewindi? -
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { … }IV. I-RocksDB
Isiphezulu kakade esimemezelweni se-Stardog 7 Beta, esathi i-Stardog izosebenzisa i-RocksDB njengohlelo oluyisisekelo lokugcina - isitolo senani elingukhiye, imfoloko ye-Facebook ye-LevelDB yakwaGoogle. Kungani kufaneleka ukukhuluma ngomkhuba othile?
Okokuqala, ukwahlulela , akuzona kuphela izilondolozi ze-RDF "ezitshalwa kabusha" ku-RocksDB. Kunamaphrojekthi okusebenzisa i-RocksDB njengenjini yokugcina ku-ArangoDB, MongoDB, MySQL kanye noMariaDB, Cassandra.
Okwesibili, amaphrojekthi (okungukuthi, hhayi imikhiqizo) ngezihloko ezifanele adalwa ku-RocksDB.
Isibonelo, i-eBay isebenzisa i-RocksDB ku "kwigrafu yolwazi". Ngendlela, kuyahlekisa ukufunda: ulimi lombuzo lwaqala njengefomethi ekhulile ekhaya, kodwa muva nje selushintshile ukuze lufane kakhulu ne-SPARQL. Njengasehlaya: kungakhathaliseki ukuthi senza igrafu engakanani yolwazi, sisagcina nge-RDF.
Esinye isibonelo - esavela ezinyangeni ezimbalwa ezedlule . Ngaphambi kokwethulwa, imininingwane yomlando ye-Wikidata bekufanele ifinyelelwe ku-Mediawiki API ejwayelekile. Manje okuningi kungenzeka nge-SPARQL ehlanzekile. "Ngaphansi kwe-hood" kukhona ne-RocksDB. Kodwa-ke, i-WDHQS yenziwe, kubonakala sengathi, ngumuntu ongenise i-Freebase ku-Google Knowledge Graph.
V. LPG ukwesekwa
Ake ngikukhumbuze umehluko omkhulu phakathi kwamagrafu e-LPG namagrafu e-RDF.
Ku-LPG, izakhiwo ze-scalar zingabelwa ezimweni ezinqenqemeni, kuyilapho ku-RDF zingabelwa kuphela "izinhlobo" ezinqenqemeni (kodwa hhayi izakhiwo ze-scalar kuphela, kodwa futhi nokuxhumana okuvamile). Lo mkhawulo we-RDF uma uqhathaniswa ne-LPG eyodwa noma enye indlela yokumodela. Imikhawulo ye-LPG uma iqhathaniswa ne-RDF inzima kakhulu ukuyinqoba, kodwa amagrafu e-LPG afana nezithombe ezivela encwadini ye-Harari kunamagrafu e-RDF, yingakho abantu befuna.
Ngokusobala, umsebenzi "we-LPG support" uwela izingxenye ezimbili:
- ukwenza izinguquko kumodeli ye-RDF eyenza kube nokwenzeka ukulingisa izakhiwo ze-LPG kuyo;
- ukwenza izinguquko kulimi lombuzo lwe-RDF okwenza kube nokwenzeka ukufinyelela idatha kule modeli eshintshiwe, noma ukusebenzisa ikhono lokubuza le modeli ngezilimi zombuzo ze-LPG ezidumile.
V.1. Imodeli Yedatha
Kunezindlela ezimbalwa ezingenzeka lapha.
V.1.1. I-Singleton Property
Indlela engokoqobo kakhulu yokuhlanganisa i-RDF ne-LPG kungenzeka :
- Esikhundleni sokuthi, isibonelo, isilandiso
:isMarriedTokusetshenziswa izilandiso:isMarriedTo1,:isMarriedTo2i t. d. - Lezi zilandiso zibe yizihloko zamawele amathathu amasha:
:isMarriedTo1 :since "2013-09-13"^^xsd:datenabanye. - Ukuxhumana kwalezi zimo zezilandiso ngesilandiso esivamile kusungulwa ngama-triplets efomu
:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo. - Ngokusobala,
rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, kodwa cabanga ngokuthi kungani kungafanele uvele ubhale:isMarriedTo1 rdf:type :isMarriedTo.
Inkinga "yokwesekwa kwe-LPG" ixazululwa lapha ezingeni le-RDFS. Isinqumo esinjalo sidinga ukufakwa kokufanelekile . Ezinye izinguquko zingadingeka ezitolo ze-RDF ezisekela imiphumela yokunamathisela, kodwa okwamanje, I-Singleton Property ingacatshangwa njengenye indlela yokumodela.
V.1.2. Ukulungiswa Kwenziwa Kahle
Izindlela ezingenangqondo zisuka ekuqapheliseni ukuthi izimo zezakhiwo aziqiniseki ngokuphelele ngama-triplets. Ngokukwazi ukusho okuthile ngama-triplets, sizokwazi ukukhuluma ngezimo zezakhiwo.
Okuqine kakhulu kulezi zindlela , i-RDR, ekujuleni kweBlazegraph. Kusuka ekuqaleni ngawe kanye ne-AnzoGraph. Ukuqina kwendlela kunqunywa ukuthi ngaphakathi kohlaka lwayo izinguquko ezihambisanayo ku . Iphuzu, nokho, lilula kakhulu. Ku-Turtle serialization ye-RDF manje ungabhala into efana nale:
<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .V.1.3. Ezinye izindlela
Awukwazi ukuzihlupha nge-semantics esemthethweni, kodwa vele ucabange ukuthi ama-triplets anezihlonzi ezithile, okuyiqiniso, ama-URI, futhi udala ama-triplets amasha ngalawa ma-URI. Okusele ukunikeza ukufinyelela kulawa ma-URI ku-SPARQL. Ngakho I-Stardog.
Ku-Allegrograph ngendlela ephakathi. Kuyaziwa ukuthi izihlonzi ezintathu ku-Allegrograph , kodwa lapho kusetshenziswa izimfanelo eziphindwe kathathu aziphumi ngaphandle. Nokho, kusekude kakhulu nesemantics esemthethweni. Kuyaphawuleka ukuthi izimfanelo ezintathu aziwona ama-URI, futhi amanani alezi zimfanelo nawo angaba angokoqobo kuphela. Abalandeli be-LPG bathola lokho kanye abebekufuna. Kufomethi eqanjwe ngokukhethekile ye-NQX, isibonelo esifana nalesi esingenhla se-RDF* sibukeka kanje:
:bob :marriedTo :alice {"since" : "2013-09-13"}V.2. Izilimi zokubuza
Njengoba ususekele i-LPG ngandlela thile ezingeni lemodeli, udinga ukwenza kube nokwenzeka ukubuza ngedatha kumodeli enjalo.
- I-Blazegraph yemibuzo ye-RDF* iyasekela и . Umbuzo we-SPARQL* ubukeka kanje:
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }- I-Anzograph nayo isekela futhi uzokweseka , ulimi lombuzo ngesi-Neo4j.
- I-Stardog isekela eyakhe SPARQL futhi Gremlin. Ungathola i-URI kathathu kanye “nemininingwane ye-meta” ku-SPARQL usebenzisa into efana nale:
SELECT * {
BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
?id :since ?since
}- I-Allegrograph nayo isekela okwayo I-SPARQL:
SELECT * { ("since" ?since) franz:attributesNameValue ( :bob :marriedTo ?wife ) }Nokho, i-GraphDB yake yasekela i-Tinkerpop/Gremlin ngaphandle kokusekela i-LPG, kodwa lokhu kuma kunguqulo 8.0 noma 8.1.
VI. Ukuqiniswa kwamalayisensi
Akuzange kube khona izengezo zakamuva ezimpambanweni zomgwaqo zesethi "yesitolo ezintathu esithandwayo" kanye "nomthombo ovulekile we-triplestore". Izitolo ezintsha ze-RDF zomthombo ovulekile zisekude ekubeni yisinqumo esihle sokusebenzisa nsuku zonke, futhi izitolo ezintsha ze-RDF engingathanda ukuzisebenzisa (njenge-AnzoGraph) zingumthombo ovaliwe. Kunalokho, singakhuluma nangokuncipha...
Vele, umthombo ovulekile awuzange uvaliwe esikhathini esidlule, kodwa amanye amaqoqo omthombo ovulekile awasabonwa njengokufanelekile ukukhetha. I-Virtuoso, enohlelo oluvulekile lomthombo, ngokombono wami, icwila ezimbungwini. I-Blazegraph yathengwa yi-AWS futhi yakha isisekelo se-Amazon Neptune; manje akucaci ukuthi kuzoba khona ukukhululwa okungenani okukodwa. Kusele uJena kuphela...
Uma umthombo ovulekile ungabalulekile kakhulu, kodwa ufuna nje ukuwuzama, khona-ke yonke into ibuye ibe yinhle kakhulu kunangaphambili. Ngokwesibonelo:
- I-Stardog sabalalisa inguqulo yamahhala (noma kunjalo, isikhathi sesilingo senguqulo evamile siphindeke kabili);
- в , lapho ngaphambilini ubungakhetha khona uhlelo oluyisisekelo lwamahhala, imise ukubhaliswa kwabasebenzisi abasha.
Ngokuvamile, kumuntu ojwayelekile we-IT, isikhala siya ngokuya singafinyeleleki; ukuthuthukiswa kwaso kuba yinqwaba yezinkampani.
Source: www.habr.com
