O le a le mea o tupu i le teuina o le RDF i le taimi nei?

Le Semantic Web and Linked Data e pei o le vateatea: e leai se ola iina. Ina ia alu iina mo se taimi sili atu pe itiiti ifo foi ... Ou te le iloa po o le a le mea na latou taʻu atu ia te oe o se tamaititi i le tali atu i le "Ou te fia avea ma se tagata vaalele." Ae e mafai ona e matauina mea o loʻo tupu aʻo i ai i le lalolagi; E sili atu ona faigofie le avea ma se tagata suʻesuʻe vateatea poʻo se tagata tomai faapitoa.

O le tusiga o le a taulaʻi i le lata mai, e le sili atu nai lo nai masina, faiga mai le lalolagi o le teuina o le RDF. O le faʻataʻitaʻiga i le parakalafa muamua e faʻaosofia e le ata faʻasalalauga faʻapitoa i lalo o le tipi.


Ata mata'utia

O le a le mea o tupu i le teuina o le RDF i le taimi nei?

I. GraphQL mo avanoa RDF

Latou te fai maio le GraphQL o loʻo faʻamoemoe e avea ma gagana faʻasalalauga lautele. Ae faapefea le mafai ona maua le RDF e faʻaaoga ai le GraphQL?

I fafo atu o le pusa o lenei avanoa ua saunia e:

Afai e le maua e le fale teu sea avanoa, e mafai ona faʻatinoina tutoʻatasi e ala i le tusiaina o se "resolver" talafeagai. O le mea lea na latou faia, mo se faʻataʻitaʻiga, i le galuega Falani DataTourisme. Pe le mafai ona e toe tusia se mea, ae na o le ave HyperGraphQL.

Mai le manatu o se tagata faʻapitoa o le Semantic Web and Linked Data, o nei mea uma, ioe, e faʻanoanoa, talu ai e foliga mai ua fuafuaina mo tuʻufaʻatasiga e fausia i le isi silo faʻamaumauga, ae le o faʻamaumauga talafeagai (faleoloa RDF, ioe) .

O lagona mai le faʻatusatusaina o le GraphQL ma le SPARQL e lua.

  • I le tasi itu, o le GraphQL e foliga mai o se aiga mamao o le SPARQL: e foia faafitauli o le toe faʻaleleia ma le tele o fesili e masani mo REST - a aunoa ma lea, masalo, e le mafai ona mafaufauina. gagana fesili, a itiiti mai mo le upega tafailagi;
  • I le isi itu, o le faʻataʻitaʻiga mautu o le GraphQL e le fiafia. E tusa ai ma lea, o lona "introspectiveness" e foliga mai e matua faʻatapulaʻa pe a faʻatusatusa i le atoatoaga o le RDF. Ma e leai se faʻatusatusaga o auala o meatotino, o lea e le o manino ai pe aisea ua "Kalafi-".

II. Adapters mo MongoDB

O se aga e fetaui ma le tulaga muamua.

  • I le Stardog nei atonu - aemaise lava, uma i luga o le GraphQL tutusa - faʻapipiʻi le faʻafanua o faʻamatalaga MongoDB i kalafi RDF mataʻutia;
  • Ontotext GraphDB talu ai nei e mafai ai fa'aofi fasi vaega ile SPARQL ile MongoDB Query.

Afai tatou te talanoa lautele atu e uiga i tagata faʻapipiʻi i punaoa a le JSON, lea e mafai ai ona sili atu pe itiiti ifo "i luga o le lele" e fai ma sui o le JSON o loʻo teuina i nei punaoa e pei o le RDF, e mafai ona tatou manatua le mea ua leva. SPARQL Fausia, lea e mafai ona fetuunai, mo se faʻataʻitaʻiga, ia Apache Jena.

