Kedu ihe na-eme na ebe nchekwa RDF ugbu a?

Weebụ Semantic na Data ejikọtara dị ka oghere dị n'èzí: enweghị ndụ ebe ahụ. Iji gaa ebe ahụ ogologo oge ma ọ bụ karịa ... Amaghị m ihe ha gwara gị mgbe ọ bụ nwata na nzaghachi "Achọrọ m ịghọ onye na-agụ kpakpando." Ma ị nwere ike ịhụ ihe na-eme mgbe ị nọ n'ụwa; Ọ dị mfe karị ịghọ onye na-amụ mbara igwe ma ọ bụ ọbụna ọkachamara.

Isiokwu a ga-elekwasị anya na nso nso a, ọ bụghị okenye karịa ọtụtụ ọnwa, usoro sitere na ụwa nke nchekwa RDF. Ihe atụ dị na paragraf nke mbụ sitere na onyonyo mgbasa ozi nwere oke dị n'okpuru ịkpụ.


Foto Epic

Kedu ihe na-eme na ebe nchekwa RDF ugbu a?

I. GraphQL maka ịnweta RDF

Ha na -ekwuna ebumnuche GraphQL ka ọ bụrụ asụsụ ohere nchekwa data zuru ụwa ọnụ. Kedu maka ikike iji GraphQL nweta RDF?

N'ime igbe bụ ohere a bụ:

Ọ bụrụ na ebe nchekwa ahụ enyeghị ohere dị otú ahụ, enwere ike ịme ya n'onwe ya site n'ịde "ihe ngwọta" kwesịrị ekwesị. Nke a bụ ihe ha mere, dịka ọmụmaatụ, na ọrụ French DataTourism. Ma ọ bụ ị nweghịzi ike ide ihe ọ bụla, mana were naanị HyperGraphQL.

