Malpera Semantîk û Daneyên Girêdayî mîna cîhê derveyî ne: li wir jiyan tune. Ji bo demeke kêm-zêde çûyîna wê derê… baş e, ez nizanim di zarokatiya xwe de çi ji we re gotine "Ez dixwazim bibim astronot." Lê hûn dikarin li ser rûyê erdê çi diqewime temaşe bikin; Pir hêsantir e ku meriv bibe stêrnasek amator an jî pisporek jî.
Gotar dê balê bikişîne ser meylên cîhana hilanîna RDF-a herî dawî, ne ji çend mehan kevntir. Metafora di paragrafa yekem de ji wêneya reklamê ya bi mezinahiya epîk a di binê qutbûnê de îlham girt.
wêneyê epîk

I. GraphQL ji bo Gihîştina RDF
ku GraphQL îdîa dike ku ew zimanê gihîştina databasa gerdûnî ye. Û çi li ser şiyana gihîştina bi karanîna GraphQL bo RDF?
Ji derveyî qutiyê, ev derfet ji hêla:
- stardog(, );
- Berhemên TopQuadrant (, ).
Ger depo fersendek wusa peyda neke, ew bi nivîsandina "çareserker" (çareser) guncan bi serbixwe tête bicîh kirin. Ev ji bo nimûne, di projeya fransî de hate kirin . An jî hûn nikarin tiştek binivîsin, lê tenê bigirin .
Ji nihêrîna hevalbendek ortodoks a Semantic Web û Daneyên Girêdayî, ev hemî, bê guman, xemgîn e, ji ber ku xuya dike ku ew ji bo entegrasyonên ku li dora siloya daneya paşîn hatine çêkirin, û platformên ne maqûl (bê guman, hilanînê RDF) armanc e. .
Bandorên ji berhevdana GraphQL bi SPARQL re du qat in.
- Ji aliyekî ve, GraphQL mîna xizmek dûr a SPARQL xuya dike: ew pirsgirêkên ji nû ve bijartinê û pirsên pirjimar ên ku taybetmendiya REST-ê ne çareser dike - bêyî ku, belkî, ne mimkun e ku were hesibandin. zimanê pirsê, bi kêmanî ji bo tevneyê;
- Ji hêla din ve, nexşeya hişk a GraphQL têk diçe. Li gorî vê yekê, "hundirûbûna" wê li gorî refleksbûna tam a RDF pir kêm xuya dike. Û analoga riyên milkê tune ye, ji ber vê yekê jî pir ne diyar e çima ew "Graph-" e.
II. Adapterên ji bo MongoDB
Trendek ku ji ya berê re temam dike.
- li Stardog niha - bi taybetî, hemî li ser heman GraphQL - pêşandana daneya MongoDB di grafikên RDF yên virtual de mîheng bikin;
- GraphDB vê dawiyê heye li ser MongoDB Query têxin nav perçeyên SPARQL.
Axaftina berfirehtir, li ser adapterên çavkaniyên JSON-ê yên ku kêm-zêde dihêlin "li ser firînê" JSON-ya ku di van çavkaniyan de wekî RDF hatî hilanîn temsîl bike, wê hingê em dikarin ya heyî jî ji bo demek dirêj bi bîr bînin. ku dikare were sererast kirin , ji Apache Jena re.
Bi kurtkirina her du meylên yekem, em dikarin bibêjin ku depoyên RDF di şert û mercên "depokirina pirjimar" de (berdewamiya polîglotê) amadebûna tam ji bo yekbûn û xebitandinê nîşan didin. Lêbelê, tê zanîn ku ev paşîn ji mêj ve ji modayê derketiye, û li şûna wê ye multi-modeling. Û di cîhana hilanîna RDF de pir-modelkirina çi ye?
Bi kurtasî, bi tu awayî. Ez dixwazim gotarek cuda veqetînim mijara DBMS-a pir-model, lê heya niha hûn dikarin bibînin ku li ser modela grafîkê "bingeha" DBMS-ya pir-model tune (RDF dikare wekî guhertoyek wê were hesibandin) naha. Hin pir-modelên piçûk - piştgirî ji hêla depoyên RDF-ê ve modelek grafîkî ya LPG-ya alternatîf - dê di nav de bêne nîqaş kirin. .
III. OLTP vs. OLAP
Lêbelê, heman Gartner ku pir-modelkirin di serî de ji bo şertek sine qua non e odeyên emeliyatê DBMS. Ev tê fêm kirin: di rewşek "gelek hilanîn" de, pirsgirêkên sereke bi danûstendinê re derdikevin.
Lê li ser pîvana OLTP-OLAP depoyên RDF li ku ne? Ez ê wiha bersiv bidim: ne li wir û ne jî li vir. Ji bo ku nîşan bidin ku ew ji bo çi têne armanc kirin, kurteya sêyemîn hewce ye. Wekî vebijarkek ez ê pêşniyar bikim OLIP - Pêvajoya Rewşenbîrî ya Serhêl.
Lêbelê, dîsa jî:
- mekanîzmayên entegrasyonê yên ku di GraphDB de bi MongoDB re têne bicîh kirin ne hindik in li dora nivîsandina pirsgirêkên performansê bixebitin;
- Stardog hê bêtir û bi tevahî diçe motor, dîsa bi armanca başkirina performansa nivîsandinê.
Naha bila ez lîstikvanek nû pêşkêşî bazarê bikim. ji afirînerên IBM Netezza û Amazon Redshift - . Wêneyek ji reklamek ji bo hilberek li ser bingeha wê di destpêka gotarê de hate danîn. AnzoGraph xwe wekî çareseriyek GOLAP destnîşan dike. Hûn çawa ji SPARQL bi fonksiyonên pencereyê hez dikin? -
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { … }IV. RocksDB
Jixwe li jor ji ragihandina Stardog 7 Beta re, ku got ku Stardog dê RocksDB-ê wekî pergala hilanînê ya bingehîn bikar bîne - hilanîna key-nirx, forka Facebook-ê ya LevelDB-a Google-ê. Çima hêja ye ku meriv li ser meylek diyar biaxive?
Yekem, dadbar kirin , ne tenê depoyên RDF-ê li RocksDB-ê têne "veguheztin". Di ArangoDB, MongoDB, MySQL û MariaDB, Cassandra de proje hene ku RocksDB wekî motora hilanînê bikar bînin.
Ya duyemîn, projeyên (ango ne hilberên) mijara têkildar li ser RocksDB têne çêkirin.
Mînakî, eBay di nav de RocksDB bikar tîne ji bo "grafika zanîna" we. Bi awayê, xwendina xweş e: zimanê pirsê wekî formatek mezinbûna malê dest pê kir, lê di van demên dawî de ew diguhere ku pirtir mîna SPARQL. Mîna henekekê: em çiqas grafiya zanînê bikin jî, em dîsa jî RDF-ê digirin.
Mînakek din - çend meh berê xuya bû . Berî destpêkirina wê, diviyabû ku agahdariya dîrokî ya Wîkîdata bi rê ve bihata bidestxistin ji bo standard Mediawiki API. Di SPARQL-a paqij de nuha gelek tişt mimkun e. "Di bin hood" de jî RocksDB heye. Bi awayê, WDHQS wiya kir, wusa dixuye ku kesê ku beşdarî anîna Freebase di Grafika Zanînê ya Google de ye.
V. Piştgiriya LPG
Bila ez cûdahiya sereke di navbera grafikên LPG û grafikên RDF de bi bîr bînim.
Di LPG de, taybetmendiyên skalar dikarin bi mînakên qeraxê ve werin girêdan, dema ku di RDF de ew tenê dikarin bi "cûreyên" qeraxê ve werin girêdan (lê ne tenê taybetmendiyên skalar, lê di heman demê de girêdanên asayî jî). Ev sînorkirina RDF-ê li gorî LPG-ê cûreyek teknîka modelkirinê. Sînorkirinên LPG-ê li gorî RDF-ê dijwartir e ku werin derbas kirin, lê grafikên LPG-ê ji grafikên RDF-ê bêtir mîna wêneyên ji pirtûka Harari ne, ji ber vê yekê mirov wan dixwazin.
Eşkere ye ku peywira "piştgiriya LPG" dike du beş:
- guhertinên di modela RDF-ê de ku îmkana simulasyona avahiyên LPG-ê di wê de çêdike;
- guherandinan di zimanê pirsa RDF-ê de ku gihandina daneyan di vê modela guhertî de mimkun dike, an pêkanîna şiyana pirskirina vê modelê di zimanên lêgerîna LPG-ya populer de.
V.1. Modela daneyê
Li vir çend nêzîkatiyên gengaz hene.
V.1.1. milkê singleton
Nêzîkatiya herî wêjeyî ya lihevhatina RDF û LPG dibe ku ev e :
- Li şûna, wek nimûne, pêşdaraz
:isMarriedTopêşdaraz têne bikaranîn:isMarriedTo1,:isMarriedTo2û vî awayî. - Dûv re ev pêşgotin dibin mijarên sêqatên nû:
:isMarriedTo1 :since "2013-09-13"^^xsd:dateû din - Têkiliya van nimûnên pêşdaçekan bi pêşdaçeka hevpar re bi sêçikên şeklê tê saz kirin
:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo. - Ew eşkere ye ku
rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, lê bifikirin ka çima hûn tenê nenivîsin:isMarriedTo1 rdf:type :isMarriedTo.
Erka "piştgiriya LPG" li vir di asta RDFS de tê çareser kirin. Ji bo biryareke wiha pêwîstî bi tevlêbûna di eleqedar de heye . Dibe ku hin guhertin ji depoyên RDF-ê yên ku encamên pêvekirinê piştgirî dikin hewce ne, lê heya nuha, Taybetmendiya Singleton dikare wekî teknîkek din a modelkirinê were hesibandin.
V.1.2. Reification Rast Kir
Nêzîkatiyên kêm naîf ji têgihîştina ku mînakên milkê bi sêçikan ve bi rengek bêkêmasî têne destnîşan kirin. Ji ber ku em dikarin li ser sêçikan bipeyivin, em dikarin behsa mînakên milk jî bikin.
Ji van nêzîkatiyan ya herî zexm e wekî RDR, di nav zikê Blazegraph de. Ji destpêkê ve ye ji bo xwe û AnzoGraph. Zehmetiya nêzîkbûnê bi rastiya ku di çarçoveya wê de tête diyar kirin guhertinên têkildar di . Lêbelê, xal pir hêsan e. Di serialîzasyona RDF Turtle de, hûn niha dikarin tiştek weha binivîsin:
<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .V.1.3. Nêzîkatiyên din
Hûn nekarin bi semantîkên fermî re mijûl bibin, lê bi tenê bifikirin ku sêçikan hin nasnameyan hene, ku, bê guman, URI ne, û bi van URI-yan sêçikên nû çêdikin. Tiştê ku dimîne ev e ku meriv bigihîje van URI-yên di SPARQL de. Wiha stardog.
Di Allegrograph de bi awayekî navîn. Tê zanîn ku di Allegrograph de nasnameyên sêçikan hene , lê dema ku taybetmendiyên sêalî têne bicîh kirin, ew dernakeve. Lêbelê, tewra semantîka fermî jî pir dûr e. Nemaze, taybetmendiyên sêalî ne URI ne, û nirxên van taybetmendiyan jî tenê dikarin biwêj bin. Alîgirên LPG-ê tam tiştê ku wan dixwest distînin. Di forma taybetî ya NQX de, mînakek mîna ya jorîn ji bo RDF * bi vî rengî xuya dike:
:bob :marriedTo :alice {"since" : "2013-09-13"}V.2. Zimanan bipirsin
Ji ber ku hûn di asta modelê de bi rengek an din LPG-ê piştgirî bikin, hûn hewce ne ku di modelek wusa de lêpirsîna daneyan mimkun bikin.
- Blazegraph ji bo pirsên RDF* piştgirî dike и . Pirsek SPARQL* bi vî rengî xuya dike:
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }- Anzograph jî piştgirî dike û dê piştgirî bike , zimanê pirsê di Neo4j de.
- Stardog xwe diparêze SPARQL û Gremlin. Hûn dikarin URI-ya sêpê û "meta-agahdariya" di SPARQL de bi karanîna tiştek weha bistînin:
SELECT * {
BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
?id :since ?since
}- Allegrograph jî ya xwe piştgirî dike SPARQL:
SELECT * { ("since" ?since) franz:attributesNameValue ( :bob :marriedTo ?wife ) }Werhasil, GraphDB yek carî bêyî piştgirîkirina LPG piştgirî da Tinkerpop / Gremlin, lê ew di guhertoya 8.0 an 8.1 de rawestiya.
VI. Zehfkirina lîsansan
Di navberkirina komên "triplestore yên bijartî" û "çavkaniya vekirî ya triplestore" de vê dawiyê zêde zêde nehatine. Firotgehên RDF-ya çavkaniya vekirî ya nû rêyek dûr in ku ji bo karanîna rojane bijarek baş in, û firotgehên nû yên RDF yên ku ez dixwazim bikar bînim (mîna AnzoGraph) çavkaniya girtî ne. Belê, em dikarin qala kêmbûnê jî bikin...
Bê guman, berê çavkaniya vekirî ne girtî ye, lê hin depoyên çavkaniya vekirî hêdî hêdî êdî hêjayî hilbijartinê nayên hesibandin. Virtuoso, ku xwedan çapek çavkaniyek vekirî ye, bi dîtina min, di xeletiyan de xeniqî. Blazegraph ji hêla AWS ve kirî û bingeha Amazon Neptune ava kir; niha ne diyar e ka dê bi kêmanî yek berdanek din hebe yan na. Tenê Jenna dimîne ...
Ger çavkaniya vekirî ne pir girîng e, lê hûn tenê dixwazin biceribînin, wê hingê her tişt jî ji berê kêmtir rovî ye. Bo nimûne:
- Stardog guhertoya belaş belav bikin (lêbelê, heyama ceribandina ya birêkûpêk du qat bûye);
- в , cihê ku berê we dikaribû nexşeyek bingehîn a belaş hilbijêrin, qeydên bikarhênerên nû rawestandiye.
Bi gelemperî, cîh ji bo xebatkarek IT-ya asayî her ku diçe bêdestûrtir dibe, pêşkeftina wê dibe pir pargîdaniyan.
Source: www.habr.com
