Ngati chosungira sichipereka mwayi wotero, chikhoza kukhazikitsidwa mwaokha polemba "wotsutsa" woyenera. Izi ndi zomwe adachita, mwachitsanzo, mu polojekiti yaku France DataTourisme. Kapena simungalembenso chilichonse, koma ingotengani HyperGraphQL.
Kuchokera pamalingaliro a Orthodox adherent of the Semantic Web and Linked Data, zonsezi, ndithudi, ndi zachisoni, chifukwa zikuwoneka kuti zapangidwira kuphatikizika komwe kumamangidwa mozungulira silo yotsatira ya data, osati nsanja zoyenera (masitolo a RDF, ndithudi) .
Zowoneka pakuyerekeza GraphQL ndi SPARQL ndizowirikiza.
Kumbali imodzi, GraphQL ikuwoneka ngati wachibale wakutali wa SPARQL: imathetsa mavuto oyesanso ndi kuchuluka kwa mafunso omwe amafanana ndi REST - popanda zomwe, mwina, sizingakhale zotheka kuziganizira. chinenero chofunsa, osachepera pa intaneti;
Kumbali ina, schema yolimba ya GraphQL ndiyokhumudwitsa. Chifukwa chake, "kuyang'ana" kwake kumawoneka kocheperako poyerekeza ndi kusinthika kwathunthu kwa RDF. Ndipo palibe analogue ya njira za katundu, kotero sizidziwika bwino chifukwa chake ndi "Graph-".
II. Adapter a MongoDB
Mchitidwe wogwirizana ndi wam'mbuyo.
Mu Stardog tsopano mwina - makamaka, onse pa GraphQL yomweyo - sinthani mapu a data ya MongoDB kukhala ma graph a RDF;
Ontotext GraphDB yaposachedwa timatha ikani zidutswa mu SPARQL pa MongoDB Query.
Ngati tilankhula mozama za ma adapter ku magwero a JSON, omwe amalola kuti "pa ntchentche" mochulukirapo kapena pang'ono ayimirire JSON yosungidwa m'malo awa ngati RDF, titha kukumbukira nthawi yayitali. SPARQL Pangani, zomwe zingasinthidwe, Mwachitsanzo, ku Apache Jena.
Mwachidule, palibe. Ndikufuna kupereka nkhani yosiyana pamutu wa ma DBMS amitundu yambiri, koma pakalipano tingazindikire kuti pakali pano palibe ma DBMS amitundu yambiri "ochokera" pazithunzi za graph (RDF ikhoza kuonedwa ngati mtundu wa izo) . Zina zing'onozing'ono zamitundu yambiri - zothandizira zosungirako za RDF za mtundu wina wazithunzi za LPG - zidzakambidwa gawo V.
III. OLTP vs. OLAP
Komabe, Gartner yemweyo Iye analembakuti multimodel ndi sine qua non condition makamaka zipinda zochitira opaleshoni DBMS. Izi ndizomveka: muzochitika za "multivariate storage", mavuto akuluakulu amadza ndi kugulitsa.
Koma zosungira za RDF zili pati pamlingo wa OLTP-OLAP? Ndikanayankha motere: palibe apo kapena apa. Kuti muwonetse zomwe akupangira, chidule chachitatu chimafunika. Monga njira ndinganene OLIP - Kusintha kwanzeru pa intaneti.
Komabe, komabe:
njira zophatikizira ndi MongoDB zomwe zakhazikitsidwa ku GraphDB ndizochepa anafuna kuthandizira kuthetsa mavuto a ntchito;
Tsopano ndiroleni ndikuwonetseni wosewera watsopano pamsika. Kuchokera kwa omwe amapanga IBM Netezza ndi Amazon Redshift - AnzoGraphβ’. Chithunzi chochokera ku malonda a chinthu chochokera pa icho chinaikidwa kumayambiriro kwa nkhaniyo. AnzoGraph imadziyika yokha ngati yankho la GOLAP. Kodi mumakonda bwanji SPARQL yokhala ndi zenera? -
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { β¦ }
IV. Zithunzi za RocksDB
Zokwera kale panali ulalo ku chilengezo cha Stardog 7 Beta, yomwe idati Stardog idzagwiritsa ntchito RocksDB ngati njira yosungiramo - malo osungiramo zinthu zofunika kwambiri, foloko ya Facebook ya Google LevelDB. Kodi nchifukwa ninji kuli koyenera kulankhula za mkhalidwe wakutiwakuti?
Choyamba, kuweruza Nkhani ya Wikipedia, osati zosungira za RDF zokha zomwe "zimasinthidwa" ku RocksDB. Pali mapulojekiti ogwiritsira ntchito RocksDB ngati injini yosungirako ku ArangoDB, MongoDB, MySQL ndi MariaDB, Cassandra.
Kachiwiri, mapulojekiti (omwe sizinthu) pamitu yoyenera amapangidwa pa RocksDB.
Mwachitsanzo, eBay imagwiritsa ntchito RocksDB mu nsanja pa "graph ya chidziwitso". Mwa njira, ndizoseketsa kuwerenga: chilankhulo chofunsacho chinayamba ngati chokulirapo kunyumba, koma posachedwa chasintha kukhala ngati SPARQL. Monga nthabwala: ngakhale tipanga graph yochuluka bwanji, timakhalabe ndi RDF.
Chitsanzo china - chomwe chinawonekera miyezi ingapo yapitayo Wikidata History Query Service. Asanayambike, zambiri za mbiri yakale za Wikidata zidayenera kupezeka kudzera MWAPI kupita ku Mediawiki API. Tsopano zambiri ndizotheka ndi SPARQL yoyera. "Pansi pa hood" palinso RocksDB. Mwa njira, WDHQS idapangidwa, zikuwoneka, ndi munthu yemwe adatumiza Freebase mu Google Knowledge Graph.
Thandizo la V. LPG
Ndiroleni ndikukumbutseni kusiyana kwakukulu pakati pa ma graph a LPG ndi ma graph a RDF.
Mu LPG, katundu wa scalar amatha kugawidwa m'mbali, pomwe mu RDF atha kupatsidwa "mitundu" yam'mphepete (koma osati ma scalar okha, komanso maulumikizidwe wamba). Kuchepetsa uku kwa RDF poyerekeza ndi LPG gonjetsani njira imodzi kapena ina. Zofooka za LPG poyerekeza ndi RDF zimakhala zovuta kuthana nazo, koma ma graph a LPG ali ngati zithunzi zochokera m'buku la Harari kuposa ma graph a RDF, chifukwa chake anthu amawafuna.
Mwachiwonekere, ntchito ya "LPG thandizo" imagwera m'magawo awiri:
kusintha kwa mtundu wa RDF zomwe zimapangitsa kuti zitheke kutsanzira mapangidwe a LPG momwemo;
kusintha chinenero cha mafunso cha RDF chomwe chimapangitsa kuti munthu athe kupeza deta mumtundu wosinthidwawu, kapena kugwiritsa ntchito luso lotha kufunsa chitsanzo ichi m'zinenero zotchuka za LPG.
M'malo, mwachitsanzo, predicate :isMarriedTo ma predicates amagwiritsidwa ntchito :isMarriedTo1, :isMarriedTo2 i. d.
Ma predicates awa amakhala mitu ya mapatatu atsopano: :isMarriedTo1 :since "2013-09-13"^^xsd:date ndi ena.
Kulumikizana kwa zochitika izi za predicates ndi predicate wamba kumakhazikitsidwa ndi katatu a mawonekedwe :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
N'zoonekeratu kuti rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, koma ganizirani chifukwa chake simuyenera kungolemba :isMarriedTo1 rdf:type :isMarriedTo.
Vuto la "LPG thandizo" lathetsedwa pano pamlingo wa RDFS. Chisankho choterocho chimafuna kuphatikizidwa muzoyenera muyezo. Zosintha zina zitha kufunidwa m'masitolo a RDF omwe amathandizira zomangira, koma pakadali pano, Singleton Property ikhoza kuganiziridwa ngati njira ina yofananira.
V.1.2. Kukonzanso Kwachitika Bwino
Njira zopanda nzeru zimachokera ku kuzindikira kuti zochitika za katundu ndizokhazikika ndi katatu. Pakutha kunena china chokhudza mapatatu, tidzatha kulankhula za zochitika za katundu.
Njira yamphamvu kwambiri mwa njira izi ndi RDF*, RDR, kubadwa mkati mwa Blazegraph. Ndi kuyambira pachiyambi osankhidwa zanu ndi AnzoGraph. Kulimba kwa njirayo kumatsimikiziridwa ndi mfundo yakuti mkati mwa dongosolo lake zoperekedwa zosintha zosiyanasiyana mu Semantics ya RDF. Mfundo yake, komabe, ndiyosavuta kwambiri. Mu Turtle serialization ya RDF mutha kulemba motere:
Simungavutike ndi semantics yovomerezeka, koma kungoganiza kuti mapatatu ali ndi zozindikiritsa zina, zomwe ndi ma URIs, ndikupanga mapatatu atsopano ndi ma URI awa. Zomwe zatsala ndikungopatsa mwayi wopeza ma URI mu SPARQL. Choncho afika Stardog.
Mu Allegrograph anapita mwa njira yapakatikati. Zimadziwika kuti zozindikiritsa katatu mu Allegrograph pali, koma pokwaniritsa zikhumbo zitatu sizimatuluka. Komabe, akadali kutali kwambiri ndi semantics yovomerezeka. Ndizofunikira kudziwa kuti mawonekedwe atatu si URIs, ndipo mayendedwe amtunduwu amathanso kukhala enieni. Otsatira a LPG amapeza zomwe akufuna. Mu mtundu wopangidwa mwapadera wa NQX, chitsanzo chofanana ndi chomwe chili pamwambapa cha RDF* chikuwoneka motere:
Mwa njira, GraphDB nthawi ina idathandizira Tinkerpop/Gremlin popanda kuthandizira LPG, koma izi zidayima mu mtundu 8.0 kapena 8.1.
VI. Kuyimitsidwa kwa ziphaso
Sipanakhalepo zowonjezera zaposachedwa pamzere wa "triplestore of choice" ndi "open source triplestore" seti. Malo ogulitsira atsopano a RDF ali kutali kwambiri ndi kukhala chisankho chabwino pakugwiritsa ntchito tsiku ndi tsiku, ndipo masitolo atsopano atatu omwe ndikufuna kugwiritsa ntchito (monga AnzoGraph) ali otsekedwa. M'malo mwake, titha kulankhula za kuchepa ...
Zachidziwikire, gwero lotseguka silinatsekedwe m'mbuyomu, koma malo ena otsegulira gwero pang'onopang'ono sakuwonekanso ngati oyenera kusankha. Virtuoso, yomwe ili ndi opensource edition, mwa lingaliro langa, ikumira mu nsikidzi. Blazegraph idagulidwa ndi AWS ndikupanga maziko a Amazon Neptune; tsopano sizikudziwikiratu ngati padzakhala kumasulidwa kwinanso. Kwatsala Jena yekha...