Maxaa hadda ka socda kaydka RDF?

Shabakadda Semantic iyo Xogta Isku Xiran waa sida meel bannaan oo kale: nolol kuma jirto halkaas. Si aad halkaas u aado in ka badan ama ka yar wakhti dheer...Ma garanayo waxa ay kuu sheegeen yaraantii oo ah jawaabta "Waxaan rabaa in aan noqdo cirbixiyeen." Laakiin waxaad u kuurgeli kartaa waxa dhacaya inta aad Dhulka Joogto; Aad bay u fududahay inaad noqoto xiddigiye hiwaayad ah ama xitaa xirfadle.

Maqaalku wuxuu diiradda saari doonaa dhawaan, oo aan ka weynayn dhowr bilood, isbeddellada ka yimid adduunka kaydinta RDF. Sarbeebta ku jirta cutubka koowaad waxa dhiirigeliyay sawirka xayaysiisyada heersare ah ee ka hooseeya gooynta.


Sawirka xun

Maxaa hadda ka socda kaydka RDF?

I. GraphQL ee gelitaanka RDF

Waxay dhahaantaas GraphQL waxay hiigsaneysaa inay noqoto luqad helitaan xogeed caalami ah. Ka waran awooda lagu galo RDF adoo isticmaalaya GraphQL?

Sanduuqa dhexdiisa fursadan waxaa bixiyay:

Haddii kaydku aanu bixin fursadan oo kale, waxaa si madaxbanaan loo hirgelin karaa iyadoo la qorayo "xaliye" habboon. Tani waa waxa ay ku sameeyeen, tusaale ahaan, mashruuca Faransiiska DataTourisme. Ama wax dambe ma qori kartid, laakiin kaliya qaado HyperGraphQL.

Marka laga eego aragtida ku-dhaqanka diinta ee Semantic Web iyo Xogta Isku-xidhan, waxaas oo dhan, dabcan, waa murugo, maaddaama ay u muuqato in loogu talagalay isku-dhafka lagu dhisay silo xogta soo socota, oo aan ku habboonayn (dukaamada RDF, dabcan) .

Aragtida laga qabo is barbardhigga GraphQL iyo SPARQL waa laba laab.

  • Dhinaca kale, GraphQL waxay u egtahay qaraabo fog oo SPARQL ah: waxay xallisaa dhibaatooyinka dib-u-qaabaynta iyo badashada weydiimaha ee caadiga ah ee REST - taas oo la'aanteed, malaha, suurtogal ma aha in la tixgeliyo. luqadda weydiinta, ugu yaraan shabakada;
  • Dhanka kale, qorshaha adag ee GraphQL waa niyad jab. Marka la eego, "fiirinteeda" waxay u muuqataa mid aad u xaddidan marka loo eego falcelinta buuxda ee RDF. Oo ma jiraan wax analooga ah ee waddooyinka hantida, sidaas darteed xitaa aad uma cadda sababta ay u tahay "Graph-".

II. Adapters ee MongoDB

Isbeddel kaabaya kii hore.

  • Gudaha Stardog hadda suurtagal ahaan - gaar ahaan, dhammaan isla isla GraphQL - u habeeyaan khariidaynta xogta MongoDB garaafyada RDF ee casriga ah;
  • Ontotext GraphDB dhawaanahan Waxa ay u ogolaataa Geli jajabyada SPARQL ee MongoDB Query.

Haddii aan si ballaadhan uga hadalno adapters ilaha JSON, kuwaas oo u oggolaanaya in ka badan ama ka yar "duuqsi" si ay u matalaan JSON ku kaydsan ilahan sida RDF, waxaan dib u soo celin karnaa wakhti dheer. SPARQL abuur, kaas oo la hagaajin karo, tusaale ahaan, ilaa Apache Jena.

Marka la soo koobo labada isbeddel ee ugu horreeya, waxaan dhihi karnaa in kaydinta RDF ay muujinayso diyaargarowga buuxda ee isdhexgalka iyo hawlgalka xaaladaha "joogitaanka polyglot". Si kastaba ha ahaatee, waxaa la og yahay in kan dambe uu muddo dheer ka baxay moodada, oo lagu beddelayo waa soo socdaa model badan. Ka warran qaabaynta badan ee adduunka kaydinta RDF?

