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 ... lelei, ou te le iloa po o le a le mea na latou taʻu atu ia te oe o se tamaitiiti 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 le tele o masina, faiga mai le lalolagi o le teuina o le RDF. O le faʻataʻitaʻiga i le parakalafa muamua na musuia e le ata faʻasalalauga faʻapitoa i lalo o le tipi.
Ata mata'utia

I. GraphQL mo avanoa RDF
o 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:
- Stardog (, );
- oloa TopQuadrant (, ).
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 . Pe le mafai ona e toe tusia se mea, ae na o le ave .
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 Stardog nei - aemaise lava, uma i luga o le GraphQL tutusa - faʻapipiʻi le faʻafanua o faʻamatalaga MongoDB i kalafi RDF mataʻutia;
- GraphDB talu ai nei 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. , lea e mafai ona fetuunai, , 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 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 .
III. OLTP vs. OLAP
Ae ui i lea, o le Gartner lava e tasi o 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 ia galue i le tusiaina o mataupu tau faatinoga;
- Stardog e sili atu ma atoatoa 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 tagata na faia IBM Netezza ma Amazon Redshift - . 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 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 , 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 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 . A'o le'i fa'aofiina, o fa'amatalaga fa'asolopito o Wikidata sa tatau ona fa'aogaina 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 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:
- faia suiga i le RDF faʻataʻitaʻiga e mafai ai ona faʻataʻitaʻiina fausaga LPG i totonu;
- 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 :
- Nai lo, mo se faʻataʻitaʻiga, o le predicate
:isMarriedToo lo'o fa'aaogaina predicates:isMarriedTo1,:isMarriedTo2ma isi. - O nei fa'aupuga ona avea lea ma mataupu o ta'i tolu fou:
:isMarriedTo1 :since "2013-09-13"^^xsd:datema 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 . 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 , aka RDR, i le loloto o Blazegraph. E mai lava i le amataga mo oe lava ma AnzoGraph. O le mausali o le auala e faʻamoemoeina e le mea moni o totonu o lona faʻavae suiga tutusa i . 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 Stardog.
I le Allegrograph i se auala vavalo. Ua iloa o fa'ailoga tolu i le Allegrograph , 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 и . O se fesili SPARQL* e pei o lenei:
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }- E lagolagoina foi e le Anzograph ma o le a lagolagoina , o se gagana fesili ile Neo4j.
- E lagolagoina e Stardog ia lava SPARQL ma 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 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 le'i iai 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 ese mai le avea ma se filifiliga lelei mo le faʻaaogaina i aso uma, ma o faleoloa RDF fou ou te manaʻo e faʻaoga (pei o AnzoGraph) o loʻo tapunia. Ae, e mafai foʻi ona tatou talanoa e uiga i faʻaititia...
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 tufatufa le kopi fua (peita'i, o le vaitaimi o le faamasinoga o le lomiga masani ua faaluaina);
- в , 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
