Kisa k ap pase ak depo RDF kounye a?

Entènèt Semantik ak Done Lye yo se tankou espas eksteryè: pa gen lavi la. Pou ale la pou yon peryòd de tan plis oswa mwens long... Mwen pa konnen sa yo te di ou lè yon timoun an repons a "Mwen vle vin yon astronot." Men, ou ka obsève sa k ap pase pandan w sou Latè; Li pi fasil pou w vin yon astwonòm amatè oswa menm yon pwofesyonèl.

Atik la pral konsantre sou dènye, pa gen plis pase plizyè mwa, tandans nan mond lan nan depo RDF. Metafò ki nan premye paragraf la enspire pa imaj piblisite ki gwosè sezon an anba koupe a.


Foto sezon

Kisa k ap pase ak depo RDF kounye a?

I. GraphQL pou aksè RDF

Yo dike GraphQL vize vin yon langaj aksè inivèsèl baz done. Ki sa ki sou kapasite pou jwenn aksè nan RDF lè l sèvi avèk GraphQL?

Soti nan bwat la opòtinite sa a bay pa:

Si repozitwa a pa bay yon opòtinite sa a, li ka aplike poukont yo lè w ekri yon "resolver" apwopriye. Se sa yo te fè, pa egzanp, nan pwojè franse a DataTourisme. Oswa ou pa ka ekri anyen ankò, men jis pran HyperGraphQL.

Soti nan pwen de vi yon aderan Otodòks nan Entènèt Semantik ak Done Lye, tout bagay sa yo, nan kou, se tris, depi li sanble ki fèt pou entegrasyon bati alantou silo a pwochen done, epi yo pa tribin apwopriye (magazen RDF, nan kou) .

Enpresyon yo nan konpare GraphQL ak SPARQL gen de fwa.

  • Sou yon bò, GraphQL sanble yon fanmi byen lwen nan SPARQL: li rezoud pwoblèm yo nan réchantillonnage ak plizyè demann ki tipik pou REST - san yo pa ki, pwobableman, li pa ta posib yo konsidere. lang rekèt, omwen pou entènèt la;
  • Nan lòt men an, chema rijid GraphQL se enèvan. An konsekans, "introspectiveness" li yo sanble trè limite konpare ak reflèktivite a plen nan RDF. Epi pa gen okenn analogue nan chemen pwopriyete, kidonk li pa menm trè klè poukisa li se "Graph-".

II. Adaptè pou MongoDB

Yon tandans konplemantè a anvan an.

  • Nan Stardog kounye a petèt - an patikilye, tout sou menm GraphQL - konfigirasyon kat done MongoDB nan graf vityèl RDF;
  • Ontotext GraphDB gen dènyèman pèmèt mete fragman nan SPARQL sou MongoDB Query.

Si nou pale pi lajman sou adaptè pou sous JSON, ki pèmèt plis oswa mwens "nan vole" reprezante JSON ki estoke nan sous sa yo kòm RDF, nou ka sonje byen lontan. SPARQL jenere, ki ka ajiste, pou egzanp, pou Apache Jena.

Rezime de premye tandans yo, nou ka di ke depo RDF demontre tout preparasyon pou entegrasyon ak operasyon nan kondisyon "pèsistans poliglot". Li konnen, sepandan, ke lèt sa a gen lontan yo te soti nan mòd, epi yo te ranplase pa ap vini milti-modèl. Ki sa ki sou milti-modèl nan mond lan nan depo RDF?

Nan ti bout tan, pa gen okenn fason. Mwen ta renmen dedye yon atik separe nan sijè a nan DBMS milti-modèl, men pou kounye a li ka remake ke pa gen kounye a pa gen okenn DBMS milti-modèl "ki baze" sou yon modèl graf (RDF ka konsidere kòm yon kalite li) . Gen kèk ti modèl milti - RDF sipò depo pou yon modèl altènatif graf LPG - yo pral diskite nan seksyon V.

III. OLTP vs. OLAP

Sepandan, menm Gartner la ekrike multimodel se yon kondisyon sine qua non premyèman pou chanm operasyon yo DBMS. Sa a se konprann: nan yon sitiyasyon nan "depo miltivarye", pwoblèm prensipal yo rive ak tranzaksyon.

Men, ki kote depo RDF yo ye sou echèl OLTP-OLAP? Mwen ta reponn konsa: ni la ni isit la. Pou endike kisa yo gen entansyon, kèk twazyèm abrevyasyon yo bezwen. Kòm yon opsyon mwen ta sijere OLIP — Pwosesis entelektyèl sou entènèt.

