Dè tha dol air adhart le stòran RDF a-nis?

Tha an Lìon Semantic agus Dàta Ceangailte coltach ri àite a-muigh: chan eil beatha ann. Airson a dhol ann airson ùine nas fhaide no nas lugha... chan eil fhios agam dè a thuirt iad riut mar phàiste mar fhreagairt do “Tha mi airson a bhith nam speuradair.” Ach chì thu na tha a’ tachairt fhad ‘s a tha thu air an Talamh; Tha e mòran nas fhasa a bhith nad reul-eòlaiche neo-dhreuchdail no eadhon proifeasanta.

Bidh an artaigil a’ cuimseachadh air gluasadan o chionn ghoirid, gun a bhith nas sine na grunn mhìosan, bho shaoghal stòradh RDF. Tha am meafar sa chiad pharagraf air a bhrosnachadh leis an ìomhaigh sanasachd mòr fon ghearradh.


Dealbh epic

Dè tha dol air adhart le stòran RDF a-nis?

I. GraphQL airson ruigsinneachd RDF

Tha iad ag ràdhgu bheil GraphQL ag amas air a bhith na chànan ruigsinneachd stòr-dàta uile-choitcheann. Dè mu dheidhinn comas faighinn gu RDF a’ cleachdadh GraphQL?

A-mach às a’ bhogsa tha an cothrom seo air a thoirt seachad le:

Mura toir an stòr a leithid de chothrom seachad, faodar a chuir an gnìomh gu neo-eisimeileach le bhith a’ sgrìobhadh “fuasgaiche” iomchaidh. Seo na rinn iad, mar eisimpleir, anns a 'phròiseact Frangach Turasachd dàta. No chan urrainn dhut dad a sgrìobhadh tuilleadh, ach dìreach gabhail HyperGraphQL.

Bho shealladh neach-leantainn orthodox den Lìon Semantic agus Dàta Ceangailte, tha seo uile, gu dearbh, brònach, leis gu bheil e coltach gu bheil e air a dhealbhadh airson aonachadh a chaidh a thogail timcheall air an ath silo dàta, agus nach eil àrd-ùrlaran iomchaidh (stòran RDF, gu dearbh) .

Tha na beachdan bho bhith a’ dèanamh coimeas eadar GraphQL agus SPARQL dà-fhillte.

  • Air an aon làimh, tha GraphQL a’ coimhead coltach ri càirdeas fad às do SPARQL: bidh e a’ fuasgladh nan duilgheadasan a thaobh ath-shamhlachadh agus ioma-cheistean a tha àbhaisteach airson REST - às aonais sin, is dòcha, cha bhiodh e comasach beachdachadh cànan ceiste, co-dhiù airson an lìn;
  • Air an làimh eile, tha an sgeama teann de GraphQL briseadh-dùil. Mar sin, tha coltas gu bheil an “introspectiveness” aige glè chuingealaichte an taca ri làn ath-bheòthachadh RDF. Agus chan eil analogue de shlighean seilbh ann, agus mar sin chan eil e eadhon soilleir carson a tha e “Graph-”.

II. Adapters airson MongoDB

Gluasad a bharrachd air an fhear roimhe.

  • Ann an Stardog a-nis 's dòcha - gu sònraichte, uile air an aon GraphQL - rèiteachadh mapadh dàta MongoDB gu grafaichean RDF brìgheil;
  • O chionn ghoirid tha Ontotext GraphDB Tha e a 'toirt cothrom cuir a-steach criomagan a-steach do SPARQL air Ceist MongoDB.

Ma bhruidhneas sinn nas fharsainge mu luchd-atharrachaidh gu stòran JSON, a leigeas le barrachd no nas lugha “air an iteig” an JSON a tha air a stòradh anns na stòran sin a riochdachadh mar RDF, is urrainn dhuinn cuimhneachadh air na tha air a bhith ann o chionn fhada. SPARQL a chruthachadh, a ghabhas atharrachadh, mar eisimpleir, gu Apache Jena.