Marka la soo koobo, sinaba ma jirto. Waxaan jeclaan lahaa in aan u hibeeyo maqaal gaar ah mawduuca DBMS-yada-qaababka badan, laakiin hadda waxaa la ogaan karaa in aysan hadda jirin DBMS-ga nooc-badan "ku salaysan" qaab garaaf (RDF waxaa loo tixgelin karaa nooc ka mid ah) . Qaar ka mid ah qaabaynta yar yar ee badan - taageerada kaydinta RDF ee qaabka garaafyada LPG kale - ayaa lagaga wada hadli doonaa qaybta V.

III. OLTP vs. OLAP

Si kastaba ha ahaatee, isla Gartner Waxa uu qorayin multimodel waa sine qua non shuruud ugu horrayn qolalka qalliinka DBMS Tani waa mid la fahmi karo: xaalad "keydinta badan", dhibaatooyinka ugu muhiimsan waxay ka soo baxaan macaamil ganacsi.

Laakiin aaway kaydinta RDF ee ku yaal miisaanka OLTP-OLAP? Waxaan ku jawaabi lahaa sidan: ma jiro ama halkan. Si loo muujiyo waxa loogu talagalay, soo gaabinta saddexaad ayaa loo baahan yahay. Ikhtiyaar ahaan waxaan soo jeedin lahaa OLIP - Hagaajinta caqliga onlaynka ah.

Si kastaba ha ahaatee, weli:

  • hababka isku dhafka ee MongoDB ee lagu hirgeliyay GraphDB ma aha kuwa ugu yar loogu talagalay in laga shaqeeyo sidii loo qori lahaa arrimaha waxqabadka;
  • Stardog wuu sii socdaa xitaa si buuxda dib u qoraa engine, mar kale iyada oo ujeedadu tahay hagaajinta waxqabadka duubista.

Hadda aan soo bandhigo ciyaaryahan cusub suuqa. Laga soo bilaabo hal-abuurayaasha IBM Netezza iyo Amazon Redshift - AnzoGraphβ„’. Sawir laga soo qaaday xayaysiis alaab ah oo ku salaysan ayaa la dhajiyay bilawga maqaalka. AnzoGraph wuxuu isu dhigaa sidii xal GOLAP ah. Sideed u jeceshahay SPARQL oo leh shaqooyinka daaqada? -

SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE {  …  }

IV. RocksDB

Durba sare waxaa jiray xiriir ku dhawaaqida Stardog 7 Beta, kaas oo sheegay in Stardog uu u isticmaali doono RocksDB nidaam kaydinta hoose - dukaanka qiimaha muhiimka ah, fargeeto Facebook ah ee Google's LevelDB. Maxay mudan tahay in laga hadlo isbeddel gaar ah?

Marka hore, adoo ku xukumaya Maqaal Wikipedia, ma aha oo kaliya kaydinta RDF "lagu beeray" RocksDB. Waxaa jira mashruucyo loogu isticmaalo RocksDB matoorka kaydinta ee ArangoDB, MongoDB, MySQL iyo MariaDB, Cassandra.

Marka labaad, mashaariicda (taas oo ah, ma aha badeecado) mawduucyada khuseeya waxaa lagu abuuray RocksDB.

Tusaale ahaan, eBay waxay isticmaashaa RocksDB gudaha mashaariic "garaafka aqoontaada" Dhanka kale, waa wax lagu qoslo in la akhriyo: luqadda weydiintu waxay ku bilaabatay qaab guri lagu beeray, laakiin waayadan dambe waxa ay u wareegaysay sidii SPARQL oo kale.. Sida kaftanka: iyadoon loo eegin inta garaafka aqoonta ee aan samayno, waxaan wali ku dhamaaneynaa RDF.

Tusaale kale - mid soo muuqday dhowr bilood ka hor Adeegga Weydiinta Taariikhda Wikidata. Kahor intaan la bilaabin, Wikidata xogta taariikhiga ah waxay ahayd in la dhex galo MWAPI ilaa kan caadiga ah Mediawiki API. Hadda wax badan ayaa suurtagal ah SPARQL saafi ah. "Koodhka hoostiisa" waxaa sidoo kale jira RocksDB. Jid ahaan, WDHQS waxaa sameeyay, waxaad mooddaa, qofkii soo dejiyay Freebase galka Aqoonta Google.

