{"id":33363,"date":"2019-10-31T21:52:11","date_gmt":"2019-10-31T18:52:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/chto-sejchas-proishodit-s-rdf-hranilishhami\/"},"modified":"2019-10-31T21:52:11","modified_gmt":"2019-10-31T18:52:11","slug":"chto-sejchas-proishodit-s-rdf-hranilishhami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","title":{"rendered":"Cosa sta succedendo attualmente con gli archivi RDF?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Il Semantic Web e i Linked Data sono simili allo spazio vicino: non ci sono vite. Per andarci per un periodo di tempo pi\u00f9 o meno lungo\u2026 beh, non so cosa vi dicessero da bambini quando dicevate \u00abvoglio diventare un astronauta\u00bb. Ma si pu\u00f2 osservare ci\u00f2 che accade anche restando sulla Terra; diventare un astronomo dilettante o addirittura professionista \u00e8 molto pi\u00f9 semplice.<\/p>\n<p><\/p>\n<p>L'articolo parler\u00e0 delle tendenze recenti, non pi\u00f9 vecchie di pochi mesi, dal mondo dei repository RDF. La metafora nel primo paragrafo \u00e8 stata ispirata da un'immagine pubblicitaria di dimensioni epiche sotto il tag.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<b class=\"spoiler_title\">Immagine epica<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Cosa sta succedendo attualmente con gli archivi RDF?\" src=\"\/wp-content\/uploads\/2019\/05\/3d157fb2f771f3dc622dacc8dab0a9ee.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h2 id=\"i-graphql-dlya-dostupa-k-rdf\">I. GraphQL per l'accesso a RDF<\/h2>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.zdnet.com\/article\/graphql-for-databases-a-layer-for-universal-database-access\/\">Si dice<\/a><\/noindex>, che GraphQL aspira a diventare il linguaggio universale per accedere ai database. E come stanno le cose riguardo all'accesso tramite GraphQL a RDF?<\/p>\n<p><\/p>\n<p>\u00abDi default\u00bb questa possibilit\u00e0 \u00e8 fornita da:<\/p>\n<p><\/p>\n<ul>\n<li>Stardog (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/graphql-and-paths\/\">blog<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_executing_graphql_queries\">documentazione<\/a><\/noindex>);<\/li>\n<li>prodotti TopQuadrant (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/2018\/07\/05\/graphql-webinar\/\">webinar<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/technology\/graphql\/\">documentazione<\/a><\/noindex>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Se il repository non fornisce questa possibilit\u00e0, la si implementa autonomamente scrivendo un \u00abrisolutore\u00bb corrispondente. Cos\u00ec hanno fatto, ad esempio, nel progetto francese <noindex><a rel=\"nofollow\" href=\"https:\/\/framagit.org\/datatourisme\/api\/tree\/master\/src\/Resolver\">DataTourisme<\/a><\/noindex>. Oppure si pu\u00f2 gi\u00e0 fare senza scrivere nulla, semplicemente usando <noindex><a rel=\"nofollow\" href=\"https:\/\/www.hypergraphql.org\/\">HyperGraphQL<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Dal punto di vista di un ortodosso sostenitore del Semantic Web e dei Linked Data, tutto ci\u00f2 \u00e8, naturalmente, triste, poich\u00e9 sembra destinato a integrazioni costruite attorno a ulteriori silo di dati, piuttosto che adatte a piattaforme (ovviamente, repository RDF).<\/p>\n<p><\/p>\n<p>Le impressioni dal confronto tra GraphQL e SPARQL rimangono ambivalenti.<\/p>\n<p><\/p>\n<ul>\n<li>Da un lato, GraphQL appare come un lontano parente di SPARQL: affronta i problemi caratteristici del REST di sovraccarico e molteplicit\u00e0 delle query \u2014 senza i quali, probabilmente, non si potrebbe nemmeno considerare <em>un linguaggio di query<\/em>, almeno per il web;<\/li>\n<li>Dall'altro lato, la rigidit\u00e0 dello schema di GraphQL \u00e8 deludente. Di conseguenza, la sua \u00abintrospezione\u00bb sembra molto limitata rispetto alla completa riflessivit\u00e0 di RDF. E non c'\u00e8 alcun equivalente dei property path, quindi non \u00e8 nemmeno chiaro perch\u00e9 sia denominato \u00abGraph-\u00bb.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ii-adaptery-k-mongodb\">II. Adattatori per MongoDB<\/h2>\n<p><\/p>\n<p>Una tendenza complementare alla precedente.<\/p>\n<p><\/p>\n<ul>\n<li>In Stardog ora <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/native-mongodb-support-is-here\/\">\u00e8 possibile<\/a><\/noindex> \u2014 in particolare, sempre su GraphQL \u2014 si pu\u00f2 configurare la mappatura dei dati MongoDB in grafi RDF virtuali;<\/li>\n<li>GraphDB recentemente <noindex><a rel=\"nofollow\" href=\"http:\/\/graphdb.ontotext.com\/documentation\/8.8\/standard\/integrating-graphdb-with-mongodb.html\">consente<\/a><\/noindex> ha iniziato a inserire frammenti di MongoDB Query in SPARQL.<\/li>\n<\/ul>\n<p><\/p>\n<p>Se parliamo di pi\u00f9 in generale, degli adattatori per fonti JSON, che consentono di presentare pi\u00f9 o meno \u00abal volo\u00bb il JSON memorizzato in queste fonti come RDF, possiamo ricordare anche il gi\u00e0 esistente <noindex><a rel=\"nofollow\" href=\"https:\/\/ci.mines-stetienne.fr\/sparql-generate\/\">SPARQL Generate<\/a><\/noindex>, che si pu\u00f2 implementare, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sparql-generate\/sparql-generate\">ad esempio<\/a><\/noindex>, a Apache Jena.<\/p>\n<p><\/p>\n<p>Riassumendo i primi due trend, si pu\u00f2 dire che i repository RDF dimostrano una piena prontezza per integrazioni e funzionamento in condizioni di \"storage polimorfico\" (polyglot persistence). \u00c8 noto, per\u00f2, che quest'ultimo non \u00e8 pi\u00f9 di moda e sta per essere sostituito <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3105622\">da<\/a><\/noindex> multimodalit\u00e0. E come stanno le cose con la multimodalit\u00e0 nel mondo dei repository RDF?<\/p>\n<p><\/p>\n<p>In breve, non bene. La questione dei DBMS multimodali meriterebbe un articolo a parte, ma si pu\u00f2 notare che attualmente non esistono DBMS multimodali \"basati\" sul modello a grafo (una sua variante pu\u00f2 essere considerata l'RDF). Di una certa piccola multimodalit\u00e0 \u2014 il supporto da parte dei repository RDF di un modello a grafo alternativo come l'LPG \u2014 si parler\u00e0 nel <noindex><a rel=\"nofollow\" href=\"#v-podderzhka-lpg\">capitolo V<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"iii-oltp-vs-olap\">III. OLTP vs. OLAP<\/h2>\n<p><\/p>\n<p>Tuttavia, lo stesso Gartner <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3467318\">scrive<\/a><\/noindex>, afferma che la multimodalit\u00e0 \u00e8 una condizione sine qua non principalmente per <em>DBMS operazionali.<\/em> \u00c8 comprensibile: nel contesto dello \"storage polimorfico\", i principali problemi sorgono con la transazionalit\u00e0.<\/p>\n<p><\/p>\n<p>Ma dove si collocano i repository RDF sulla scala OLTP\u2014OLAP? Risponderei cos\u00ec: n\u00e9 da una parte n\u00e9 dall'altra. Per descrivere a cosa sono destinati, \u00e8 necessaria un'altra abbreviazione. Come opzione suggerirei <em>OLIP<\/em> \u2014 Online Intellectual Processing.<\/p>\n<p><\/p>\n<p>Tuttavia, ancora:<\/p>\n<p><\/p>\n<ul>\n<li>i meccanismi di integrazione realizzati in GraphDB sono progettati, non in ultima analisi, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ontotext.com\/company\/news\/ontotexts-graphdb-8-8-0-enriches-the-knowledge-graph-experience\/\">per evitare problemi di prestazioni in scrittura;<\/a><\/noindex> Stardog va ancora oltre e riscrive completamente<\/li>\n<li>il motore, ancora una volta con l'obiettivo di migliorare le prestazioni in scrittura. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">E ora permettetemi di presentarvi un nuovo attore sul mercato. Dalla creatrice di IBM Netezza e Amazon Redshift \u2014<\/a><\/noindex> AnzoGraph<\/li>\n<\/ul>\n<p><\/p>\n<p>. L'immagine della pubblicit\u00e0 del prodotto basato su di esso \u00e8 stata pubblicata all'inizio dell'articolo. AnzoGraph si propone come soluzione GOLAP. Cosa ne pensate di SPARQL con funzioni finestra? \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/product\/anzograph\/\">SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE {  \u2026  }<\/a><\/noindex>IV. RocksDB<\/p>\n<p><\/p>\n<pre><code class=\"sql\">In precedenza \u00e8 stato fatto<\/code><\/pre>\n<p><\/p>\n<h2 id=\"iv-rocksdb\">un riferimento<\/h2>\n<p><\/p>\n<p>all'annuncio di Stardog 7 Beta, dove si affermava che Stardog intende utilizzare come sistema di archiviazione sottostante RocksDB \u2014 un repository \"chiave-valore\", fork di LevelDB di Google. Perch\u00e9 si pu\u00f2 gi\u00e0 parlare di una certa tendenza? <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">Innanzitutto, stando a<\/a><\/noindex> un articolo su Wikipedia,<\/p>\n<p><\/p>\n<p>non solo i repository RDF stanno \"migrando\" a RocksDB. Ci sono progetti per utilizzare RocksDB come motore di archiviazione in ArangoDB, MongoDB, MySQL e MariaDB, Cassandra. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/RocksDB#Alternative_backend\">In secondo luogo, ci sono progetti (cio\u00e8 non prodotti) correlati a RocksDB.<\/a><\/noindex>In secondo luogo, su RocksDB si stanno sviluppando progetti (cio\u00e8 non prodotti) di tema corrispondente.<\/p>\n<p><\/p>\n<p>In secondo luogo, su RocksDB si realizzano progetti (cio\u00e8 non prodotti) di tema specifico.<\/p>\n<p><\/p>\n<p>Ad esempio, eBay utilizza RocksDB nella <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eBay\/beam\">piattaforma<\/a><\/noindex> per il suo \"grafo della conoscenza\". A proposito, \u00e8 divertente leggere: <em>il linguaggio di query \u00e8 iniziato come un formato sviluppato internamente, ma recentemente sta passando a qualcosa di molto simile a SPARQL.<\/em>. Come nella barzelletta: non importa quanto facciamo un knowledge graph, viene sempre fuori un RDF.<\/p>\n<p><\/p>\n<p>Un altro esempio \u00e8 quello apparso qualche mese fa <noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikidata.org\/wiki\/Wikidata:History_Query_Service\">Wikidata History Query Service<\/a><\/noindex>. Prima della sua apparizione, per ottenere informazioni storiche da Wikidata si doveva ricorrere a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mediawiki.org\/wiki\/Wikidata_Query_Service\/User_Manual\/MWAPI\">MWAPI<\/a><\/noindex> attraverso l'API standard di Mediawiki. Ora \u00e8 possibile fare molto con puro SPARQL. \"Sotto il cofano\", c'\u00e8 anche RocksDB. A proposito, sembra che WDHQS sia stato fatto da una persona che si \u00e8 occupata dell'importazione di Freebase nel Google Knowledge Graph.<\/p>\n<p><\/p>\n<h2 id=\"v-podderzhka-lpg\">V. Supporto per LPG<\/h2>\n<p><\/p>\n<p>Ricordo la principale differenza tra i grafi LPG e i grafi RDF.<\/p>\n<p><\/p>\n<p>Nei grafi LPG, le istanze degli archi possono avere propriet\u00e0 scalari, mentre nei grafi RDF possono essere associate solo a \"tipi\" di archi (anche se non solo propriet\u00e0 scalari, ma anche relazioni ordinarie). Questa limitazione di RDF rispetto a LPG <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/swbp-n-aryRelations\/\">viene superata<\/a><\/noindex> da varie tecniche di modellazione. La limitazione di LPG rispetto a RDF \u00e8 pi\u00f9 difficile da superare, ma i grafi LPG sono pi\u00f9 simili alle immagini del manuale di Harari, perci\u00f2 le persone li desiderano.<\/p>\n<p><\/p>\n<p>\u00c8 evidente che il compito di \"supporto per LPG\" si divide in due parti:<\/p>\n<p><\/p>\n<ol>\n<li>l'inserimento nel modello RDF di modifiche che permettano di simulare le strutture LPG;<\/li>\n<li>l'introduzione di modifiche nel linguaggio delle query RDF che consentano di interrogare i dati in questo modello modificato, oppure l'implementazione della possibilit\u00e0 di fare query su questo modello in linguaggi di query popolari per LPG.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"v1--model-dannyh\">V.1. Modello dati<\/h3>\n<p><\/p>\n<p>Qui ci sono diversi approcci possibili.<\/p>\n<p><\/p>\n<p><strong>V.1.1. Singleton Property<\/strong><\/p>\n<p><\/p>\n<p>Il modo pi\u00f9 letterale di armonizzare RDF e LPG \u00e8 probabilmente <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC4350149\/\">singleton property<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li>Invece, ad esempio, del predicato <code>:isMarriedTo<\/code> vengono utilizzati i predicati <code>:isMarriedTo1<\/code>, <code>:isMarriedTo2<\/code> ecc.<\/li>\n<li>Poi questi predicati diventano soggetti di nuovi triplet: <code>:isMarriedTo1 :dal &quot;2013-09-13&quot;^^xsd:date<\/code> e simili.<\/li>\n<li>Il collegamento di queste istanze di predicati con il predicato comune \u00e8 stabilito da triplet di tipo <code>:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo<\/code>.<\/li>\n<li>\u00c8 ovvio che <code>rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type<\/code>, ma pensate a perch\u00e9 non sarebbe opportuno scrivere semplicemente <code>:isMarriedTo1 rdf:type :isMarriedTo.<\/code>.<\/li>\n<\/ul>\n<p><\/p>\n<p>Il compito di \"supporto per LPG\" viene affrontato qui a livello di RDFS. Questa soluzione richiede modifiche nel <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf-schema\/\">standard.<\/a><\/noindex>. Potrebbero essere necessari alcuni cambiamenti ai repository RDF che supportano l'adesione delle conseguenze, mentre la Singleton Property pu\u00f2 essere considerata semplicemente come un'altra tecnica di modellazione.<\/p>\n<p><\/p>\n<p><strong>V.1.2. Reificazione Fatta Bene<\/strong><\/p>\n<p><\/p>\n<p>Approcci meno ingenui derivano dalla consapevolezza che le istanze delle propriet\u00e0 possono essere istanziate da triplette. Avendo la possibilit\u00e0 di dire qualcosa sulle triple, possiamo anche parlare delle istanze delle propriet\u00e0.<\/p>\n<p><\/p>\n<p>Il pi\u00f9 solido di questi approcci \u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1409.3288\">RDF*<\/a><\/noindex>, noto anche come RDR, <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">nato<\/a><\/noindex> dalle profondit\u00e0 di Blazegraph. Fin dall'inizio <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">\u00e8 stato scelto<\/a><\/noindex> da AnzoGraph. La solidit\u00e0 dell'approccio \u00e8 determinata dal fatto che al suo interno <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1406.3399\">vengono suggeriti<\/a><\/noindex> ci sono cambiamenti corrispondenti in <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf11-mt\/\">RDF Semantics.<\/a><\/noindex>La sostanza, per\u00f2, \u00e8 estremamente semplice. Nella serializzazione Turtle di RDF, ora si pu\u00f2 scrivere in questo modo:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">&lt;&lt;:bob :isMarriedTo :alice&gt;&gt; :dal &quot;2013-09-13&quot;^^xsd:date .<\/code><\/pre>\n<p><\/p>\n<p><strong>V.1.3. Altri Approcci<\/strong><\/p>\n<p><\/p>\n<p>Non \u00e8 necessario preoccuparsi della semantica formale, si pu\u00f2 semplicemente considerare che le triple hanno alcuni identificatori, che sono ovviamente URI, e comporre nuove triple con questi URI. Resta solo da fornire accesso a questi URI in SPARQL. Cos\u00ec <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_motivation_implementation\">fa<\/a><\/noindex> Stardog. <\/p>\n<p><\/p>\n<p>In Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html\">hanno seguito<\/a><\/noindex> un percorso intermedio. \u00c8 noto che gli identificatori delle triple in Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-index.html\">c'\u00e8<\/a><\/noindex>, ma quando si implementano gli attributi delle triple, non emergono. Tuttavia, siamo ancora molto lontani dalla semantica formale. \u00c8 interessante notare che gli attributi delle triple non sono URI, e i valori di questi attributi possono essere solo letterali. I sostenitori di LPG ottengono esattamente ci\u00f2 che desideravano. In un formato NQX appositamente inventato, un esempio analogo a quello sopra per RDF* appare cos\u00ec:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">:bob :marriedTo :alice {&quot;dal&quot; : &quot;2013-09-13&quot;}<\/code><\/pre>\n<p><\/p>\n<h3 id=\"v2-yazyki-zaprosov\">V.2. Linguaggi di Richiesta<\/h3>\n<p><\/p>\n<p>Dopo aver supportato LPG in un modo o nell'altro a livello di modello, \u00e8 necessario consentire di effettuare richieste ai dati in tale modello.<\/p>\n<p><\/p>\n<ul>\n<li>Blazegraph per le richieste a RDF* supporta <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">SPARQL*<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blazegraph\/tinkerpop3\/blob\/master\/README.md\">Gremlin.<\/a><\/noindex>Una richiesta in SPARQL* appare cos\u00ec:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { &lt;&gt; :since ?since }<\/code><\/pre>\n<p><\/p>\n<ul>\n<li>AnzoGraph supporta anche <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">SPARQL*<\/a><\/noindex> e intende supportare <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/cambridge-semantics-adds-opencypher-anzograph-2\/\">Cypher<\/a><\/noindex>, il linguaggio di richiesta in Neo4j. <\/li>\n<li>Stardog supporta il proprio <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_integration_with_sparql_2\">un'estensione<\/a><\/noindex> SPARQL e <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_example_2\">ancora una volta<\/a><\/noindex> Gremlin. Per ottenere in SPARQL l'URI della tripletta e la \"meta-informazione\" \u00e8 possibile utilizzare una costruzione simile a questa:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\">SELECT * {\n    BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)\n    ?id :since ?since\n}<\/code><\/pre>\n<p><\/p>\n<ul>\n<li>Anche Allegrograph supporta il proprio <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html#Querying-Attributes-using-SPARQL\">un'estensione<\/a><\/noindex> SPARQL:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { (&quot;dal&quot; ?since)  franz:attributesNameValue  ( :bob :marriedTo ?wife ) }<\/code><\/pre>\n<p><\/p>\n<p>A proposito, GraphDB per un periodo ha supportato Tinkerpop\/Gremlin, senza supportare LPG, ma nella versione 8.0 o 8.1 \u00e8 stato interrotto.<\/p>\n<p><\/p>\n<h2 id=\"vi-uzhestochenie-licenziy\">VI. Inasprimento delle licenze<\/h2>\n<p><\/p>\n<p>Non ci sono stati recenti aumenti nell'intersezione dei set di dati \u00abtriplestore of choice\u00bb e \u00abopen source triplestore\u00bb. I nuovi RDF store open source sono ancora lontani dall'essere una buona scelta per l'uso quotidiano, e il codice sorgente dei nuovi RDF store che vorremmo utilizzare (come AnzoGraph) \u00e8 chiuso. Si pu\u00f2 addirittura parlare di riduzioni\u2026<\/p>\n<p><\/p>\n<p>Certo, il codice sorgente aperto non si chiude improvvisamente, ma alcuni repository open source stanno gradualmente smettendo di essere considerati scelte valide. Virtuoso, che ha una versione opensource, a mio avviso, \u00e8 in difficolt\u00e0 a causa dei bug. Blazegraph \u00e8 stato acquistato da AWS ed \u00e8 alla base di Amazon Neptune; ora non \u00e8 chiaro se ci sar\u00e0 un altro rilascio. Rimane solo Jena\u2026<\/p>\n<p><\/p>\n<p>Se il codice sorgente aperto non \u00e8 cos\u00ec importante e si desidera semplicemente provare, la situazione \u00e8 meno rosea rispetto a prima. Ad esempio:<\/p>\n<p><\/p>\n<ul>\n<li>Stardog <noindex><a rel=\"nofollow\" href=\"https:\/\/community.stardog.com\/t\/update-to-enterprise-and-community-trials\/1533\">ha smesso di<\/a><\/noindex> distribuire la versione gratuita (tuttavia, il periodo di prova standard \u00e8 raddoppiato);<\/li>\n<li>in <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.ontotext.com\/\">GraphDB Cloud<\/a><\/noindex>, dove prima era possibile scegliere un piano base gratuito, ha sospeso la registrazione di nuovi utenti.<\/li>\n<\/ul>\n<p><\/p>\n<p>In generale, per l'utente IT medio, lo spazio diventa sempre pi\u00f9 inaccessibile, e la sua esplorazione \u00e8 riservata alle aziende.<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/451206\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430\u00a0\u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb. \u041d\u043e \u043f\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0441\u044c \u043d\u0430 \u0417\u0435\u043c\u043b\u0435; \u0441\u0442\u0430\u0442\u044c \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u043e\u043c-\u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u043c \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u043e\u043c \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u043e\u0449\u0435. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0441\u0432\u0435\u0436\u0438\u0445, \u043d\u0435 \u0441\u0442\u0430\u0440\u0435\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25082,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 RDF-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u043c\u0438? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:52:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cosa sta succedendo ora con i repository RDF? | ProHoster","description":"Il Semantic Web e i Linked Data sono simili allo spazio vicino: non c'\u00e8 vita. Per avventurarsi l\u00ec per un periodo ragionevole\u2026 beh, non so cosa vi dicessero da bambini in risposta a \u00abvoglio diventare un astronauta\u00bb.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 RDF-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u043c\u0438? | ProHoster","og:description":"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:52:11+00:00","article:modified_time":"2019-10-31T18:52:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33363","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 14:56:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:42:22","updated":"2026-01-21 14:56:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/33363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=33363"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/33363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/25082"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=33363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=33363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=33363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}