Sepandan, toujou:

  • mekanis yo entegrasyon ak MongoDB aplike nan GraphDB yo pa pi piti gen entansyon travay sou pwoblèm pèfòmans ekri;
  • Stardog ale menm pi lwen ak konplètman reekri motè, ankò ak objektif pou amelyore pèfòmans anrejistreman.

Koulye a, kite m prezante yon nouvo jwè sou mache a. Soti nan kreyatè IBM Netezza ak Amazon Redshift - AnzoGraph™. Yon foto ki soti nan yon reklam pou yon pwodwi ki baze sou li te afiche nan kòmansman atik la. AnzoGraph pozisyone tèt li kòm yon solisyon GOLAP. Ki jan ou renmen SPARQL ak fonksyon fenèt yo? —

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

IV. RocksDB

Deja pi wo te gen yon lyen nan anons la nan Stardog 7 Beta, ki te di ke Stardog te pral sèvi ak RocksDB kòm yon sistèm depo kache - yon magazen kle-valè, yon fouchèt Facebook nan LevelDB Google la. Poukisa li vo pale sou yon tandans sèten?

Premyèman, jije pa Atik Wikipedia, Se pa sèlman depo RDF yo "transplante" nan RocksDB. Gen pwojè yo sèvi ak RocksDB kòm yon motè depo nan ArangoDB, MongoDB, MySQL ak MariaDB, Cassandra.

Dezyèmman, pwojè (ki vle di, pa pwodwi) sou sijè ki enpòtan yo kreye sou RocksDB.

Pou egzanp, eBay itilize RocksDB nan yon platfòm pou "graf konesans ou". By wout la, li se komik li: lang rekèt la te kòmanse kòm yon fòma lakay grandi, men pi resamman li te tranzisyon pou vin pi plis tankou SPARQL.. Kòm nan blag la: kèlkeswa kantite graf konesans nou fè, nou toujou fini ak RDF.

Yon lòt egzanp - youn ki te parèt kèk mwa de sa Sèvis Rechèch Istwa Wikidata. Anvan entwodiksyon li yo, yo te dwe jwenn aksè nan enfòmasyon istorik Wikidata MWAPI nan API estanda Mediawiki. Koulye a, anpil posib ak SPARQL pi. "Anba kapo a" gen RocksDB tou. By wout la, WDHQS te fè, sanble, pa moun ki enpòte Freebase nan Google Knowledge Graph la.

V. LPG sipò

Kite m fè w sonje diferans prensipal ant graf LPG ak graf RDF.

Nan LPG, pwopriyete eskalè yo ka asiyen nan ka kwen, pandan y ap nan RDF yo ka sèlman asiyen nan "kalite" kwen (men se pa sèlman pwopriyete eskalè, men tou koneksyon òdinè). Limit sa a nan RDF konpare ak LPG simonte youn oswa yon lòt teknik modèl. Limit yo nan LPG konpare ak RDF yo pi difisil simonte, men graf LPG yo plis tankou foto ki soti nan yon liv Harari pase graf RDF, ki se poukisa moun vle yo.

Li evidan, travay la nan "sipò LPG" tonbe nan de pati:

  1. fè chanjman nan modèl RDF ki fè li posib pou simulation estrikti LPG ladan l;
  2. fè chanjman nan lang rechèch RDF ki fè li posib jwenn aksè nan done nan modèl modifye sa a, oswa mete ann aplikasyon kapasite pou fè demann nan modèl sa a nan lang popilè rechèch LPG.

V.1. Modèl done

Gen plizyè apwòch posib isit la.

V.1.1. Singleton Pwopriyete

Apwòch ki pi literal pou amonize RDF ak LPG se pwobableman pwopriyete singleton:

  • Olye pou yo, pou egzanp, predika a :isMarriedTo predika yo itilize :isMarriedTo1, :isMarriedTo2 ak sou sa.
  • Lè sa a, predi sa yo vin sijè nouvo triple: :isMarriedTo1 :since "2013-09-13"^^xsd:date elatriye
  • Koneksyon nan egzanp sa yo nan predikate ak yon predikate komen etabli pa triple nan fòm nan :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Li evidan, rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, men reflechi sou poukisa ou pa ta dwe jis ekri :isMarriedTo1 rdf:type :isMarriedTo.