Site n'echiche nke onye na-akwado orthodox nke Semantic Web na Data Linked, ihe a niile, n'ezie, dị mwute, ebe ọ bụ na o yiri ka e mere maka ntinye nke e wuru gburugburu silo data na-esote, ọ bụghịkwa ikpo okwu kwesịrị ekwesị (ụlọ ahịa RDF, n'ezie) .

Mmetụta dị n'iji GraphQL tụnyere SPARQL bụ okpukpu abụọ.

  • N'otu aka ahụ, GraphQL dị ka onye ikwu SPARQL dị anya: ọ na-edozi nsogbu nke resampling na multiplicity nke ajụjụ ndị a na-ahụkarị maka REST - na-enweghị nke, eleghị anya, ọ gaghị ekwe omume ịtụle. asụsụ ajụjụ, ọ dịkarịa ala maka webụ;
  • N'aka nke ọzọ, atụmatụ siri ike nke GraphQL na-akụda mmụọ. N'ihi ya, "ntụgharị uche" ya dị ka ọ nwere oke ma e jiri ya tụnyere ntugharị uche zuru oke nke RDF. Ma ọ dịghị ihe analogue nke ụzọ ihe onwunwe, n'ihi ya, ọ bụghị ọbụna doro anya ihe mere o ji bụrụ "Graph-".

II. Ihe nkwụnye maka MongoDB

Usoro na-akwado nke gara aga.

  • Na Stardog ugbu a ikekwe - ọkachasị, ha niile dị n'otu GraphQL - hazie maapụ data MongoDB n'ime eserese RDF mebere;
  • Ontotext GraphDB nwere n'oge na-adịbeghị anya ọ na-enye ohere tinye iberibe n'ime SPARQL na ajụjụ MongoDB.

Ọ bụrụ na anyị na-ekwukarị gbasara ihe nkwụnye na isi mmalite JSON, nke na-enye ohere ka ukwuu ma ọ bụ obere "na-efe efe" ịnọchite anya JSON echekwara na isi mmalite ndị a dị ka RDF, anyị nwere ike icheta ogologo oge. SPARQL mepụta, nke nwere ike gbanwee, dịka ọmụmaatụ, nye Apache Jena.

N'ịchịkọta usoro abụọ mbụ, anyị nwere ike ịsị na nchekwa RDF gosipụtara njikere zuru oke maka ntinye na ịrụ ọrụ na ọnọdụ nke "nkwụsi ike polyglot". Otú ọ dị, a maara na nke ikpeazụ a adịla ogologo oge nke ejiji, ma dochie ya na-abịa ọtụtụ ihe nlereanya. Kedu maka ịme ọtụtụ ihe n'ime ụwa nke nchekwa RDF?

Na nkenke, ọ dịghị ụzọ. Ọ ga-amasị m ịrara isiokwu dị iche na isiokwu nke ụdị DBMS dị iche iche, mana ugbu a enwere ike ịdebe na ugbu a enweghị ụdị DBMS nke ọtụtụ ụdị "dabere" na ụdị eserese (RDF nwere ike iwere ya dị ka ụdị ya) . Ụfọdụ obere ihe nlere anya - nkwado nchekwa RDF maka ụdị eserese LPG ọzọ - ka a ga-atụle na ngalaba V.

III. OLTP vs. OLAP

Otú ọ dị, otu Gartner ọ na-edena multimodel bụ sine qua non ọnọdụ bụ isi maka ụlọ ọrụ DBMS. Nke a bụ ihe kwere nghọta: na ọnọdụ nke "nchekwa multivariate", isi nsogbu na-ebilite na azụmahịa.

Mana kedu ebe nchekwa RDF dị na nha OLTP-OLAP? M ga-aza otu a: ọ bụghị ebe a ma ọ bụ ebe a. Iji gosi ihe e bu n'obi mee ha, ọ dị mkpa ka ọ dị mbiri nke atọ. Dị ka nhọrọ m ga-atụ aro OLIP - Nhazi ọgụgụ isi n'ịntanetị.

Agbanyeghị, ka:

  • Usoro ntinye na MongoDB etinyere na GraphDB abụghị obere bu n'obi ịrụ ọrụ gburugburu ide ihe omume;
  • Stardog na-aga n'ihu na kpamkpam na-edegharị engine, ọzọ na ihe mgbaru ọsọ nke melite ndekọ arụmọrụ.

Ugbu a, ka m ewebata onye ọkpụkpọ ọhụrụ n'ahịa. Site na ndị okike nke IBM Netezza na Amazon Redshift - AnzoGraph™. Edepụtara foto sitere na mgbasa ozi maka ngwaahịa dabere na ya na mbido isiokwu. AnzoGraph na-edobe onwe ya dị ka ngwọta GOLAP. Kedu ka ị si amasị SPARQL nwere ọrụ windo? -

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

IV. RocksDB

Ugbua elu enwere njikọ na ọkwa nke Stardog 7 Beta, nke kwuru na Stardog na-aga iji RocksDB dị ka usoro nchekwa nchekwa dị n'okpuru - ụlọ ahịa isi-ọnụ ahịa, ndụdụ Facebook nke Google's LevelDB. Gịnị mere o ji baa uru ikwu banyere otu omume?

Mbụ, ikpe ikpe site na Akụkọ Wikipedia, ọ bụghị naanị nchekwa RDF ka a “gbanwere” na RocksDB. Enwere oru iji RocksDB dị ka igwe nchekwa na ArangoDB, MongoDB, MySQL na MariaDB, Cassandra.

Nke abuo, oru ngo (ya bu, obughi ngwaahịa) na isiokwu di mkpa ka emebere na RocksDB.

Dịka ọmụmaatụ, eBay na-eji RocksDB na ikpo okwu maka "graph" gị. Site n'ụzọ, ọ na-atọ ọchị ịgụ: asụsụ ajụjụ malitere dị ka usoro tolitere n'ụlọ, mana n'oge na-adịbeghị anya ọ na-agbanwe ka ọ dị ka SPARQL.. Dị ka ọ dị na njakịrị: n'agbanyeghị ụdị ihe ọmụma anyị na-eme, anyị ka na-ejedebe na RDF.

Ihe atụ ọzọ - nke pụtara ọnwa ole na ole gara aga Ọrụ ajụjụ akụkọ Wikidata. Tupu iwebata ya, ekwesịrị ịnweta ozi akụkọ ihe mere eme Wikidata MWAPI gaa na Mediawiki API ọkọlọtọ. Ugbu a ọtụtụ ga-ekwe omume na SPARQL dị ọcha. "N'okpuru mkpuchi" nwekwara RocksDB. Site n'ụzọ, WDHQS mere, dịka ọ dị, site n'aka onye webatara Freebase n'ime ihe ngosi Google Knowledge.

V. LPG nkwado

Ka m chetara gị isi ihe dị iche n'etiti eserese LPG na eserese RDF.

Na LPG, enwere ike kenye akụrụngwa scalar n'akụkụ ọnụ, ebe na RDF, enwere ike kenye ha naanị n'akụkụ “ụdị” (mana ọ bụghị naanị akụrụngwa scalar, kamakwa njikọ nkịtị). Nke a mmachi nke RDF tụnyere LPG merie otu ma ọ bụ ọzọ nlereanya usoro. Oke LPG tụnyere RDF siri ike karịa, mana eserese LPG dị ka foto sitere na akwụkwọ ọgụgụ Harari karịa eserese RDF, ya mere ndị mmadụ ji chọọ ya.

N'ụzọ doro anya, ọrụ nke "LPG support" dabara n'akụkụ abụọ:

  1. na-eme mgbanwe na ụdị RDF nke na-eme ka o kwe omume ịmegharị ihe owuwu LPG n'ime ya;
  2. na-eme mgbanwe na asụsụ ajụjụ RDF nke na-eme ka o kwe omume ịnweta data n'ụdị a gbanwegharịrị, ma ọ bụ mejuputa ikike ịme ajụjụ maka ụdị a n'asụsụ LPG na-ewu ewu.

V.1. Ụdị data

Enwere ụzọ dị iche iche enwere ike ịbịaru nso ebe a.

V.1.1. Ala Singleton

Ụzọ kachasị mma iji kwado RDF na LPG nwere ike ịbụ ihe onwunwe singleton:

  • Kama, dịka ọmụmaatụ, predicate :isMarriedTo a na-eji predicate :isMarriedTo1, :isMarriedTo2 na ihe ndị ọzọ.
  • Ihe amụma ndị a ga-abụ isiokwu nke atọ ọhụrụ: :isMarriedTo1 :since "2013-09-13"^^xsd:date na ndị ọzọ.
  • Njikọ nke ihe atụ ndị a na ihe nrịba ama nkịtị bụ nke ejikọtara atọ nke ụdị ahụ :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • O doro anya, rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, ma chee echiche ihe mere na ị gaghị ede naanị :isMarriedTo1 rdf:type :isMarriedTo.

A na-edozi nsogbu nke "nkwado LPG" ebe a na ọkwa RDFS. Mkpebi dị otú ahụ chọrọ nsonye na nke kwesịrị ekwesị ọkọlọtọ. Enwere ike ịchọrọ mgbanwe ụfọdụ maka ụlọ ahịa RDF nke na-akwado nsonye na-akpata, mana ugbu a, Singleton Property nwere ike iche dị ka naanị usoro nhazi ọzọ.

V.1.2. Emere mmezigharị nke ọma

Ụzọ ndị na-enweghị isi na-esite n'ịghọta na ihe gbasara ihe onwunwe na-adị ngwa ngwa site na atọ. Site n'inwe ike ikwu ihe gbasara atọ, anyị ga-enwe ike ikwu maka ihe gbasara ihe onwunwe.

Ihe kacha sie ike n'ime ụzọ ndị a bụ RDF*, aka RDR, amuru n'ime omimi nke Blazegraph. Ọ bụ site na mmalite họpụtara maka onwe gị na AnzoGraph. A na-ekpebisi ike nke usoro ahụ site n'eziokwu na n'ime usoro ya nyere mgbanwe kwekọrọ na Ihe ọmụmụ RDF. Otú ọ dị, isi ihe dị nnọọ mfe. Na Turtle serialization nke RDF ị nwere ike dee ihe dị ka nke a:

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

V.1.3. Ụzọ ndị ọzọ

Ị pụghị inye nsogbu na semantics nkịtị, mana naanị chee na atọ nwere ụfọdụ ihe nchọpụta, nke bụ, n'ezie, URI, ma mepụta atọ ọhụrụ na URI ndị a. Naanị ihe fọdụrụ bụ inye ohere ịnweta URI ndị a na SPARQL. Ya mere bịarutere Stardog.

Na Allegrograph gara n'ụzọ etiti. A maara na njirimara atọ na Allegrograph bụ, ma mgbe emejuputa atumatu atọ ha anaghị arapara n'ahụ. Otú ọ dị, ọ ka dị nnọọ anya na semantics. Ọ bụ ihe kwesịrị ịrịba ama na àgwà atọ abụghị URI, na ụkpụrụ nke àgwà ndị a nwekwara ike ịbụ naanị nkịtị. Ndị na-eso LPG na-enweta kpọmkwem ihe ha chọrọ. N'ụdị NQX emepụtara nke ọma, ihe atụ yiri nke dị n'elu maka RDF* dị ka nke a:

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

V.2. Asụsụ ajụjụ

N'ịbụ onye kwadoro LPG n'otu ụzọ ma ọ bụ ọzọ na ọkwa nlereanya, ịkwesịrị ịme ka ọ kwe omume ịjụ ajụjụ na data na ụdị dị otú ahụ.

  • Blazegraph maka ajụjụ RDF* na-akwado SPARQL* и Gremlin. Ajuju SPARQL* dị ka nke a:

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

  • Anzograph na-akwadokwa SPARQL* ma na-aga ịkwado Cypher, asụsụ ajụjụ na Neo4j.
  • Stardog na-akwado nke ya mmeba SPARQL na ọzọ Gremlin. Ị nwere ike nweta URI triplet na "ozi-meta" na SPARQL iji ihe dịka nke a:

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

  • Allegrograph na-akwadokwa nke ya mmeba SPARQL:

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

Site n'ụzọ, GraphDB kwadoro Tinkerpop/Gremlin n'otu oge na-akwadoghị LPG, mana nke a kwụsịrị na ụdị 8.0 ma ọ bụ 8.1.

VI. Ịkwụsị akwụkwọ ikike

Enwebeghị ihe mgbakwunye ọhụrụ na nso nso a nke “triplestore of choice” na “open source triplestore” set. Ụlọ ahịa RDF mepere emepe ọhụrụ bụ ụzọ dị anya site na ịbụ ezigbo nhọrọ maka iji ya eme ihe kwa ụbọchị, yana ụlọ ahịa atọ ọhụrụ nke m ga-achọ iji (dị ka AnzoGraph) bụ ebe mechiri emechi. Kama, anyị nwere ike ikwu maka mbelata ...

N'ezie, emechibeghị ebe mepere emepe n'oge gara aga, mana ụfọdụ ebe nchekwa ebe a na-emepe emepe anaghịzi ahụ nwayọ ka ọ bara uru ịhọrọ. Virtuoso, nke nwere mbipụta opensource, bụ, n'uche nke m, na-eri mmiri na chinchi. AWS zụtara Blazegraph wee guzobe ntọala Amazon Neptune; ugbua amabeghị ma a ga-enwe opekata mpe otu ntọhapụ ọzọ. Naanị Jena ka fọdụrụ ...

Ọ bụrụ na isi mmalite adịghị mkpa, mana ịchọrọ ịnwale ya, mgbe ahụ ihe niile dịkwa obere rosy karịa ka ọ dị na mbụ. Ọmụmaatụ:

  • Stardog na-akwụsị kesaa ụdị n'efu (agbanyeghị, oge ikpe nke ụdị ọ bụla ejirila okpukpu abụọ);
  • в GraphDB Cloud, ebe ị nwere ike họrọ atụmatụ bụ isi n'efu, akwụsịla ndebanye aha onye ọrụ ọhụrụ.

N'ozuzu, maka nkezi onye IT, ohere na-aghọwanye nke na-enweghị ike ịnweta; mmepe ya na-aghọ ọtụtụ ụlọ ọrụ.

isi: www.habr.com

Tinye a comment