Le bhith a’ toirt geàrr-chunntas air a’ chiad dà ghluasad, faodaidh sinn a ràdh gu bheil stòradh RDF a’ nochdadh làn ullachaidh airson amalachadh agus obrachadh ann an suidheachaidhean “seasmhachd polyglot”. Tha fios, ge-tà, gu bheil an tè mu dheireadh seo air a bhith a-mach à fasan o chionn fhada, agus thathar ga chur na àite a' tighinn ioma-mhodail. Dè mu dheidhinn ioma-mhodaladh ann an saoghal stòradh RDF?

Ann goirid, chan eil dòigh. Bu mhath leam artaigil air leth a choisrigeadh don chuspair DBMS ioma-mhodail, ach airson a-nis faodar a thoirt fa-near nach eil DBMSan ioma-mhodail “stèidhichte” air modal grafa aig an àm seo (faodar beachdachadh air RDF mar sheòrsa dheth) . Thèid beachdachadh air cuid de ioma-mhodaladh beag - taic stòraidh RDF airson modal graf LPG eile - ann an earrann V.

III. OLTP vs. OLAP

Ach, an aon Gartner Tha ea 'sgrìobhadhtha an ioma-mhodail sin na staid sin qua non sa mhòr-chuid airson seòmraichean-obrachaidh DBMS. Tha seo do-thuigsinn: ann an suidheachadh “ioma-chaochladh stòradh”, tha na prìomh dhuilgheadasan ag èirigh le gnìomhachd.

Ach càite a bheil stòran RDF suidhichte air sgèile OLTP-OLAP? Bheirinn freagradh mar so : ni mò an sin no 'n so. Gus sealltainn dè tha iad an dùil, tha feum air treas giorrachadh. Mar roghainn tha mi a 'moladh OLIP - Giullachd inntleachdail air-loidhne.

Ach, fhathast:

  • chan e as lugha na dòighean amalachaidh le MongoDB a chaidh a chuir an gnìomh ann an GraphDB an dùil a bhith ag obair timcheall air cùisean coileanaidh sgrìobhaidh;
  • Bidh Stardog a’ dol eadhon nas fhaide agus gu tur ath-sgrìobhadh einnsean, a-rithist leis an amas coileanadh clàraidh a leasachadh.

A-nis leig dhomh cluicheadair ùr a thoirt a-steach don mhargaidh. Bho luchd-cruthachaidh IBM Netezza agus Amazon Redshift - AnzoGraph™. Chaidh dealbh bho sanas airson toradh stèidhichte air a phostadh aig toiseach na h-artaigil. Tha AnzoGraph ga shuidheachadh fhèin mar fhuasgladh GOLAP. Ciamar as toil leat SPARQL le gnìomhan uinneig? -

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

IV. Creag DB

Mar-thà nas àirde bha ceangal ann gu foillseachadh Stardog 7 Beta, a thuirt gu robh Stardog gu bhith a’ cleachdadh RocksDB mar shiostam stòraidh bunaiteach - stòr prìomh luach, forc Facebook de LevelDB aig Google. Carson is fhiach bruidhinn mu ghluasad sònraichte?

An toiseach, a 'breithneachadh le artaigil Wikipedia, chan e a-mhàin gu bheil stòradh RDF air an “ath-chur” gu RocksDB. Tha pròiseactan ann gus RocksDB a chleachdadh mar einnsean stòraidh ann an ArangoDB, MongoDB, MySQL agus MariaDB, Cassandra.

San dàrna h-àite, tha pròiseactan (is e sin, chan e toraidhean) air cuspairean buntainneach air an cruthachadh air RocksDB.

Mar eisimpleir, bidh eBay a’ cleachdadh RocksDB a-steach àrd-ùrlar airson do “ghraf eòlais”. Co-dhiù, tha e èibhinn a bhith a’ leughadh: thòisich cànan na ceiste mar chruth dachaigh, ach o chionn ghoirid tha e air a bhith ag atharrachadh gu bhith tòrr nas coltaiche ri SPARQL. Mar a tha san fealla-dhà: ge bith dè an ìre de ghraf eòlais a bhios sinn a’ dèanamh, tha RDF againn fhathast.

Eisimpleir eile - fear a nochd beagan mhìosan air ais Seirbheis Ceist Eachdraidh Wikidata. Mus deach a thoirt a-steach, bha feum air fiosrachadh eachdraidheil Wikidata fhaighinn troimhe MWAPI gu API àbhaisteach Mediawiki. A-nis tha tòrr comasach le SPARQL fìor-ghlan. “Fon chochall” tha RocksDB ann cuideachd. Air an t-slighe, chaidh WDHQS a dhèanamh, tha e coltach, leis an neach a thug a-steach Freebase a-steach do Google Knowledge Graph.

