Iyo Semantic Webhu uye Yakabatanidzwa Dhata yakafanana nechadenga: hapana hupenyu ipapo. Kuti uendeko kwenguva yakati rebei kana shoma... Handizivi zvavakakuudza uchiri mudiki vachipindura kuti βNdinoda kuva astronaut.β Asi unogona kuona zviri kuitika uri paNyika; Zviri nyore kuve nyanzvi yekuongorora nyeredzi kana nyanzvi.
Chinyorwa chinotarisa pane ichangoburwa, isati yadarika mwedzi yakati wandei, mafambiro kubva munyika yekuchengetedza RDF. Dimikira riri mundima yekutanga rinofemerwa neiyo epic-saizi advertising mufananidzo pasi pekuchekwa.
I. GraphQL yekuwana RDF
Kunze kwebhokisi mukana uyu unopihwa ne:
Kana iyo repository isingapi mukana wakadaro, inogona kuitwa yakazvimirira nekunyora yakakodzera "mugadziri". Izvi ndizvo zvavakaita, semuenzaniso, muchirongwa cheFrench
Kubva pakuona kweiyo orthodox muteveri weSemantic Webhu uye Yakabatanidzwa Data, zvese izvi, hongu, zvinosuruvarisa, sezvo zvichiita senge zvakagadzirirwa kubatanidzwa kwakavakirwa kutenderedza inotevera data silo, uye kwete akakodzera mapuratifomu (RDF zvitoro, hongu) .
Maonero kubva pakuenzanisa GraphQL neSPARQL ane zvakapetwa kaviri.
- Kune rimwe divi, GraphQL inotaridzika sehama iri kure yeSPARQL: inogadzirisa matambudziko ekudzokorora uye kuwanda kwemibvunzo inowanzoitika kune REST - pasina izvo, pamwe, hazvingaite kufunga. mutauro wekubvunza, zvirinani zvewebhu;
- Kune rimwe divi, iyo yakaoma schema yeGraphQL inoodza mwoyo. Saizvozvo, "kutarisisa" kwayo kunoratidzika kunge kushoma kana zvichienzaniswa nekuzara kweRFF. Uye hapana analogue yezvivakwa nzira, saka hazvina kunyatsojeka kuti nei iri "Grafu-".
II. Adapter eMongoDB
Tsika inopindirana neyakapfuura.
- MuStardog zvino
zvichida - kunyanya, ese ari paGraphQL imwechete - gadzira mepu yeMongoDB data mune chaiyo RDF magirafu; - Ontotext GraphDB ichangoburwa
Kunoitawo isa zvimedu muSPARQL paMongoDB Query.
Kana tikataura zvakanyanya nezve adapta kuJSON masosi, ayo anobvumira zvakanyanya kana zvishoma "pabhururuka" kumiririra iyo JSON yakachengetwa mune aya masosi seRDF, tinogona kurangarira iyo yakareba-yakamira.
Tichipfupikisa maitiro maviri ekutanga, tinogona kutaura kuti RDF storages inoratidza kugadzirira kwakazara kwekubatanidzwa uye kushanda mumamiriro e "polyglot kushingirira". Izvo zvinozivikanwa, zvisinei, kuti iyi yekupedzisira yave kwenguva refu isiri mufashoni, uye iri kutsiviwa ne
Muchidimbu, hapana nzira. Ndinoda kutsaurira chinyorwa chakasiyana kune chinyorwa chemhando dzakawanda dzeDBMS, asi ikozvino zvinogona kucherechedzwa kuti pari zvino hapana maDBMS akawanda emhando "yakavakirwa" pane girafu modhi (RDF inogona kutorwa serudzi rwayo) . Mamwe madiki akawanda-emuenzaniso - RDF yekuchengetedza tsigiro yeimwe LPG graph modhi - ichakurukurwa mukati
III. OLTP vs. OLAP
Zvisinei, Gartner mumwe chete
Asi ndekupi RDF storages iri pachiyero cheOLTP-OLAP? Ini ndaizopindura neiyi nzira: hapana uko kana kuno. Kuratidza zvavanenge vaitirwa, imwe chidimbu chetatu inodiwa. Sechisarudzo chandingakurudzira OLIP - Online Intellectual Processing.
Zvisinei, zvakadaro:
- nzira dzekubatanidza neMongoDB dzakaitwa muGraphDB hadzisi diki
chinangwa kushanda pakunyora nyaya dzekuita; - Stardog inoenderera mberi uye zvachose
anonyorazve injini, zvakare nechinangwa chekuvandudza kuita kwekurekodha.
Zvino regai ndizivise mutambi mutsva pamusika. Kubva kuvagadziri veBMM Netezza uye Amazon Redshift -
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { β¦ }
IV. RocksDB
Atova kumusoro
Kutanga, kutonga ne
Chechipiri, mapurojekiti (kureva kuti, kwete zvigadzirwa) pamisoro yakakodzera anogadzirwa paRocksDB.
Semuenzaniso, eBay inoshandisa RocksDB mukati
Mumwe muenzaniso - imwe yakaonekwa mwedzi mishoma yapfuura
V. LPG rutsigiro
Rega ndikuyeuchidze nezve musiyano mukuru pakati peLPG magirafu uye RDF magirafu.
MuLPG, scalar zvivakwa zvinogona kupihwa kune edge kesi, nepo muRDF vanogona chete kupihwa kumucheto "mhando" (asi kwete chete scalar zvivakwa, asiwo zvakajairwa zvinongedzo). Uku kudzikisira kweRDF zvichienzaniswa neLPG
Zviripachena, basa re "LPG rutsigiro" rinowira muzvikamu zviviri:
- kuita shanduko kune iyo RDF modhi inoita kuti ikwanise kutevedzera LPG zvimiro mairi;
- kuita shanduko kumutauro wemubvunzo weRDF izvo zvinoita kuti zvikwanise kuwana data mune iyi modhi yakagadziridzwa, kana kuita kugona kubvunza kune iyi modhi mumitauro ine mukurumbira yeLPG.
V.1. Data model
Pane nzira dzakawanda dzinobvira pano.
V.1.1. Singleton Property
Iyo chaiyo nzira yekuwiriranisa RDF neLPG ingangove
- Panzvimbo pe, semuenzaniso, chivakashure
:isMarriedTo
predicates inoshandiswa:isMarriedTo1
,:isMarriedTo2
uye zvakadaro. - Izvi zvirevo zvinozove zvidzidzo zvematatu matatu:
:isMarriedTo1 :since "2013-09-13"^^xsd:date
uye vamwe. - Kubatana kwezviitiko izvi zve predicates neakajairika predicate inosimbiswa nematatu efomu
:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo
. - Zviri pachena kuti
rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type
, asi funga kuti nei usingafaniri kungonyora:isMarriedTo1 rdf:type :isMarriedTo
.
Dambudziko re "LPG rutsigiro" rinogadziriswa pano padanho reRDFS. Chisarudzo chakadaro chinoda kuiswa mune zvakakodzera
V.1.2. Kudzokorora Kwakaitwa Zvakanaka
Maitiro asina kupusa anobva pakuziva kuti zviitiko zvezvivakwa zvinogoneka zvizere nematatu. Nekukwanisa kutaura chimwe chinhu pamusoro pematatu, tichakwanisa kutaura nezvezviitiko zvezvivakwa.
Iyo yakasimba kwazvo yeiyi nzira ndeye
<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .
V.1.3. Dzimwe nzira
Iwe haugone kunetseka nemasemantics epamutemo, asi ingofungidzira kuti mapatatu ane zvimwe zviziviso, izvo, zvechokwadi, maURI, uye kugadzira mapatani matatu nemaURI aya. Chasara kupa mukana kune aya maURI muSPARQL. Saka
MuAllegrograph
:bob :marriedTo :alice {"since" : "2013-09-13"}
V.2. mitauro yemibvunzo
Kuve wakatsigira LPG mune imwe nzira kana imwe padanho remuenzaniso, unofanirwa kuita kuti zvikwanise kuita mibvunzo pane data mune yakadaro modhi.
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }
- Anzograph inotsigirawo
SPARQL* uye ari kuzotsigiraCypher , mutauro wekubvunza muNeo4j. - Stardog inotsigira yayo
kuwedzera SPARQL uyezvakare Gremlin. Iwe unogona kuwana iyo katatu URI uye "meta-ruzivo" muSPARQL uchishandisa chimwe chinhu chakadai:
SELECT * {
BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
?id :since ?since
}
- Allegrograph inotsigirawo zvayo
kuwedzera SPARQL:
SELECT * { ("since" ?since) franz:attributesNameValue ( :bob :marriedTo ?wife ) }
Nenzira, GraphDB pane imwe nguva yakatsigira Tinkerpop/Gremlin isina kutsigira LPG, asi izvi zvakamira mushanduro 8.0 kana 8.1.
VI. Kusimbiswa kwemarezinesi
Pakave pasina zvichangobva kuwedzerwa kumharadzano ye "triplestore yesarudzo" uye "open source triplestore" seti. Iyo nyowani yakavhurika sosi zvitoro zveRDF inzira refu kubva pakuva sarudzo yakanaka yekushandisa kwemazuva ese, uye zvitsva zvitatu zvitoro zvandinoda kushandisa (seAnzoGraph) zvakavharwa sosi. Asi, tinogona kutaura nezve kuderera ...
Ehe, yakavhurika sosi haisati yavharwa munguva yakapfuura, asi mamwe akavhurwa sosi repositori zvishoma nezvishoma haachaonekwe seakakodzera kusarudza. Virtuoso, iyo ine opensource edition, iri, mumaonero angu, inonyura mumabhugi. Blazegraph yakatengwa neAWS uye yakagadzira hwaro hweAmazon Neptune; zvino hazvina kujeka kana pachazove neimwe imwezve kusunungurwa. Jena chete ndiye asara...
Kana iyo yakavhurika sosi isinganyanyi kukosha, asi iwe unongoda kuiedza, saka zvese zvakare zvishoma rosy kupfuura kare. Semuyenzaniso:
- Stardog
kumira govera iyo yemahara vhezheni (zvisinei, nguva yekuyedzwa yeiyo yakajairwa vhezheni yakapetwa kaviri); - Π²
GraphDB Cloud , kwawakambokwanisa kusarudza chirongwa chemahara chemahara, kunyoreswa kwevashandisi kutsva kwakamiswa.
Kazhinji, kune avhareji IT munhu, nzvimbo iri kuramba ichiwedzera kusasvikika; kusimukira kwayo kuri kuita kuwanda kwemakambani.
Source: www.habr.com