{"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\/fr\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","title":{"rendered":"Que se passe-t-il actuellement avec les d\u00e9p\u00f4ts RDF ?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Le Web s\u00e9mantique et les donn\u00e9es li\u00e9es sont semblables \u00e0 l'espace proche : il n'y a pas de vie l\u00e0-bas. Pour y aller pour une p\u00e9riode relativement longue... eh bien, je ne sais pas ce qu'on vous a dit dans votre enfance en r\u00e9ponse \u00e0 \u00ab je veux devenir astronaute \u00bb. Mais vous pouvez observer ce qui se passe depuis la Terre ; devenir astronome amateur ou m\u00eame professionnel est beaucoup plus simple.<\/p>\n<p><\/p>\n<p>Cet article traitera des tendances r\u00e9centes, datant de quelques mois tout au plus, provenant du monde des entrep\u00f4ts RDF. La m\u00e9taphore du premier paragraphe \u00e9tait inspir\u00e9e par une image publicitaire d'une taille \u00e9pique sous le saut.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<b class=\"spoiler_title\">Image \u00e9pique<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Que se passe-t-il actuellement avec les d\u00e9p\u00f4ts 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 pour acc\u00e9der \u00e0 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\/\">On dit<\/a><\/noindex>, GraphQL pr\u00e9tend devenir un langage universel d'acc\u00e8s aux bases de donn\u00e9es. Et qu'en est-il de la possibilit\u00e9 d'acc\u00e9der \u00e0 RDF en utilisant GraphQL ?<\/p>\n<p><\/p>\n<p>Cette possibilit\u00e9 est fournie \u00ab pr\u00eate \u00e0 l'emploi \u00bb par :<\/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\">documentation<\/a><\/noindex>);<\/li>\n<li>les produits de TopQuadrant (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/2018\/07\/05\/graphql-webinar\/\">webinaire<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/technology\/graphql\/\">documentation<\/a><\/noindex>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Si un entrep\u00f4t ne fournit pas cette possibilit\u00e9, il faut la r\u00e9aliser soi-m\u00eame en \u00e9crivant un \u00ab r\u00e9solveur \u00bb correspondant. C'est ce qu'ont fait, par exemple, dans le projet fran\u00e7ais <noindex><a rel=\"nofollow\" href=\"https:\/\/framagit.org\/datatourisme\/api\/tree\/master\/src\/Resolver\">DataTourisme<\/a><\/noindex>. Ou l'on peut simplement utiliser <noindex><a rel=\"nofollow\" href=\"https:\/\/www.hypergraphql.org\/\">HyperGraphQL<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>D'un point de vue d'un adepte orthodoxe du Web s\u00e9mantique et des donn\u00e9es li\u00e9es, tout cela est bien s\u00fbr triste, car cela semble destin\u00e9 \u00e0 des int\u00e9grations construites autour des nouveaux silos de donn\u00e9es, plut\u00f4t que d'\u00eatre adapt\u00e9 \u00e0 ces plateformes (bien s\u00fbr, les entrep\u00f4ts RDF).<\/p>\n<p><\/p>\n<p>Les impressions de la comparaison entre GraphQL et SPARQL sont partag\u00e9es.<\/p>\n<p><\/p>\n<ul>\n<li>D'une part, GraphQL ressemble \u00e0 un parent \u00e9loign\u00e9 de SPARQL : il r\u00e9sout les probl\u00e8mes typiques de sur\u00e9chantillonnage et de multiplicit\u00e9 des requ\u00eates propres aux REST - sans quoi, on ne pourrait probablement pas \u00eatre consid\u00e9r\u00e9 comme <em>un langage de requ\u00eates<\/em>, m\u00eame si c'est pour le web ;<\/li>\n<li>D'autre part, la rigidit\u00e9 du sch\u00e9ma de GraphQL est d\u00e9cevante. Par cons\u00e9quent, son \u00ab introspectibilit\u00e9 \u00bb semble tr\u00e8s limit\u00e9e compar\u00e9e \u00e0 la pleine r\u00e9flexivit\u00e9 de RDF. Et il n'y a pas d'analogues des chemins de propri\u00e9t\u00e9, donc il est m\u00eame difficile de comprendre pourquoi il est \u00ab Graph- \u00bb.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ii-adaptery-k-mongodb\">II. Adaptateurs MongoDB<\/h2>\n<p><\/p>\n<p>Une tendance compl\u00e9mentaire \u00e0 la pr\u00e9c\u00e9dente.<\/p>\n<p><\/p>\n<ul>\n<li>Dans Stardog maintenant <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/native-mongodb-support-is-here\/\">peut-\u00eatre<\/a><\/noindex> - en particulier, tout sur ce m\u00eame GraphQL - pour configurer la repr\u00e9sentation des donn\u00e9es MongoDB en graphes RDF virtuels ;<\/li>\n<li>GraphDB a r\u00e9cemment commenc\u00e9 \u00e0 <noindex><a rel=\"nofollow\" href=\"http:\/\/graphdb.ontotext.com\/documentation\/8.8\/standard\/integrating-graphdb-with-mongodb.html\">d'installer<\/a><\/noindex> ins\u00e9rer des fragments MongoDB dans SPARQL.<\/li>\n<\/ul>\n<p><\/p>\n<p>Pour parler plus largement, des adaptateurs pour les sources JSON, permettant de repr\u00e9senter plus ou moins \u00ab \u00e0 la vol\u00e9e \u00bb le JSON stock\u00e9 dans ces sources comme RDF, on peut \u00e9galement mentionner le d\u00e9j\u00e0 ancien <noindex><a rel=\"nofollow\" href=\"https:\/\/ci.mines-stetienne.fr\/sparql-generate\/\">SPARQL Generate<\/a><\/noindex>, qui peut \u00eatre adapt\u00e9, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sparql-generate\/sparql-generate\">par exemple<\/a><\/noindex>, \u00e0 Apache Jena.<\/p>\n<p><\/p>\n<p>En r\u00e9sum\u00e9 des deux premi\u00e8res tendances, on peut dire que les bases de donn\u00e9es RDF d\u00e9montrent une pleine capacit\u00e9 d'int\u00e9gration et de fonctionnement dans des conditions de \u00ab stockage polyglotte \u00bb (polyglot persistence). Il est cependant connu que cette derni\u00e8re n'est plus \u00e0 la mode depuis longtemps, et qu'elle est remplac\u00e9e par <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3105622\">la<\/a><\/noindex> multimodalit\u00e9. Comment se passe la multimodalit\u00e9 dans le monde des bases de donn\u00e9es RDF ?<\/p>\n<p><\/p>\n<p>En bref, \u00e7a ne se passe pas. Le sujet des bases de donn\u00e9es multimodelles m\u00e9rite un article s\u00e9par\u00e9; pour l'instant, on peut noter qu'il n'existe pas de bases de donn\u00e9es multimod\u00e8les \u00ab bas\u00e9es \u00bb sur le mod\u00e8le graphique (une vari\u00e9t\u00e9 de celui-ci peut \u00eatre consid\u00e9r\u00e9e comme RDF). Une certaine petite multimodalit\u00e9 \u2014 le support par les bases de donn\u00e9es RDF d'un mod\u00e8le graphique alternatif LPG \u2014 sera abord\u00e9e dans le <noindex><a rel=\"nofollow\" href=\"#v-podderzhka-lpg\">section V<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"iii-oltp-vs-olap\">III. OLTP vs. OLAP<\/h2>\n<p><\/p>\n<p>Cependant, Gartner lui-m\u00eame <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3467318\">\u00e9crit<\/a><\/noindex>, que la multimodalit\u00e9 est une condition sine qua non, principalement pour <em>les bases<\/em> de donn\u00e9es op\u00e9rationnelles. C'est compr\u00e9hensible : dans une situation de \u00ab stockage polyglotte \u00bb, les principaux probl\u00e8mes surgissent avec la transactionnalit\u00e9.<\/p>\n<p><\/p>\n<p>Alors, o\u00f9 se trouvent les bases de donn\u00e9es RDF sur l'\u00e9chelle OLTP\u2014OLAP ? Je r\u00e9pondrais ainsi : ni l\u00e0, ni ici. Pour d\u00e9signer ce \u00e0 quoi elles sont destin\u00e9es, il faut un troisi\u00e8me acronyme. Comme option, je proposerais <em>OLIP<\/em> \u2014  Online Intellectual Processing.<\/p>\n<p><\/p>\n<p>Cependant, n\u00e9anmoins :<\/p>\n<p><\/p>\n<ul>\n<li>les m\u00e9canismes d'int\u00e9gration r\u00e9alis\u00e9s dans GraphDB ne sont pas uniquement <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ontotext.com\/company\/news\/ontotexts-graphdb-8-8-0-enriches-the-knowledge-graph-experience\/\">destin\u00e9s<\/a><\/noindex> \u00e0 contourner les probl\u00e8mes de performance d'\u00e9criture ;<\/li>\n<li>Stardog va encore plus loin et r\u00e9\u00e9crit compl\u00e8tement <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">le moteur, de nouveau dans le but d'am\u00e9liorer la performance d'\u00e9criture.<\/a><\/noindex> Et maintenant, permettez-moi de pr\u00e9senter un nouvel acteur sur le march\u00e9, des cr\u00e9ateurs d'IBM Netezza et d'Amazon Redshift \u2014<\/li>\n<\/ul>\n<p><\/p>\n<p>AnzoGraph <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/product\/anzograph\/\">. L'image de la publicit\u00e9 du produit bas\u00e9e sur celui-ci a \u00e9t\u00e9 publi\u00e9e au d\u00e9but de l'article. AnzoGraph se positionne comme une solution GOLAP. Que diriez-vous de SPARQL avec des fonctions de fen\u00eatre ? \u2014<\/a><\/noindex>SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { \u2026 }<\/p>\n<p><\/p>\n<pre><code class=\"sql\">IV. RocksDB<\/code><\/pre>\n<p><\/p>\n<h2 id=\"iv-rocksdb\">Ci-dessus, il y avait d\u00e9j\u00e0<\/h2>\n<p><\/p>\n<p>un lien <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">vers l'annonce de Stardog 7 Beta, o\u00f9 il \u00e9tait indiqu\u00e9 que Stardog compte utiliser comme syst\u00e8me de stockage sous-jacent RocksDB \u2014 un stockage \u00ab cl\u00e9-valeur \u00bb, un fork de LevelDB par Facebook. Pourquoi est-il d\u00e9j\u00e0 pertinent de parler d'une certaine tendance ?<\/a><\/noindex> Tout d'abord, selon<\/p>\n<p><\/p>\n<p>un article sur Wikipedia, <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/RocksDB#Alternative_backend\">, les bases de donn\u00e9es RDF ne sont pas les seules \u00e0 \u00ab adopter \u00bb RocksDB. Il existe des projets utilisant RocksDB comme moteur de stockage dans ArangoDB, MongoDB, MySQL et MariaDB, Cassandra.<\/a><\/noindex>Deuxi\u00e8mement, des projets en rapport avec ce th\u00e8me sont r\u00e9alis\u00e9s sur RocksDB (c'est-\u00e0-dire, ce ne sont pas des produits).<\/p>\n<p><\/p>\n<p>Deuxi\u00e8mement, des projets (c'est-\u00e0-dire non des produits) de la th\u00e9matique correspondante sont r\u00e9alis\u00e9s sur RocksDB.<\/p>\n<p><\/p>\n<p>Par exemple, eBay utilise RocksDB dans <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eBay\/beam\">sa plateforme<\/a><\/noindex> pour son \u00ab graphe de connaissances \u00bb. D'ailleurs, c'est amusant de lire : <em>le langage de requ\u00eate a commenc\u00e9 comme un format d\u00e9velopp\u00e9 en interne, mais derni\u00e8rement, il a \u00e9volu\u00e9 pour ressembler beaucoup plus \u00e0 SPARQL<\/em>. Comme dans la blague : peu importe combien de graphes de connaissances nous faisons, cela revient toujours \u00e0 RDF.<\/p>\n<p><\/p>\n<p>Un autre exemple \u2014 le Service de requ\u00eate sur l'historique de Wikidata <noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikidata.org\/wiki\/Wikidata:History_Query_Service\">. Avant sa cr\u00e9ation, pour obtenir des informations historiques de Wikidata, il fallait passer par<\/a><\/noindex>MWAPI <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mediawiki.org\/wiki\/Wikidata_Query_Service\/User_Manual\/MWAPI\">au standard Mediawiki API. Maintenant, beaucoup de choses sont possibles en pur SPARQL. \u00ab Sous le capot \u00bb, il y a aussi RocksDB. Au fait, il semble que WDHQS ait \u00e9t\u00e9 cr\u00e9\u00e9 par une personne ayant travaill\u00e9 sur l'importation de Freebase dans Google Knowledge Graph.<\/a><\/noindex> V. Support des LPG<\/p>\n<p><\/p>\n<h2 id=\"v-podderzhka-lpg\">Je rappelle la principale diff\u00e9rence entre les graphes LPG et les graphes RDF.<\/h2>\n<p><\/p>\n<p>Dans les LPG, des propri\u00e9t\u00e9s scalaires peuvent \u00eatre attach\u00e9es aux instances des ar\u00eates, tandis que dans les RDF, elles ne peuvent \u00eatre attach\u00e9es qu'aux \u00ab types \u00bb d'ar\u00eates (mais pas seulement des propri\u00e9t\u00e9s scalaires, aussi des relations ordinaires). Cette limitation des RDF par rapport aux LPG<\/p>\n<p><\/p>\n<p>est surmont\u00e9e <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/swbp-n-aryRelations\/\">par diverses techniques de mod\u00e9lisation. Cependant, la limitation des LPG par rapport aux RDF est plus complexe \u00e0 surmonter, mais les graphes LPG ressemblent davantage aux images du manuel de Harari, c'est pourquoi les gens les appr\u00e9cient.<\/a><\/noindex> Il est clair que la t\u00e2che \u00ab de support des LPG \u00bb se divise en deux parties :<\/p>\n<p><\/p>\n<p>l'incorporation dans le mod\u00e8le RDF de modifications permettant d'imiter les constructions LPG ;<\/p>\n<p><\/p>\n<ol>\n<li>l'incorporation dans le langage de requ\u00eates RDF de modifications permettant d'interroger les donn\u00e9es dans ce mod\u00e8le modifi\u00e9, \u2014 ou la mise en \u0153uvre de la possibilit\u00e9 de formuler des requ\u00eates sur ce mod\u00e8le dans des langages de requ\u00eate LPG populaires.<\/li>\n<li>V.1. Mod\u00e8le de donn\u00e9es<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"v1--model-dannyh\">Il existe plusieurs approches possibles.<\/h3>\n<p><\/p>\n<p>V.1.1. Propri\u00e9t\u00e9 Singleton<\/p>\n<p><\/p>\n<p><strong>L'approche la plus litt\u00e9rale pour harmoniser RDF et LPG est probablement<\/strong><\/p>\n<p><\/p>\n<p>propri\u00e9t\u00e9 singleton <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC4350149\/\">Au lieu, par exemple, d'un pr\u00e9dicat<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li>:isMarriedTo <code>on utilise les pr\u00e9dicats<\/code> :isMarriedTo1 <code>:isMarriedTo2<\/code>, <code>Ensuite, ces pr\u00e9dicats deviennent les sujets de nouveaux triplets :<\/code> etc.<\/li>\n<li>:isMarriedTo1 :since \"2013-09-13\"^^xsd:date <code>:isMarriedTo1 :depuis \"2013-09-13\"^^xsd:date<\/code> etc.<\/li>\n<li>:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo <code>rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type<\/code>.<\/li>\n<li>Il est \u00e9vident que <code>, mais r\u00e9fl\u00e9chissez, pourquoi ne pas simplement \u00e9crire<\/code>:isMarriedTo1 rdf:type :isMarriedTo <code>La t\u00e2che \u00ab de support des LPG \u00bb est r\u00e9solue ici au niveau de RDFS. Cette solution n\u00e9cessite d'incorporer les modifications n\u00e9cessaires.<\/code>.<\/li>\n<\/ul>\n<p><\/p>\n<p>La t\u00e2che de \u00absupport de LPG\u00bb est r\u00e9solue ici au niveau de RDFS. Cette solution n\u00e9cessite des modifications dans le <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf-schema\/\">norme<\/a><\/noindex>. Des modifications peuvent \u00eatre n\u00e9cessaires de la part des d\u00e9p\u00f4ts RDF prenant en charge l'attachement des cons\u00e9quences, mais pour l'instant, la propri\u00e9t\u00e9 Singleton peut \u00eatre consid\u00e9r\u00e9e simplement comme une autre technique de mod\u00e9lisation.<\/p>\n<p><\/p>\n<p><strong>V.1.2. La R\u00e9ification Bien Fait<\/strong><\/p>\n<p><\/p>\n<p>Des approches moins na\u00efves proviennent de la prise de conscience que des instances de propri\u00e9t\u00e9s peuvent \u00eatre enti\u00e8rement instanci\u00e9es par des triplets. En ayant la possibilit\u00e9 de dire quelque chose sur les triplets, nous pourrons aussi parler des instances de propri\u00e9t\u00e9s.<\/p>\n<p><\/p>\n<p>L'approche la plus solide parmi celles-ci est <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1409.3288\">RDF*<\/a><\/noindex>, \u00e9galement connu sous le nom de RDR, <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">n\u00e9<\/a><\/noindex> dans le ventre de Blazegraph. Il a \u00e9t\u00e9 d\u00e8s le d\u00e9but <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">choisi<\/a><\/noindex> par lui et AnzoGraph. La solidit\u00e9 de l'approche est d\u00e9finie par le fait que dans son cadre <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1406.3399\">sont sugg\u00e9r\u00e9s<\/a><\/noindex> les changements appropri\u00e9s dans <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf11-mt\/\">RDF Semantics<\/a><\/noindex>. La substance, cependant, est extr\u00eamement simple. Dans la s\u00e9rialisation Turtle RDF, on peut maintenant \u00e9crire \u00e0 peu pr\u00e8s ceci :<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">&lt;&gt; :depuis \"2013-09-13\"^^xsd:date.<\/code><\/pre>\n<p><\/p>\n<p><strong>V.1.3. Autres Approches<\/strong><\/p>\n<p><\/p>\n<p>On peut ne pas se soucier de la s\u00e9mantique formelle, mais simplement consid\u00e9rer que les triplets ont certains identifiants qui sont, bien s\u00fbr, des URI, et composer de nouveaux triplets avec ces URI. Il ne reste plus qu'\u00e0 donner acc\u00e8s \u00e0 ces URI dans SPARQL. Ainsi <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_motivation_implementation\">de fuites<\/a><\/noindex> Stardog. <\/p>\n<p><\/p>\n<p>Dans Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html\">ont proc\u00e9d\u00e9<\/a><\/noindex> par un chemin interm\u00e9diaire. Il est connu que les identifiants des triplets dans Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-index.html\">Il existe<\/a><\/noindex>, mais lors de la mise en \u0153uvre des attributs de triplet, ils ne sont pas expos\u00e9s. Cependant, la s\u00e9mantique formelle est encore tr\u00e8s loin. Il est remarquable que les attributs des triplets ne sont pas des URI, et que les valeurs de ces attributs peuvent \u00e9galement \u00eatre seulement des litt\u00e9raux. Les adeptes de LPG obtiennent exactement ce qu'ils voulaient. Dans un format sp\u00e9cialement invent\u00e9 NQX, un exemple, similaire \u00e0 celui donn\u00e9 ci-dessus pour RDF*, ressemble \u00e0 ceci :<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">:bob :marriedTo :alice {\"depuis\" : \"2013-09-13\"}<\/code><\/pre>\n<p><\/p>\n<h3 id=\"v2-yazyki-zaprosov\">V.2. Langages de Requ\u00eate<\/h3>\n<p><\/p>\n<p>En soutenant d'une mani\u00e8re ou d'une autre LPG au niveau du mod\u00e8le, il faut permettre de faire des requ\u00eates sur les donn\u00e9es dans ce mod\u00e8le.<\/p>\n<p><\/p>\n<ul>\n<li>Blazegraph pour les requ\u00eates sur RDF* supporte <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">SPARQL*.<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blazegraph\/tinkerpop3\/blob\/master\/README.md\">Gremlin<\/a><\/noindex>Une requ\u00eate SPARQL* ressemble \u00e0 ceci :<\/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 supporte \u00e9galement <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">SPARQL*.<\/a><\/noindex> et pr\u00e9voit de supporter <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/cambridge-semantics-adds-opencypher-anzograph-2\/\">Cypher<\/a><\/noindex>, le langage de requ\u00eate de Neo4j. <\/li>\n<li>Stardog supporte son propre <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_integration_with_sparql_2\">extension<\/a><\/noindex> SPARQL et <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_example_2\">encore une fois<\/a><\/noindex> Gremlin. Pour obtenir dans SPARQL l'URI du triplet et les \u00ab m\u00e9tadonn\u00e9es \u00bb, on peut utiliser une construction semblable \u00e0 celle-ci :<\/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>Allegrograph supporte \u00e9galement son propre <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html#Querying-Attributes-using-SPARQL\">extension<\/a><\/noindex> SPARQL :<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { (\"depuis\" ?since)  franz:attributesNameValue  (:bob :marriedTo ?wife) }<\/code><\/pre>\n<p><\/p>\n<p>Au fait, GraphDB a un temps support\u00e9 Tinkerpop\/Gremlin, sans supporter cependant LPG, mais cela a cess\u00e9 \u00e0 partir de la version 8.0 ou 8.1.<\/p>\n<p><\/p>\n<h2 id=\"vi-uzhestochenie-licenziy\">VI. Renforcement des Licences<\/h2>\n<p><\/p>\n<p>Il n'y a eu r\u00e9cemment aucune avanc\u00e9e notable \u00e0 l'intersection des ensembles \u00ab triplestore de choix \u00bb et \u00ab triplestore open source \u00bb. Les nouveaux d\u00e9p\u00f4ts RDF open source sont encore loin d'\u00eatre une bonne option pour une utilisation quotidienne, et le code source des nouvelles bases de donn\u00e9es RDF que l'on aimerait utiliser (comme AnzoGraph) est ferm\u00e9. On peut m\u00eame parler de reculs...<\/p>\n<p><\/p>\n<p>Bien s\u00fbr, le code source ouvert ne devient pas ferm\u00e9, mais certains d\u00e9p\u00f4ts open source ne sont progressivement plus consid\u00e9r\u00e9s comme des choix dignes. Virtuoso, qui a une \u00e9dition open source, est, \u00e0 mon avis, en proie \u00e0 de nombreux bugs. Blazegraph a \u00e9t\u00e9 achet\u00e9 par AWS et a servi de base \u00e0 Amazon Neptune ; il n'est d\u00e9sormais pas clair s'il y aura un autre lancement. Il reste juste Jena...<\/p>\n<p><\/p>\n<p>Cependant, si le code source ouvert n'est pas tr\u00e8s important et que l'on souhaite simplement essayer, la situation n'est pas aussi r\u00e9jouissante qu'auparavant. Par exemple :<\/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\">arr\u00eate<\/a><\/noindex> propose une version gratuite (bien que la p\u00e9riode d'essai standard ait doubl\u00e9) ;<\/li>\n<li>dans <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.ontotext.com\/\">GraphDB Cloud<\/a><\/noindex>, o\u00f9 l'inscription de nouveaux utilisateurs pour le plan de base gratuit a \u00e9t\u00e9 suspendue.<\/li>\n<\/ul>\n<p><\/p>\n<p>En g\u00e9n\u00e9ral, pour l'IT moyen, l'espace devient de plus en plus inaccessible, et sa ma\u00eetrise est devenue l'apanage des entreprises.<\/p>\n<p>Source : <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.2 - 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\/fr\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47Que se passe-t-il actuellement avec les RDF triplestores ? | ProHoster","description":"Le Web s\u00e9mantique et les donn\u00e9es li\u00e9es ressemblent \u00e0 l'espace proche : il n\u2019y a pas de vie l\u00e0-bas. Pour y rester un certain temps... eh bien, je ne sais pas ce qu'on vous a dit dans votre enfance en r\u00e9ponse \u00e0 \u00ab je veux devenir cosmonaute \u00bb.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/33363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=33363"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/33363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/25082"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=33363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=33363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=33363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}