V. taic LPG

Leig leam do chuimhneachadh mun phrìomh eadar-dhealachadh eadar grafaichean LPG agus grafaichean RDF.

Ann an LPG, faodar togalaichean scalar a shònrachadh do shuidheachaidhean iomaill, agus ann an RDF chan urrainnear an sònrachadh ach airson “seòrsaichean” iomaill (ach chan e a-mhàin togalaichean scalar, ach cuideachd ceanglaichean àbhaisteach). An cuingealachadh seo de RDF an coimeas ri LPG faighinn seachad air aon no dòigh eile modaileadh. Tha e nas duilghe faighinn seachad air crìochan LPG an taca ri RDF, ach tha grafaichean LPG nas coltaiche ri dealbhan bho leabhar teacsa Harari na grafaichean RDF, agus is e sin as coireach gu bheil daoine gan iarraidh.

Gu follaiseach, tha an obair “taic LPG” ann an dà phàirt:

  1. a’ dèanamh atharrachaidhean air a’ mhodail RDF a tha ga dhèanamh comasach atharrais a dhèanamh air structaran LPG ann;
  2. a’ dèanamh atharraichean air cànan ceiste an RDF a tha ga dhèanamh comasach faighinn gu dàta sa mhodail atharraichte seo, no a’ cur an gnìomh comas ceistean a chuir chun mhodail seo ann an cànanan ceist LPG mòr-chòrdte.

V.1. Modail dàta

Tha grunn dhòighean-obrach comasach an seo.

V.1.1. Seilbh Singleton

Is dòcha gur e an dòigh as litearra airson RDF agus LPG a cho-chòrdadh seilbh singleton:

  • An àite, mar eisimpleir, an ro-aithris :isMarriedTo thathar a’ cleachdadh ro-innse :isMarriedTo1, :isMarriedTo2 i. d.
  • Bidh na h-aithrisean sin an uairsin nan cuspairean aig triplets ùra: :isMarriedTo1 :since "2013-09-13"^^xsd:date agus feadhainn eile.
  • Tha ceangal nan suidheachaidhean sin de ro-aithrisean le ro-aithris cumanta air a stèidheachadh le triplets den fhoirm :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Gu follaiseach, rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, ach smaoinich carson nach bu chòir dhut dìreach sgrìobhadh :isMarriedTo1 rdf:type :isMarriedTo.

Tha duilgheadas “taic LPG” air fhuasgladh an seo aig ìre RDFS. Feumaidh co-dhùnadh mar seo a bhith air a ghabhail a-steach anns an dòigh iomchaidh àbhaisteach. Is dòcha gu bheil feum air cuid de dh’ atharrachaidhean airson stòran RDF a bheir taic do bhuilean, ach airson a-nis, faodar smaoineachadh air Singleton Property mar dìreach dòigh modaladh eile.

V.1.2. Ath-leasachadh air a dhèanamh ceart

Tha dòighean-obrach nach eil cho naive mar thoradh air a bhith a’ tuigsinn gu bheil cùisean seilbh làn-ghluasadach le triplets. Le bhith comasach air rudeigin a ràdh mu dheidhinn triplets, bidh e comasach dhuinn bruidhinn mu chùisean seilbh.

Is e an fheadhainn as làidire de na dòighean sin RDF*, no RDR, rugadh ann an doimhneachd Blazegraph. Tha e bhon fhìor thoiseach taghadh dhut fhèin agus do AnzoGraph. Tha seasmhachd an dòigh-obrach air a dhearbhadh leis an fhìrinn gu bheil e taobh a-staigh a fhrèam air a thairgsinn atharrachaidhean co-fhreagarrach ann an Semantics RDF. Tha am puing, ge-tà, gu math sìmplidh. Ann an sreathachadh Turtle de RDF faodaidh tu a-nis rudeigin mar seo a sgrìobhadh:

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

V.1.3. Dòighean-obrach eile