V. Taageerada LPG

Aan ku xasuusiyo farqiga ugu weyn ee u dhexeeya garaafyada LPG iyo garaafyada RDF.

Gudaha LPG, guryaha scalar waxaa lagu meelayn karaa tusaale ahaan cidhifyada, halka RDF kaliya lagu meelayn karo "noocyada" geesaha (laakin ma aha oo kaliya guryaha scalar, laakiin sidoo kale isku xirka caadiga ah). Xadayntan RDF marka la barbar dhigo LPG ka adkaan mid ama farsamo kale oo moodel ah. Xaddidaadaha LPG marka la barbar dhigo RDF aad ayay u adag tahay in laga gudbo, laakiin garaafyada LPG waxay aad ugu eg yihiin sawirada buuga Harari marka loo eego garaafyada RDF, waana sababta ay dadku u rabaan.

Sida iska cad, hawsha "taageerada LPG" waxay u dhacdaa laba qaybood:

  1. isbeddel ku samaynta qaabka RDF taasoo suurtogal ka dhigaysa in lagu sawiro qaab-dhismeedka LPG ee dhexdiisa;
  2. samaynta wax ka bedelka luuqada waydiinta RDF taasoo suurtogal ka dhigaysa in la galo xogta qaabkan wax laga beddelay, ama fulinta awooda lagu samaynayo su'aalo ku saabsan qaabkan luuqadaha caanka ah ee LPG.

V.1 Qaabka xogta

Waxaa jira dhowr habab oo suurtagal ah halkan.

V.1.1. Hantida Singleton

Habka ugu macquulsan ee iswaafajinta RDF iyo LPG waxay u badan tahay hanti keli keli ah:

  • Halkii, tusaale ahaan, predicate :isMarriedTo saadaalayaal ayaa la isticmaalaa :isMarriedTo1, :isMarriedTo2 iyo wixii la mid ah.
  • Kuwani waxay saadaaliyaan ka dib waxay noqonayaan maadooyinka saddex-geesoodka cusub: :isMarriedTo1 :since "2013-09-13"^^xsd:date iyo kuwa kale.
  • Isku xirka dhacdooyinkan saadaalayaasha ah ee leh halbeeg caadi ah ayaa lagu aasaasay saddex-geesoodka foomka :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Sida iska cad, rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, laakiin ka fikir sababta ay tahay inaadan u qorin kaliya :isMarriedTo1 rdf:type :isMarriedTo.

Dhibaatada "taageerada LPG" waxaa lagu xalliyaa halkan heerka RDFS. Go'aanka noocan oo kale ah wuxuu u baahan yahay in lagu daro kuwa ku habboon heerka. Isbedelada qaar ayaa laga yaabaa in looga baahdo dukaamada RDF ee taageera cawaaqibka, laakiin hadda, Singleton Property waxa loo malayn karaa inay tahay farsamo qaabayn kale.

V.1.2. Dib-u-habayn sax ah ayaa loo sameeyay

Habab yar oo caqli-gal ah ayaa ka yimid garashada in dhacdooyinka hantida ay si buuxda u degdegi karaan saddex-geesoodka. Markaan awoodno inaan wax ka sheegno saddex-malaha, waxaan awood u yeelan doonnaa inaan ka hadalno dhacdooyinka hantida.

Habka ugu adag ayaa ah RDF*, ama RDR, dhashay qoto dheer ee Blazegraph. Waa bilawgii hore la doortay naftaada iyo AnzoGraph. Adkaynta habka waxaa lagu go'aamiyaa xaqiiqda ah in qaab-dhismeedkeeda la bixiyo isbeddelada u dhigma ee Semantics RDF. Ujeedadu, si kastaba ha ahaatee, waa mid aad u fudud. Taxanaha Turtle ee RDF waxaad hadda qori kartaa wax sidan oo kale ah:

<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .

V.1.3. Hababka kale

Ma dhibi kartid micnaha rasmiga ah, laakiin si fudud u qaado in saddex-geesoodka ahi ay leeyihiin aqoonsiyo gaar ah, kuwaas oo, dabcan, URIs ah, oo ay ku abuuraan saddex-geesood cusub URI-yadan. Waxa hadhay oo dhan waa in la geliyo URI-yadan SPARQL. Markaa yimaado Stardog

