« SPARQL Protocol and RDF Query Language/Système d'implication » : différence entre les versions
Contenu supprimé Contenu ajouté
m Robot : Changement de type cosmétique |
m Relecture |
||
Ligne 1 :
{{Chapitre
| idfaculté = informatique
Ligne 5 ⟶ 4 :
| titre_leçon = SPARQL
| numéro = 9
| niveau =
| précédent = [[../Requêtes d'exportation/]]
}}
On a vu
Cependant, la caractéristique la plus intéressante d'un triplestore est la possibilité de mettre en œuvre un système d'implication (en anglais,
▲On a vu qu'un triplestore (ou base de données RDF) met en œuvre certaines caractéristiques qui les rendent très attractifs pour certains types d'applications. Les données ne sont plus liées à des schémas statiques car ses schémas sont contenus directement au sein des données. On insère ces données, comme on l'a vu, via des requêtes d'écriture SPARQL ou à travers des importations de sources RDF via les outils de sauvegarde et d'importation de la base de données. <br />
▲Cependant la caractéristique la plus intéressante d'un triplestore est la possibilité de mettre en œuvre un système d'implication (en anglais, the entailment regime).
Le système d'implication au sein d'un triplestore permettra deux choses :
* faire des déductions sur les [[w:inférence|inférences]] contenues dans la base de données par des agents intelligents
* détecter les [[w:implication (pragmatique)|implications]] incohérentes au sein des données, c'est-à-dire détecter les erreurs d'intégrité des données
Le système d'implication est l'équivalent de ce que l'on nomme les mécanismes d'[[w:Intégrité_(base_de_données)|intégrité]] au sein d'une base de données relationnelle. Ce chapitre va essayer de vous expliquer cette nouvelle approche, qui servira de base au développement de l'intégrité des données RDF.
== Système d'implication ==
=== Définitions ===
Les ontologies du Web sémantique, comme [[w:Resource Description Framework#Vocabulaires_RDF|le vocabulaire RDF]], [[w:RDFS|RDFS]] ou encore [[w:Web Ontology Language|OWL]] (Web Ontology Language), fournissent des éléments de base pour la définition d'
{{Définition
| titre = Un système d'implication
| contenu =
Un
* la description des implications
* les requêtes considérées comme bien formées
* les graphes
* les erreurs à
Un système d'implication est la somme des implications de RDFS, des implications de OWL, etc.
Ligne 37 ⟶ 34 :
{{remarque|contenu=
Chaque ontologie (RDF, RDFS, OWL, etc.) peut définir ses propres implications qui vont s'ajouter au système d'implication à condition que le triplestore soit implémenté pour respecter cette ontologie. Pour le moment, seules les implications RDF et RDFS commencent à être
}}
Ligne 46 ⟶ 43 :
=== Différences entre les systèmes d'implication ===
Pour illustrer les différences entre des
{|class="wikitable"
|-
Ligne 92 ⟶ 89 :
</pre>
De toute évidence, ex:dog1 est une réponse à cause du triplet (1). Intuitivement, on peut s'attendre à ce que ex:cat1 soit aussi une réponse parce qu'il est un chat (2) et tous les chats sont des animaux (3). Même ex:cat2 est un animal parce qu'il est hébergé
Cependant, sans implications RDF ou RDFS, vous n'aurez que la réponse suivante à la requête SPARQL :
{| class="wikitable"
! scope=col | animal
Ligne 101 ⟶ 98 :
|}
Ici, seul le triplet (1) répond à la condition de la requête, car un système qui n'utilise aucune implication ne procédera à aucune des étapes de raisonnement qui sont nécessaires pour trouver ex:cat1 et ex:cat2 qui sont des animaux.
{{remarque|contenu=
La majorité des triplestores n'ont aucun système d'implication, pour deux
# [http://www.w3.org/TR/2011/WD-sparql11-entailment-20110512/#bgpMatchingExtensions la recommandation] n'est pas encore arrêtée
# l'attention des développeurs est surtout
}}
==== Avec les implications de RDF ====
Les recommandations de RDF contiennent l'ontologie de base que
▲Les recommandations de RDF contiennent l'ontologie de base que devra contenir les triplestores. Par exemple avec ''rdf:type'' ou encore ''rdf:Property''. Les implications RDF permettent d'obtenir quelques inférences mais pas celles qui sont requises pour obtenir "ex:cat1 et ex:cat2 sont des animaux".
▲Par contre regarder l'exemple de requête suivante :
<source lang="sql">
SELECT ?prop
Ligne 126 ⟶ 122 :
|}
Sans implication, la requête donnerait une réponse vide, mais sous implication RDF, le triplet (5) peut servir à déduire que zoo:host est une propriété du type ex:zoo1 et ainsi servir de solution à cette requête SPARQL.
==== Avec les implications de RDFS ====
Ligne 134 ⟶ 130 :
Voici le raisonnement pour trouver :
* ex:cat1 : le triplet 3 indique que les chats sont des animaux et le triplet 2 indique que ex:cat1 est un chat donc '''ex:cat1 est un animal'''
* ex:cat2 : le triplet 4 indique que la propriété zoo:host attend uniquement des objets de type
{{remarque|contenu=
Vous remarquerez que ex:cat2 n'est pas défini comme de type chat
Voici le résultat final de la requête "qui est un animal ?" à condition que votre triplestore implémente les implications RDF et RDFS :
Ligne 151 ⟶ 147 :
== A suivre ==
La recommandation SPARQL lecture et écriture 1.1 est assez stable, bien que non encore validée, mais la partie qui concerne [http://www.w3.org/TR/sparql11-entailment/ le système d'implication dans SPARQL 1.1] est loin d'être stabilisée. La raison est qu'il faut au moins une (ou deux) version(s) implémentée(s) de la recommandation pour la valider. Le logiciel 4SR que nous utiliserons dans un TP est l'une des versions qui
Mais, même si la recommandation n'est pas stable, le concept d'implication est présent partout, donc il y a fort à parier que ce concept
De plus, les concepts d'ontologies sont très complexes à appréhender et le fait de comprendre la finalité exacte d'une ontologie permet de relativiser son utilisation. Il est souvent contre
Évidemment, cette leçon évoluera au rythme des implémentations des triplestores qui respectent les recommandations et nous irons donc au même rythme pour décrire l'utilisation des ontologies.
Ligne 166 ⟶ 162 :
| idfaculté = informatique
| précédent = [[../Requêtes d'exportation/]]
}}
|