I le aotelega o faiga muamua e lua, e mafai ona tatou fai atu o le teuina o le RDF o loʻo faʻaalia atoatoa le saunia mo le tuʻufaʻatasia ma le faʻaogaina i tulaga o le "polyglot persistence". Ae ua iloa, o lenei mea mulimuli ua leva ona le toe masani, ma ua suia e ua sau fa'ata'ita'iga tele. Ae faapefea le tele-faʻataʻitaʻiga i le lalolagi o le teuina o le RDF?

I se faapuupuuga, e leai se auala. Ou te manaʻo e tuʻuina atu se isi tala i le autu o le tele-model DBMSs, ae mo le taimi nei e mafai ona maitauina e leai se tele-model DBMSs "faʻavae" i luga o se faʻataʻitaʻiga kalafi (RDF e mafai ona manatu o se ituaiga) . O nisi tama'i fa'ata'ita'iga fa'atusa - lagolago fa'aputu RDF mo se isi fa'ata'ita'iga kalafi LPG - o le a talanoaina i totonu vaega V.

III. OLTP vs. OLAP

Ae ui i lea, o le Gartner lava e tasi Na ia tusiao lena multimodel o se tulaga sili ona lelei mo potu tipitipi DBMS. E malamalama lelei lenei mea: i se tulaga o le "faʻapipiʻi tele", o faʻafitauli autu e tulaʻi mai i fefaʻatauaiga.

Ae o fea o lo'o iai fa'amaumauga a le RDF i luga ole fua ole OLTP-OLAP? Ou te tali atu faapea: e le o iina po o iinei. Ina ia faʻaalia le mea e faʻamoemoe i ai, e manaʻomia se faʻapuʻupuʻu lona tolu. O se filifiliga ou te fautua atu OLIP — Fa'ainitaneti le Fa'agaioiina o le Atamai.

Ae ui i lea, e masani lava:

  • o faiga fa'atasi ma MongoDB fa'atinoina i le GraphDB e le itiiti faamoemoe ia galue i le tusiaina o mataupu tau faatinoga;
  • Stardog e sili atu ma atoatoa toe tusi afi, toe faʻatasi ma le sini e faʻaleleia le faʻatinoina o le puʻeina.

Ia sei ou faailoa atu se tagata taalo fou i le maketi. Mai i latou na faia le IBM Netezza ma Amazon Redshift - AnzoGraph™. O se ata mai se faʻasalalauga mo se oloa faʻavae i luga na faʻasalalau i le amataga o le tusiga. Ua fa'atulaga e AnzoGraph ia lava o se fofo GOLAP. E fa'afefea ona e fiafia i le SPARQL i galuega fa'amalama? —

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

IV. RocksDB

Ua maualuga sa i ai se sootaga i le faʻasalalauga a le Stardog 7 Beta, lea na fai mai o le a faʻaaogaina e le Stardog RocksDB e avea o se faiga faʻapipiʻi faʻavae - o se faleoloa taua-taua, o le Facebook fork o Google's LevelDB. Aisea e aoga ai le talanoa e uiga i se tulaga masani?

Muamua, faʻamasino e Wikipedia tala, e le gata i le teuina o le RDF e "suia" i RocksDB. O loʻo i ai poloketi e faʻaaoga ai RocksDB e fai ma masini teu oloa i ArangoDB, MongoDB, MySQL ma MariaDB, Cassandra.

Lona lua, o galuega faatino (o lona uiga, e le o oloa) i luga o autu talafeagai e faia i luga o RocksDB.

Mo se faʻataʻitaʻiga, eBay faʻaaogaina RocksDB i totonu tulaga mo lau “kalafa malamalama”. I le ala, e malie le faitau: o le gagana fesili na amata o se fa'atupuina i le fale, ae talu ai nei ua fa'aliliuina e pei o le SPARQL.. E pei o le tala malie: e tusa lava po o le a le tele o le malamalama kalafi tatou te faia, tatou te iʻu lava ile RDF.

