U Web Semanticu è Dati Linked sò cum'è u spaziu esterno: ùn ci hè micca vita. Per andà ci per un periudu più o menu longu di tempu... Ùn sò micca ciò ch'elli anu dettu ch'elli t'hà dettu da zitellu in risposta à "Vogliu diventà astronauta". Ma pudete osservà ciò chì succede in a Terra; Hè assai più faciule per diventà un astronomu dilettante o ancu un prufessiunale.
L'articulu hà da fucalizza nantu à e tendenze recenti, micca più vechje di parechji mesi, da u mondu di l'almacenamiento RDF. A metàfora in u primu paràgrafu hè inspiratu da l'imaghjini di publicità epica sottu u cut.
Foto epica
I. GraphQL per l'accessu RDF
Dicenuchì GraphQL hà u scopu di diventà una lingua universale di accessu à a basa di dati. Chì ci hè a capacità di accede à RDF cù GraphQL?
Se u repositoriu ùn furnisce micca una tale opportunità, pò esse implementatu indipindente scrivendu un "resolver" adattatu. Hè ciò chì anu fattu, per esempiu, in u prugettu francese DataTourisme. O ùn pudete più scrive nunda, ma solu piglià HyperGraphQL.
Da u puntu di vista di un aderente ortodossu di u Web Semanticu è Linked Data, tuttu questu, sicuru, hè tristu, postu chì pare cuncepitu per integrazioni custruiti intornu à u prossimu silo di dati, è micca e plataforme adattate (magazzini RDF, sicuru) .
L'impressioni di paragunà GraphQL cù SPARQL sò duie volte.
Da una banda, GraphQL s'assumiglia à un parente distante di SPARQL: risolve i prublemi di resampling è multiplicità di dumande chì sò tipici per REST - senza chì, probabilmente, ùn saria micca pussibule di cunsiderà. lingua di dumanda, almenu per u web;
Per d 'altra banda, u schema rigidu di GraphQL hè deludente. Per quessa, a so "introspettiva" pare assai limitata paragunata à a piena riflessività di RDF. È ùn ci hè micca un analogu di i percorsi di pruprietà, perchè ùn hè ancu assai chjaru perchè hè "Graph-".
II. Adattatori per MongoDB
Una tendenza cumplementaria à a precedente.
In Stardog avà hè possibile - in particulare, tutti nantu à u stessu GraphQL - cunfigurà a mapping of MongoDB data in virtual RDF graphs;
Ontotext GraphDB hà recentemente si permette di inserisci frammenti in SPARQL in MongoDB Query.
Se parlemu più largamente di l'adattatori à e fonti JSON, chì permettenu più o menu "à a mosca" per rapprisintà u JSON almacenatu in queste fonti cum'è RDF, pudemu ricurdà l'abbastanti longu. SPARQL Generate, chì pò esse aghjustatu, per esempiu, à Apache Jena.
Riassuntu i primi dui tendenzi, pudemu dì chì l'almacenamiento RDF dimustranu a piena prontezza per l'integrazione è l'operazione in cundizioni di "persistenza poliglotta". Hè cunnisciutu, però, chì questu ultimu hè longu fora di moda, è hè rimpiazzatu da vene multi-mudellu. Chì ci hè di multi-modelamentu in u mondu di l'almacenamiento RDF?
In corta, senza manera. Vogliu dedicà un articulu separatu à u tema di DBMS multi-mudellu, ma per ora si pò nutà chì ùn ci sò attualmente micca DBMS multi-mudellu "basatu" nantu à un mudellu di graficu (RDF pò esse cunsideratu un tipu di questu) . Qualchì picculu multi-modelamentu - supportu di almacenamentu RDF per un mudellu di graficu LPG alternativu - serà discututu in sezione V.
III. OLTP vs. OLAP
Tuttavia, u listessu Gartner iddu scrissi:chì multimodel hè una cundizione sine qua non principalmente per sale operatorie DBMS. Questu hè comprensibile: in una situazione di "almacenamiento multivariate", i prublemi principali si sviluppanu cù a transazzione.
Ma induve nantu à a scala OLTP-OLAP si trovanu i magazzini RDF? Rispondiraghju cusì : nè quì nè quì. Per indicà ciò chì sò destinati, hè necessariu una terza abbreviazione. Cum'è una opzione vi suggerissi OLIP - Trattamentu intellettuale in linea.
Tuttavia, sempre:
i miccanismi di integrazione cù MongoDB implementati in GraphDB ùn sò micca menu destinatu per travaglià nantu à i prublemi di rendiment di scrittura;
Stardog va ancu più luntanu è cumpletamente riscrive mutore, di novu cù u scopu di migliurà a prestazione di registrazione.
Avà lasciami presentà un novu attore à u mercatu. Da i creatori di IBM Netezza è Amazon Redshift - AnzoGraph™. Una stampa da una publicità per un pruduttu basatu annantu à questu hè stata publicata à u principiu di l'articulu. AnzoGraph si pone cum'è una soluzione GOLAP. Cumu ti piace SPARQL cù funzioni di finestra? —
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { … }
IV. RocksDB
Dighjà più altu ci era un ligame à l'annunziu di Stardog 7 Beta, chì hà dettu chì Stardog hà da aduprà RocksDB cum'è un sistema di almacenamentu sottostanti - un magazinu di valore chjave, un fork Facebook di LevelDB di Google. Perchè vale a pena parlà di una certa tendenza?
Prima, à ghjudicà da Articulu di Wikipedia, micca solu l'almacenamiento RDF sò "trasplantati" à RocksDB. Ci sò prughjetti per utilizà RocksDB cum'è un mutore di almacenamiento in ArangoDB, MongoDB, MySQL è MariaDB, Cassandra.
Siconda, prughjetti (vale à dì, micca prudutti) nantu à temi pertinenti sò creati in RocksDB.
Per esempiu, eBay usa RocksDB in una piattaforma per u vostru "graficu di cunniscenza". Per via, hè divertente di leghje: a lingua di dumanda hà iniziatu cum'è un formatu cultivatu in casa, ma più recentemente hè stata a transizione per esse assai più cum'è SPARQL. Cum'è in u scherzu: ùn importa quantu gràficu di cunniscenza facemu, avemu sempre finitu cù RDF.
Un altru esempiu - unu chì apparsu qualchi mesi fà U serviziu di ricerca di a storia di Wikidata. Prima di a so introduzione, l'infurmazioni storichi di Wikidata anu da esse accessu MWAPI à l'API standard Mediawiki. Avà assai hè pussibule cù SPARQL pura. "Sottu u cappucciu" ci hè ancu RocksDB. In modu, WDHQS hè statu fattu, pare, da a persona chì hà impurtatu Freebase in u Google Knowledge Graph.
V. LPG sustegnu
Lasciami ricurdà di a principal diferenza trà i grafici LPG è i grafici RDF.
In LPG, i pruprietà scalari ponu esse attribuiti à l'istanze di bordu, mentre chì in RDF ponu esse attribuiti solu à i "tipi" di bordu (ma micca solu proprietà scalari, ma ancu e cunnessione ordinali). Questa limitazione di RDF paragunatu à LPG vince una o una altra tecnica di mudellu. E limitazioni di LPG paragunate à RDF sò più difficiuli di superà, ma i grafici LPG sò più simili à l'imaghjini di un libru di testu Harari cà i grafici RDF, per quessa chì a ghjente li vole.
Ovviamente, u compitu di "supportu LPG" hè in dui parti:
fà cambiamenti à u mudellu RDF chì permettenu di simule strutture LPG in questu;
fendu cambiamenti à a lingua di query RDF chì permettenu l'accessu à e dati in stu mudellu mudificatu, o implementendu a capacità di fà dumande à stu mudellu in lingue populari di query LPG.
V.1. U mudellu di dati
Ci sò parechje avvicinamenti pussibuli quì.
V.1.1. Pruprietà Singleton
L'approcciu più literale per armunizà RDF è LPG hè probabilmente pruprietà singleton:
Invece di, per esempiu, u predicatu :isMarriedTo i predicati sò usati :isMarriedTo1, :isMarriedTo2 i t. d.
Questi predicati diventanu dunque i sugetti di novi triplette: :isMarriedTo1 :since "2013-09-13"^^xsd:date è altri.
A cunnessione di sti casi di predicati cù un predicatu cumuni hè stabilitu da triplets di a forma :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
U prublema di "supportu LPG" hè risolta quì à u livellu RDFS. Una tale decisione richiede l'inclusione in l'appropriata standard. Certi cambiamenti ponu esse richiesti per i magazzini RDF chì supportanu cunsequenze di attache, ma per avà, Singleton Property pò esse pensatu cum'è una altra tecnica di mudellu.
V.1.2. Reificazione fatta bè
Approcci menu ingenu derivanu da a realizazione chì l'istanze di pruprietà sò cumplettamente instantiable da triplets. Pudendu dì qualcosa di i triplets, pudemu parlà di casi di pruprietà.
U più robustu di sti approcci hè RDF*, alias RDR, natu in a prufundità di Blazegraph. Hè da u principiu elettu per sè stessu è AnzoGraph. A solidità di l'approcciu hè determinata da u fattu chì in u so quadru offertu cambiamenti currispundenti in Semantica RDF. U puntu, però, hè assai simplice. In Turtle serialization di RDF pudete avà scrive qualcosa cum'è questu:
Ùn pudete micca sbattà cù a semantica formale, ma simpricimenti assume chì i triplets anu certi identificatori, chì sò, sicuru, URI, è creanu novi triplets cù questi URI. Il ne reste plus qu'à donner l'accès à ces URI dans SPARQL. Allora arriva Stardog.
In Allegrograph andò in modu intermediu. Hè cunnisciutu chì identificatori triplet in Allegrograph hè, ma quandu implementanu attributi triple ùn si stende micca. Tuttavia, hè sempre assai luntanu da a semantica formale. Hè nutate chì l'attributi triplet ùn sò micca URI, è i valori di sti attributi ponu ancu esse litterali. L'aderenti LPG ottennu esattamente ciò chì vulianu. In u formatu NQX inventatu apposta, un esempiu simili à quellu sopra per RDF * pare cusì:
:bob :marriedTo :alice {"since" : "2013-09-13"}
V.2. Lingue di dumanda
Dopu avè supportatu LPG in un modu o un altru à u livellu di u mudellu, avete bisognu di fà pussibule di fà dumande nantu à e dati in un tali mudellu.
Blazegraph per e dumande RDF * supporta SPARQL* и Gremlin. Una dumanda SPARQL * s'assumiglia cusì:
Anzograph sustene ancu SPARQL* è hà da sustene Cypher, una lingua di dumanda in Neo4j.
Stardog sustene u so propiu allargamentu SPARQL è di novu Gremlin. Pudete ottene u triplet URI è "meta-informazione" in SPARQL usendu qualcosa cum'è questu:
A propositu, GraphDB in un tempu hà supportatu Tinkerpop / Gremlin senza supportu LPG, ma questu hè firmatu in a versione 8.0 o 8.1.
VI. Restrizzione di licenze
Ùn ci sò micca stati aghjunti recenti à l'intersezzione di i setti "triplestore di scelta" è "triplestore open source". I novi magazzini RDF open source sò assai luntanu da esse una bona scelta per l'usu di ogni ghjornu, è i novi magazzini triple chì vogliu aduprà (cum'è AnzoGraph) sò chjusi. Piuttostu, pudemu parlà di diminuzioni...
Di sicuru, a fonte aperta ùn hè micca stata chjusa in u passatu, ma alcuni repositori open source ùn sò più veduti lentamente cum'è a pena di sceglie. Virtuoso, chì hà una edizione opensource, hè, in my opinion, affucatu in bug. Blazegraph hè statu acquistatu da AWS è hà furmatu a basa di Amazon Neptune; avà ùn hè micca chjaru se ci sarà almenu una liberazione più. Solo Jena resta...
Se a fonte aperta ùn hè micca assai impurtante, ma solu vulete pruvà, allora tuttu hè ancu menu rosy chì prima. Per esempiu:
Stardog ferma distribuisce a versione libera (in ogni modu, u periodu di prova di a versione regulare hè duppiatu);
в GraphDB Cloud, induve prima pudete sceglie un pianu di basa gratuitu, i novi registrazioni d'utilizatori sò stati sospesi.
In generale, per a persona media in l'informatica, u spaziu diventa sempre più inaccessibile; u so sviluppu hè diventatu u lottu di e corporazioni.