Allegrograph tagay hab dhexdhexaad ah. Waxaa la og yahay in aqoonsiga saddex-geesoodka ah ee Allegrograph waa, laakiin marka la fulinayo sifooyin saddex-geesood ah kuma ekaan. Si kastaba ha ahaatee, weli aad bay uga fog tahay semantiga rasmiga ah. Waxaa xusid mudan in sifooyinka saddex-geesoodka ah aysan ahayn URIs, iyo qiyamka sifooyinkaas sidoo kale waxay noqon karaan oo kaliya suugaan. Kuwa raacsan LPG waxay helayaan sida saxda ah waxay rabaan. Qaabka NQX ee sida gaarka ah loo ikhtiraacay, tusaale la mid ah kan sare ee RDF* wuxuu u egyahay sidan:

:bob :marriedTo :alice {"since" : "2013-09-13"}

V.2. Luuqadaha waydiinta

Markaad taageerto LPG hal hab ama mid kale heerka moodeelka, waxaad u baahan tahay inaad suurtogal ka dhigto inaad su'aalo ka samayso xogta qaabkan oo kale.

  • Blazegraph ee RDF* wey taageertaa SPARQL* ΠΈ Gremlin. Weydiinta SPARQL* waxay u egtahay sidan:

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

  • Anzograph sidoo kale waa ay taageertaa SPARQL* wuxuuna u socdaa inuu taageero Cypher, luuqad su'aal ah oo ku taal Neo4j.
  • Stardog waxay taageertaa keeda ballaarinta SPARQL iyo mar kale Gremlin Waxaad ka heli kartaa URI saddex-geesoodka ah iyo β€œmacluumaadka meta-macluumaadka” gudaha SPARQL adigoo isticmaalaya wax sidan oo kale ah:

SELECT * {
    BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
    ?id :since ?since
}

  • Allegrograph sidoo kale waxay taageertaa teeda ballaarinta SPARQL:

 SELECT * { ("since" ?since)  franz:attributesNameValue  ( :bob :marriedTo ?wife ) }

Jid ahaan, GraphDB hal mar waxay taageertay Tinkerpop/Gremlin iyada oo aan taageerin LPG, laakiin tani waxay ku istaagtay nooca 8.0 ama 8.1.

VI. Adkeynta shatiyada

Ma jiraan wax cusub oo dhowaan lagu soo kordhiyey isgoyska "saddexleyda doorashada" iyo "saddexlestore il furan" Dukaamada cusub ee furan ee RDF ayaa aad uga fog inay noqdaan doorasho wanaagsan oo loo isticmaalo maalin kasta, iyo dukaamada saddexlaha ah ee cusub ee aan jeclaan lahaa inaan isticmaalo (sida AnzoGraph) waa ilo xiran. Balse, waxaan ka hadli karnaa hoos u dhac...

Dabcan, ilo furan hore looma xidhin, laakiin meelaha meelaha furan qaarkood ayaa si tartiib ah looma arko inay mudan yihiin in la doorto. Virtuoso, oo leh daabacaad ilo furan, waa, ra'yigeyga, ku hafanaya dhiqlaha. Blazegraph waxaa soo iibsatay AWS waxayna samaysay saldhigga Amazon Neptune; hadda ma cadda in ay jiri doonto ugu yaraan hal sii dayn kale. Jena kaliya ayaa ku hartay...

Haddii isha furan aysan ahayn mid aad muhiim u ah, laakiin kaliya waxaad dooneysaa inaad tijaabiso, markaa wax walbaa sidoo kale waa ka yar yihiin sidii hore. Tusaale ahaan:

  • Stardog joogsada qaybi nooca bilaashka ah (si kastaba ha ahaatee, muddada tijaabada ee nooca caadiga ah ayaa labanlaabmay);
  • Π² GraphDB Cloud, halka markii hore aad ka dooran lahayd qorshe aasaasi ah oo bilaash ah, diiwaangelinta isticmaalayaasha cusub waa la hakiyay.

Guud ahaan, celceliska qofka IT-ga ah, boosku wuxuu noqonayaa mid aad iyo aad u badan oo aan la heli karin; horumarkiisu wuxuu noqonayaa shirkado badan.

Source: www.habr.com

Add a comment