Que se passe-t-il actuellement avec les dépôts RDF ?

Le Web sémantique et les données liées sont semblables à l'espace proche : il n'y a pas de vie là-bas. Pour y aller pour une période relativement longue... eh bien, je ne sais pas ce qu'on vous a dit dans votre enfance en réponse à « je veux devenir astronaute ». Mais vous pouvez observer ce qui se passe depuis la Terre ; devenir astronome amateur ou même professionnel est beaucoup plus simple.

Cet article traitera des tendances récentes, datant de quelques mois tout au plus, provenant du monde des entrepôts RDF. La métaphore du premier paragraphe était inspirée par une image publicitaire d'une taille épique sous le saut.


Image épique

Que se passe-t-il actuellement avec les dépôts RDF ?

I. GraphQL pour accéder à RDF

On dit, GraphQL prétend devenir un langage universel d'accès aux bases de données. Et qu'en est-il de la possibilité d'accéder à RDF en utilisant GraphQL ?

Cette possibilité est fournie « prête à l'emploi » par :

Si un entrepôt ne fournit pas cette possibilité, il faut la réaliser soi-même en écrivant un « résolveur » correspondant. C'est ce qu'ont fait, par exemple, dans le projet français DataTourisme. Ou l'on peut simplement utiliser HyperGraphQL.

D'un point de vue d'un adepte orthodoxe du Web sémantique et des données liées, tout cela est bien sûr triste, car cela semble destiné à des intégrations construites autour des nouveaux silos de données, plutôt que d'être adapté à ces plateformes (bien sûr, les entrepôts RDF).

Les impressions de la comparaison entre GraphQL et SPARQL sont partagées.

  • D'une part, GraphQL ressemble à un parent éloigné de SPARQL : il résout les problèmes typiques de suréchantillonnage et de multiplicité des requêtes propres aux REST - sans quoi, on ne pourrait probablement pas être considéré comme un langage de requêtes, même si c'est pour le web ;
  • D'autre part, la rigidité du schéma de GraphQL est décevante. Par conséquent, son « introspectibilité » semble très limitée comparée à la pleine réflexivité de RDF. Et il n'y a pas d'analogues des chemins de propriété, donc il est même difficile de comprendre pourquoi il est « Graph- ».

II. Adaptateurs MongoDB

Une tendance complémentaire à la précédente.

  • Dans Stardog maintenant peut-être - en particulier, tout sur ce même GraphQL - pour configurer la représentation des données MongoDB en graphes RDF virtuels ;
  • GraphDB a récemment commencé à d'installer insérer des fragments MongoDB dans SPARQL.

Pour parler plus largement, des adaptateurs pour les sources JSON, permettant de représenter plus ou moins « à la volée » le JSON stocké dans ces sources comme RDF, on peut également mentionner le déjà ancien SPARQL Generate, qui peut être adapté, par exemple, à Apache Jena.

En résumé des deux premières tendances, on peut dire que les bases de données RDF démontrent une pleine capacité d'intégration et de fonctionnement dans des conditions de « stockage polyglotte » (polyglot persistence). Il est cependant connu que cette dernière n'est plus à la mode depuis longtemps, et qu'elle est remplacée par la multimodalité. Comment se passe la multimodalité dans le monde des bases de données RDF ?

En bref, ça ne se passe pas. Le sujet des bases de données multimodelles mérite un article séparé; pour l'instant, on peut noter qu'il n'existe pas de bases de données multimodèles « basées » sur le modèle graphique (une variété de celui-ci peut être considérée comme RDF). Une certaine petite multimodalité — le support par les bases de données RDF d'un modèle graphique alternatif LPG — sera abordée dans le section V.

III. OLTP vs. OLAP

Cependant, Gartner lui-même écrit, que la multimodalité est une condition sine qua non, principalement pour les bases de données opérationnelles. C'est compréhensible : dans une situation de « stockage polyglotte », les principaux problèmes surgissent avec la transactionnalité.

Alors, où se trouvent les bases de données RDF sur l'échelle OLTP—OLAP ? Je répondrais ainsi : ni là, ni ici. Pour désigner ce à quoi elles sont destinées, il faut un troisième acronyme. Comme option, je proposerais OLIP — Online Intellectual Processing.