Chan urrainn dhut dragh a chuir air semantics foirmeil, ach dìreach gabhail ris gu bheil aithnichearan sònraichte aig triplets, a tha, gu dearbh, URIan, agus a’ cruthachadh triplets ùra leis na URIan sin. Chan eil air fhàgail ach cothrom a thoirt dha na URIan sin ann an SPARQL. Mar sin a' tighinn Rionnag.

Ann an Allegrograph chaidh ann an dòigh eadar-mheadhanach. Tha fios gu bheil aithnichearan triplet ann an Allegrograph tha, ach nuair a bhios iad a’ buileachadh buadhan trì-fhillte chan eil iad a’ cumail a-mach. Ach, tha e fhathast gu math fada bho semantics foirmeil. Bu chòir a thoirt fa-near nach e URI a th’ ann am buadhan triplet, agus chan urrainn dha luachan nam buadhan sin a bhith ach litrichean. Bidh luchd-leantainn LPG a’ faighinn dìreach na bha iad ag iarraidh. Anns an fhòrmat NQX a chaidh a chruthachadh gu sònraichte, tha eisimpleir coltach ris an fhear gu h-àrd airson RDF * a’ coimhead mar seo:

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

V.2. Cànanan ceist

An dèidh taic a thoirt do LPG ann an dòigh air choreigin aig ìre a’ mhodail, feumaidh tu a dhèanamh comasach ceistean a chuir air dàta ann an leithid de mhodail.

  • Blazegraph airson ceistean RDF * a’ toirt taic SPARQL* и Gremlin. Tha ceist SPARQL* a’ coimhead mar seo:

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

  • Tha Anzograph cuideachd a’ toirt taic SPARQL* agus tha e a’ dol a thoirt taic Cypher, cànan ceist ann an Neo4j.
  • Tha Stardog a 'toirt taic dha fhèin leudachadh SPARQL agus a-rithist Gremlin. Gheibh thu an URI triplet agus “meta-fiosrachadh” ann an SPARQL a ’cleachdadh rudeigin mar seo:

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

  • Tha Allegrograph cuideachd a 'toirt taic dha fhèin leudachadh SPARQL:

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

Co-dhiù, thug GraphDB taic do Tinkerpop / Gremlin aig aon àm gun a bhith a’ toirt taic do LPG, ach stad seo ann an dreach 8.0 no 8.1.

VI. A 'teannachadh ceadan

Cha deach cur ris o chionn ghoirid ris an eadar-ghearradh de sheataichean “trì-stòr de roghainn” agus “stòr trì-fhillte le còd fosgailte”. Tha na stòran ùra RDF fosgailte fada bho bhith nan deagh roghainn airson cleachdadh làitheil, agus tha na stòran trì-fhillte ùra a bu mhath leam a chleachdadh (mar AnzoGraph) nan stòran dùinte. An àite sin, is urrainn dhuinn bruidhinn mu dheidhinn lughdachadh ...

Gu dearbh, cha deach stòr fosgailte a dhùnadh san àm a dh’ fhalbh, ach gu slaodach chan eilear a’ faicinn cuid de stòran fosgailte mar fhiach an taghadh. Tha Virtuoso, aig a bheil deasachadh opensource,, nam bheachd-sa, a’ bàthadh nam mialan. Chaidh Blazegraph a cheannach le AWS agus bha e na bhunait airson Amazon Neptune; a-nis chan eil e soilleir am bi co-dhiù aon fhoillseachadh eile ann. Chan eil ach Jena air fhàgail ...

Mura h-eil stòr fosgailte glè chudromach, ach gu bheil thu dìreach airson feuchainn air, tha a h-uile dad nas lugha na bha e roimhe. Mar eisimpleir:

  • Rionnag stad sgaoileadh an dreach an-asgaidh (ge-tà, tha ùine deuchainn an dreach àbhaisteach air dùblachadh);
  • в GrafDB Cloud, far am b’ urrainn dhut plana bunaiteach an-asgaidh a thaghadh roimhe seo, chaidh clàraidhean luchd-cleachdaidh ùra a chuir dheth.

San fharsaingeachd, airson an neach IT cuibheasach, tha àite a’ fàs barrachd is barrachd do-ruigsinneach; tha an leasachadh aige a’ fàs gu bhith na bhuidheann de chorporra.

Source: www.habr.com

Cuir beachd ann