O le isi faʻataʻitaʻiga - o se tasi na faʻaalia i nai masina talu ai Au'aunaga Su'esu'e Tala'aga Wikidata. A'o le'i fa'aofiina, o fa'amatalaga fa'asolopito o Wikidata sa tatau ona fa'aogaina MWAPI i le Mediawiki API masani. Ole taimi nei e tele mea e mafai ile SPARQL mama. "I lalo o le pulou" o loʻo i ai foi RocksDB. I le auala, WDHQS na faia, e foliga mai, e le tagata na faʻaulufaleina Freebase i le Google Knowledge Graph.

V. LPG lagolago

Sei ou faamanatu atu ia te oe le eseesega tele i le va o kalafi LPG ma kalafi RDF.

I le LPG, e mafai ona tuʻuina atu meatotino scalar i faʻataʻitaʻiga, aʻo i le RDF e naʻo le "ituaiga" e mafai ona tuʻuina atu (ae le gata i mea faʻapitoa, ae o fesoʻotaʻiga masani). Ole tapula'a lea ole RDF fa'atusatusa ile LPG manumalo tasi po'o se isi faiga fa'ata'ita'iga. O tapulaʻa o le LPG pe a faʻatusatusa i le RDF e sili atu ona faigata ona faʻatoʻilaloina, ae o kalafi LPG e pei o ata mai se tusi aʻoga Harari nai lo kalafi RDF, o le mea lea e manaʻo ai tagata.

E manino lava, o le galuega a le "LPG lagolago" e pa'ū i ni vaega se lua:

  1. faia suiga i le RDF faʻataʻitaʻiga e mafai ai ona faʻataʻitaʻiina fausaga LPG i totonu;
  2. faia suiga i le gagana fesili a le RDF e mafai ai ona maua faʻamatalaga i lenei faʻataʻitaʻiga faʻaleleia, poʻo le faʻatinoina o le mafai ona fai fesili i lenei faʻataʻitaʻiga i gagana faʻapitoa LPG fesili.

V.1. Fa'ata'ita'iga fa'amaumauga

E tele auala e mafai ai iinei.

V.1.1. Meatotino a Singleton

Ole auala sili ona moni ile fa'amaopoopoina ole RDF ma le LPG atonu fanua nofofua:

  • Nai lo, mo se faʻataʻitaʻiga, o le predicate :isMarriedTo o lo'o fa'aaogaina predicates :isMarriedTo1, :isMarriedTo2 ma isi.
  • O nei fa'aupuga ona avea lea ma mataupu o ta'i tolu fou: :isMarriedTo1 :since "2013-09-13"^^xsd:date ma isi.
  • O le feso'ota'iga o nei fa'ata'ita'iga o predicates ma se predicate masani e fa'avaeina e ta'i tolu o le fomu :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • E manino lava rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, ae mafaufau pe aisea e le tatau ai ona e tusitusi :isMarriedTo1 rdf:type :isMarriedTo.

O le faʻafitauli o le "LPG lagolago" o loʻo foia iinei i le RDFS tulaga. O sea faaiuga e manaomia ai le faaaofia i totonu o le tulaga talafeagai tulaga masani. O nisi suiga atonu e mana'omia mo faleoloa RDF e lagolagoina le fa'apipi'iina o taunuuga, ae mo le taimi nei, Singleton Property e mafai ona manatu o se isi metotia fa'ata'ita'iga.

V.1.2. Toe Fa'aleleia Ua Faia Sa'o

O faiga fa'atauva'a e afua mai i le iloa o mea totino e mafai ona vave fa'ato'a fa'ato'a tolu. O le mafai ona fai se tala e uiga i le tolu, o le a mafai ai ona tatou talanoa e uiga i mea totino.

O le sili ona malosi o nei faiga RDF*, aka RDR, fanau mai i le loloto o Blazegraph. E mai lava i le amataga filifilia mo oe lava ma AnzoGraph. O le mausali o le auala e faʻamoemoeina e le mea moni o totonu o lona faʻavae ofoina suiga tutusa i RDF Semantics. Ae peitai, o le manatu, e matua faigofie lava. I le fa'asologa o laumei o le RDF e mafai nei ona e tusia se mea fa'apenei:

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