Cependant, néanmoins :

AnzoGraph . L'image de la publicité du produit basée sur celui-ci a été publiée au début de l'article. AnzoGraph se positionne comme une solution GOLAP. Que diriez-vous de SPARQL avec des fonctions de fenêtre ? —SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { … }

IV. RocksDB

Ci-dessus, il y avait déjà

un lien vers l'annonce de Stardog 7 Beta, où il était indiqué que Stardog compte utiliser comme système de stockage sous-jacent RocksDB — un stockage « clé-valeur », un fork de LevelDB par Facebook. Pourquoi est-il déjà pertinent de parler d'une certaine tendance ? Tout d'abord, selon

un article sur Wikipedia, , les bases de données RDF ne sont pas les seules à « adopter » RocksDB. Il existe des projets utilisant RocksDB comme moteur de stockage dans ArangoDB, MongoDB, MySQL et MariaDB, Cassandra.Deuxièmement, des projets en rapport avec ce thème sont réalisés sur RocksDB (c'est-à-dire, ce ne sont pas des produits).

Deuxièmement, des projets (c'est-à-dire non des produits) de la thématique correspondante sont réalisés sur RocksDB.

Par exemple, eBay utilise RocksDB dans sa plateforme pour son « graphe de connaissances ». D'ailleurs, c'est amusant de lire : le langage de requête a commencé comme un format développé en interne, mais dernièrement, il a évolué pour ressembler beaucoup plus à SPARQL. Comme dans la blague : peu importe combien de graphes de connaissances nous faisons, cela revient toujours à RDF.

Un autre exemple — le Service de requête sur l'historique de Wikidata . Avant sa création, pour obtenir des informations historiques de Wikidata, il fallait passer parMWAPI au standard Mediawiki API. Maintenant, beaucoup de choses sont possibles en pur SPARQL. « Sous le capot », il y a aussi RocksDB. Au fait, il semble que WDHQS ait été créé par une personne ayant travaillé sur l'importation de Freebase dans Google Knowledge Graph. V. Support des LPG

Je rappelle la principale différence entre les graphes LPG et les graphes RDF.

Dans les LPG, des propriétés scalaires peuvent être attachées aux instances des arêtes, tandis que dans les RDF, elles ne peuvent être attachées qu'aux « types » d'arêtes (mais pas seulement des propriétés scalaires, aussi des relations ordinaires). Cette limitation des RDF par rapport aux LPG

est surmontée par diverses techniques de modélisation. Cependant, la limitation des LPG par rapport aux RDF est plus complexe à surmonter, mais les graphes LPG ressemblent davantage aux images du manuel de Harari, c'est pourquoi les gens les apprécient. Il est clair que la tâche « de support des LPG » se divise en deux parties :

l'incorporation dans le modèle RDF de modifications permettant d'imiter les constructions LPG ;

  1. l'incorporation dans le langage de requêtes RDF de modifications permettant d'interroger les données dans ce modèle modifié, — ou la mise en œuvre de la possibilité de formuler des requêtes sur ce modèle dans des langages de requête LPG populaires.
  2. V.1. Modèle de données

Il existe plusieurs approches possibles.

V.1.1. Propriété Singleton

L'approche la plus littérale pour harmoniser RDF et LPG est probablement

propriété singleton Au lieu, par exemple, d'un prédicat:

  • :isMarriedTo on utilise les prédicats :isMarriedTo1 :isMarriedTo2, Ensuite, ces prédicats deviennent les sujets de nouveaux triplets : etc.
  • :isMarriedTo1 :since "2013-09-13"^^xsd:date La relation de ces instances de prédicats avec le prédicat commun est établie par des triplets de type etc.
  • :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type.
  • Il est évident que , mais réfléchissez, pourquoi ne pas simplement écrire:isMarriedTo1 rdf:type :isMarriedTo La tâche « de support des LPG » est résolue ici au niveau de RDFS. Cette solution nécessite d'incorporer les modifications nécessaires..

La tâche de «support de LPG» est résolue ici au niveau de RDFS. Cette solution nécessite des modifications dans le norme. Des modifications peuvent être nécessaires de la part des dépôts RDF prenant en charge l'attachement des conséquences, mais pour l'instant, la propriété Singleton peut être considérée simplement comme une autre technique de modélisation.

V.1.2. La Réification Bien Fait

Des approches moins naïves proviennent de la prise de conscience que des instances de propriétés peuvent être entièrement instanciées par des triplets. En ayant la possibilité de dire quelque chose sur les triplets, nous pourrons aussi parler des instances de propriétés.

L'approche la plus solide parmi celles-ci est RDF*, également connu sous le nom de RDR, né dans le ventre de Blazegraph. Il a été dès le début choisi par lui et AnzoGraph. La solidité de l'approche est définie par le fait que dans son cadre sont suggérés les changements appropriés dans RDF Semantics. La substance, cependant, est extrêmement simple. Dans la sérialisation Turtle RDF, on peut maintenant écrire à peu près ceci :

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

V.1.3. Autres Approches

On peut ne pas se soucier de la sémantique formelle, mais simplement considérer que les triplets ont certains identifiants qui sont, bien sûr, des URI, et composer de nouveaux triplets avec ces URI. Il ne reste plus qu'à donner accès à ces URI dans SPARQL. Ainsi de fuites Stardog.

Dans Allegrograph ont procédé par un chemin intermédiaire. Il est connu que les identifiants des triplets dans Allegrograph Il existe, mais lors de la mise en œuvre des attributs de triplet, ils ne sont pas exposés. Cependant, la sémantique formelle est encore très loin. Il est remarquable que les attributs des triplets ne sont pas des URI, et que les valeurs de ces attributs peuvent également être seulement des littéraux. Les adeptes de LPG obtiennent exactement ce qu'ils voulaient. Dans un format spécialement inventé NQX, un exemple, similaire à celui donné ci-dessus pour RDF*, ressemble à ceci :

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

V.2. Langages de Requête

En soutenant d'une manière ou d'une autre LPG au niveau du modèle, il faut permettre de faire des requêtes sur les données dans ce modèle.

  • Blazegraph pour les requêtes sur RDF* supporte SPARQL*. et GremlinUne requête SPARQL* ressemble à ceci :

 SELECT * { <> :since ?since }

  • AnzoGraph supporte également SPARQL*. et prévoit de supporter Cypher, le langage de requête de Neo4j.
  • Stardog supporte son propre extension SPARQL et encore une fois Gremlin. Pour obtenir dans SPARQL l'URI du triplet et les « métadonnées », on peut utiliser une construction semblable à celle-ci :

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

  • Allegrograph supporte également son propre extension SPARQL :

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

Au fait, GraphDB a un temps supporté Tinkerpop/Gremlin, sans supporter cependant LPG, mais cela a cessé à partir de la version 8.0 ou 8.1.

VI. Renforcement des Licences

Il n'y a eu récemment aucune avancée notable à l'intersection des ensembles « triplestore de choix » et « triplestore open source ». Les nouveaux dépôts RDF open source sont encore loin d'être une bonne option pour une utilisation quotidienne, et le code source des nouvelles bases de données RDF que l'on aimerait utiliser (comme AnzoGraph) est fermé. On peut même parler de reculs...

Bien sûr, le code source ouvert ne devient pas fermé, mais certains dépôts open source ne sont progressivement plus considérés comme des choix dignes. Virtuoso, qui a une édition open source, est, à mon avis, en proie à de nombreux bugs. Blazegraph a été acheté par AWS et a servi de base à Amazon Neptune ; il n'est désormais pas clair s'il y aura un autre lancement. Il reste juste Jena...

Cependant, si le code source ouvert n'est pas très important et que l'on souhaite simplement essayer, la situation n'est pas aussi réjouissante qu'auparavant. Par exemple :

  • Stardog arrête propose une version gratuite (bien que la période d'essai standard ait doublé) ;
  • dans GraphDB Cloud, où l'inscription de nouveaux utilisateurs pour le plan de base gratuit a été suspendue.

En général, pour l'IT moyen, l'espace devient de plus en plus inaccessible, et sa maîtrise est devenue l'apanage des entreprises.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster