Kwenzakalani ngamakhosombe e-RDF manje?

Iwebhu ye-Semantic kanye nedatha exhunyiwe kufana nomkhathi ongaphandle: akukho ukuphila lapho. Ukuya lapho isikhathi eside noma esingaphansi... Angazi ukuthi bakutshelani ngiseyingane bephendula 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 esilingana nobukhulu obungaphansi kokusikwa.


Isithombe se-Epic

Kwenzakalani ngamakhosombe e-RDF manje?

I. GraphQL yokufinyelela kwe-RDF

Bathiukuthi i-GraphQL ihlose ukuba ulimi lokufinyelela kusizindalwazi jikelele. Kuthiwani ngekhono lokufinyelela i-RDF usebenzisa i-GraphQL?

Ngaphandle kwebhokisi leli thuba linikezwa ngu:

Uma inqolobane inganikezi ithuba elinjalo, ingasetshenziswa ngokuzimela ngokubhala “isixazululi” esifanele. Yilokhu abakwenzile, isibonelo, kuphrojekthi yesiFulentshi IdathaTourisme. Noma awusakwazi ukubhala lutho, kodwa thatha nje I-HyperGraphQL.

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.

  • Ku-Stardog manje kungenzeka - ikakhulukazi, konke ku-GraphQL efanayo - lungiselela ukuhlelwa kwedatha ye-MongoDB ibe amagrafu abonakalayo e-RDF;
  • I-Ontotext GraphDB isanda kwenzeka kuvumela 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. Khiqiza i-SPARQL, engalungiswa, isibonelo, 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 uyeza 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 isigaba V.

III. I-OLTP vs. I-OLAP

Nokho, uGartner ofanayo ubhalaleyo 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 okuhlosiwe ukusebenza ngokubhala izindaba zokusebenza;
  • I-Stardog iqhubekela phambili futhi ngokuphelele ubhala kabusha injini, futhi ngenhloso yokuthuthukisa ukusebenza kokurekhoda.

Manje ake ngethule umdlali omusha emakethe. Kusuka kubadali be-IBM Netezza ne-Amazon Redshift - I-AnzoGraph™. 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 kwakukhona isixhumanisi 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 Isihloko se-Wikipedia, 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 ipulatifomu "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 Isevisi Yombuzo Womlando we-Wikidata. Ngaphambi kokwethulwa, imininingwane yomlando ye-Wikidata bekufanele ifinyelelwe MWAPI 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 ukunqoba 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:

  1. ukwenza izinguquko kumodeli ye-RDF eyenza kube nokwenzeka ukulingisa izakhiwo ze-LPG kuyo;
  2. 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 impahla ye-singleton:

  • Esikhundleni sokuthi, isibonelo, isilandiso :isMarriedTo kusetshenziswa izilandiso :isMarriedTo1, :isMarriedTo2 i t. d.
  • Lezi zilandiso zibe yizihloko zamawele amathathu amasha: :isMarriedTo1 :since "2013-09-13"^^xsd:date nabanye.
  • 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 standard. 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-RDF*, i-RDR, wazalwa ekujuleni kweBlazegraph. Kusuka ekuqaleni okhethiwe ngawe kanye ne-AnzoGraph. Ukuqina kwendlela kunqunywa ukuthi ngaphakathi kohlaka lwayo inikelwe izinguquko ezihambisanayo ku I-RDF Semantics. 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 ifika I-Stardog.

Ku-Allegrograph wahamba ngendlela ephakathi. Kuyaziwa ukuthi izihlonzi ezintathu ku-Allegrograph kuyinto, 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 I-SPARQL* и I-Gremlin. Umbuzo we-SPARQL* ubukeka kanje:

 SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }

  • I-Anzograph nayo isekela I-SPARQL* futhi uzokweseka Cypher, ulimi lombuzo ngesi-Neo4j.
  • I-Stardog isekela eyakhe ukwandiswa SPARQL futhi 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 ukwandiswa 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 ezintathu engingathanda ukuzisebenzisa (njenge-AnzoGraph) zingumthombo ovaliwe. Kunalokho, singakhuluma ngokuncipha...

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 iyama sabalalisa inguqulo yamahhala (noma kunjalo, isikhathi sesilingo senguqulo evamile siphindeke kabili);
  • в I-GraphDB Cloud, lapho ngaphambilini ubungakhetha khona uhlelo oluyisisekelo lwamahhala, ukubhaliswa kwabasebenzisi abasha kumisiwe.

Ngokuvamile, kumuntu ojwayelekile we-IT, isikhala siya ngokuya singafinyeleleki; ukuthuthukiswa kwaso kuba yinqwaba yezinkampani.

Source: www.habr.com

Engeza amazwana