V.1.3. O isi auala

E le mafai ona e faʻalavelave i semantics aloaʻia, ae naʻo le manatu o tolu tolu e iai ni faʻamatalaga patino, o le mea moni, URIs, ma fatuina ni tolu tolu ma nei URI. Pau lava le mea o loʻo totoe o le tuʻuina atu lea o avanoa i nei URI i le SPARQL. O lea taunuu Stardog.

I le Allegrograph alu i se auala vavalo. Ua iloa o fa'ailoga tolu i le Allegrograph o, ae pe a faʻatinoina uiga faʻatolu latou te le pipii mai. Ae ui i lea, e matua mamao lava mai semantics aloaia. E maitauina o uiga tolu e le o ni URI, ma o tau o nei uiga e mafai foi ona naʻo le moni. E maua tonu e le au fa'apipi'i LPG le mea latou te mana'o ai. I le fa'atulagaga NQX fa'apitoa, o se fa'ata'ita'iga e pei o lea i luga mo le RDF* e pei o lenei:

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

V.2. Su'esu'e gagana

I le lagolagoina o le LPG i se tasi auala poʻo se isi i le tulaga faʻataʻitaʻiga, e tatau ona e faʻafaigofie ona fai ni fesili i faʻamatalaga i se faʻataʻitaʻiga.

  • Blazegraph mo fesili RDF* lagolago SPARQL* и Gremlin. O se fesili SPARQL* e pei o lenei:

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

  • E lagolagoina foi e le Anzograph SPARQL* ma o le a lagolagoina Cypher, o se gagana fesili ile Neo4j.
  • E lagolagoina e Stardog ia lava faʻaopoopoga SPARQL ma toe Gremlin. E mafai ona e mauaina le triplet URI ma le "meta-information" i le SPARQL e faʻaaoga ai se mea faapenei:

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

  • E lagolagoina foi e le Allegrograph lana lava faʻaopoopoga SPARQL:

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

I le auala, na lagolagoina e GraphDB i se tasi taimi Tinkerpop / Gremlin e aunoa ma le lagolagoina o le LPG, ae na taofia i le version 8.0 poʻo le 8.1.

VI. Fa'amauina o laisene

E leai ni fa'aopoopoga lata mai i le va'aiga o seti o le "tolustore of choice" ma le "open source triplestore" seti. O faleoloa fou fou o le RDF e mamao mai le avea ma se filifiliga lelei mo le faʻaaogaina i aso uma, ma o faleoloa taʻi tolu ou te manaʻo e faʻaoga (pei o AnzoGraph) e tapunia. Ae, e mafai ona tatou talanoa e uiga i le faʻaitiitia ...

O le mea moni, e le'i tapunia le open source i le taimi ua tuana'i, ae o nisi fale teu oloa tatala ua le o toe va'aia e aoga le filifilia. Virtuoso, o loʻo i ai se faʻasalalauga tatala, i loʻu manatu, ua malemo i mea leaga. Blazegraph na faʻatau e le AWS ma faʻavaeina le Amazon Neptune; o lea e le o manino pe o le a toe tasi le toe tatalaina. Na'o Jena o lo'o totoe...

Afai e le taua tele le punaoa tatala, ae e te manaʻo e faʻataʻitaʻi, o mea uma foi e itiiti ifo le rosy nai lo le taimi muamua. Faataitaiga:

  • Stardog taofi tufatufa le kopi fua (peita'i, o le vaitaimi o le faamasinoga o le lomiga masani ua faaluaina);
  • в GraphDB Cloud, lea na mafai ai ona e filifilia muamua se fuafuaga faavae e leai se totogi, ua taofia le resitalaina o tagata fou.

I se tulaga lautele, mo le averesi o tagata IT, o avanoa ua amata ona sili atu ona le mafai ona maua; o lona atinaʻe ua avea ma tele o faʻalapotopotoga.

puna: www.habr.com

Faaopoopo i ai se faamatalaga