Pwoblèm "LPG sipò" rezoud isit la nan nivo RDFS. Yon desizyon konsa mande pou enklizyon nan apwopriye a estanda. Gen kèk chanjman ki ka mande pou magazen RDF ki sipòte konsekans atache, men pou kounye a, Singleton Property ka konsidere kòm jis yon lòt teknik modèl.

V.1.2. Reifikasyon Fè Dwa

Apwòch mwens nayif soti nan realizasyon an ke ka pwopriyete yo konplètman enstansab pa triple. Lè nou kapab di yon bagay sou triple, nou pral kapab pale sou ka pwopriyete.

Ki pi solid nan apwòch sa yo se RDF*, aka RDR, fèt nan pwofondè Blazegraph. Se depi nan kòmansman an eli pou tèt ou ak AnzoGraph. Se solidite a nan apwòch la detèmine pa lefèt ke nan kad li yo ofri chanjman ki koresponn nan RDF Semantik. Pwen an, sepandan, trè senp. Nan serializasyon Turtle nan RDF ou ka kounye a ekri yon bagay tankou sa a:

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

V.1.3. Lòt apwòch

Ou pa ka deranje ak semantik fòmèl, men tou senpleman asime ke triple yo gen idantifyan sèten, ki se, nan kou, URI, epi kreye nouvo triple ak URI sa yo. Tout sa ki rete se bay aksè a URI sa yo nan SPARQL. Se konsa rive Stardog.

Nan Allegrograph ale nan yon fason entèmedyè. Li konnen ke idantifyan triplet nan Allegrograph gen, men lè aplike atribi trip yo pa bwa deyò. Sepandan, li toujou trè lwen semantik fòmèl. Li enpòtan pou remake ke atribi triplet yo pa URI, ak valè yo nan atribi sa yo kapab tou sèlman literal. Aderan LPG jwenn egzakteman sa yo te vle. Nan fòma NQX espesyalman envante a, yon egzanp ki sanble ak sa ki anwo a pou RDF* sanble sa a:

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

V.2. Rechèch lang

Èske w gen sipòte LPG nan yon fason oswa yon lòt nan nivo modèl la, ou bezwen fè li posib pou fè demann sou done nan yon modèl konsa.

  • Blazegraph pou sipò RDF* demann SPARQL* и Gremlin. Yon rekèt SPARQL* sanble sa a:

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

  • Anzograph sipòte tou SPARQL* epi li pral sipòte Cypher, yon lang rechèch nan Neo4j.
  • Stardog sipòte pwòp li yo ekspansyon SPARQL ak ankò Gremlin. Ou ka jwenn URI triplet ak "meta-enfòmasyon" nan SPARQL lè l sèvi avèk yon bagay tankou sa a:

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

  • Allegrograph sipòte tou pwòp li yo ekspansyon SPARQL:

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

By wout la, GraphDB nan yon sèl fwa sipòte Tinkerpop / Gremlin san yo pa sipòte LPG, men sa a sispann nan vèsyon 8.0 oswa 8.1.

VI. Ranfòse lisans yo

Pa te gen okenn adisyon resan nan entèseksyon an nan "triplestore nan chwa" ak "sous louvri triplestore" ansanm. Nouvo magazen RDF louvri sous yo se yon fason lontan pou yo te yon bon chwa pou itilize chak jou, ak nouvo magazen trip ke mwen ta renmen itilize (tankou AnzoGraph) yo fèmen sous. Olye de sa, nou ka pale sou diminye...

Natirèlman, sous louvri pa te fèmen nan tan lontan an, men kèk depo sous louvri yo tou dousman pa wè li kòm vo chwazi. Virtuoso, ki gen yon edisyon opensource, se, nan opinyon mwen, nwaye nan pinèz. Blazegraph te achte pa AWS e li te fòme baz Amazon Neptune; kounye a li pa klè si wi ou non pral gen omwen yon lòt lage. Se sèlman Jena ki rete...

Si sous louvri se pa trè enpòtan, men ou jis vle eseye li, Lè sa a, tout bagay se tou mwens rosy pase anvan. Pa egzanp:

  • Stardog sispann distribye vèsyon gratis la (sepandan, peryòd esè vèsyon regilye a double);
  • в GraphDB Cloud, kote deja ou te kapab chwazi yon plan debaz gratis, nouvo anrejistreman itilizatè yo te sispann.

An jeneral, pou moun mwayèn IT, espas ap vin pi plis ak plis aksesib, devlopman li yo ap vin anpil nan kòporasyon yo.

Sous: www.habr.com

Add nouvo kòmantè