Vocabulaires et ontologies§
author: | Pierre-Antoine Champin |
---|
author: | Pierre-Antoine Champin |
---|
Objectif : expliciter formellement la sémantique des vocabulaires (en conformité avec la sémantique de RDF), afin de
⊧ KB
⊧ KB
On souhaite bien sûr exprimer la sémantique des termes en utilisant RDF lui même. Il faut donc définir un méta-vocabulaire, dont la sémantique soit connue a priori.
RDF-Schema (ou RDF-S) est une recommandation du W3C publiée en même temps que RDF (1999 et révisée en 2004).
Il permet d'exprimer une hiérarchie de classes et une hiérarchie de propriétés (relations).
→ hiérarchie au sens large : treillis
Il permet aussi d'exprimer des contraintes sémantiques sur les propriétés et les classes.
⚠ contrainte sémantique ≠ contrainte d'intégrité
Le préfixe habituellement associé à ce méta-vocabulaire est rdfs:
.
La sémantique de RDF-Schema est construite sur la sémantique de RDF :
On y ajoute une interprétation spécifique des classes :
Enfin, une interprétation conforme à RDF-S doit vérifier un certain nombre de contraintes qui traduisent la sémantique propre aux termes du méta-vocabulaire.
Contrainte :
Exemple :
Contrainte :
Exemple :
⊧
Contrainte :
Exemple :
⊧
Contrainte :
Exemple :
⊧
Contrainte :
Exemple :
⊧
RDF-Schema fournit aussi des termes pour documenter un vocabulaire :
rdfs:label
permet d'associer un libellé textuel à un URI (éventuellement plusieurs, par exemple dans plusieurs langues) ;rdfs:comment
permet d'associer un commentaire textuel plus long ;rdfs:seeAlso
permet de pointer vers une autre ressource.Rien n'empèche, en RDF-S, d'avoir une classe qui soit elle même une instance d'une autre classe (méta-classe). C'est d'ailleurs de cette manière que les classes sont identifiées.
Les méta-propriétés rdfs:domain
et rdfs:range
ne servent pas à vérifier qu'un graphe serait « valide ». Il ne permettent que d'inférer des faits supplémentaires.
Comme RDF-S n'a pas de négation, ceci n'entraîne jamais d'incohérence formelle au niveau des classes et des propriétés.
→ en d'autre termes, la sémantique de RDF-S ne permet pas de détecter les incohérences (conceptuelles) que pourraient entrainer ces inférences.
OWL (Web Ontology Language) a été recommandé par le W3C en 2004, et sa version 2 en 2009.
Full | aucune contrainte, indécidable |
DL | minimum de contraintes, décidable mais très complexe |
EL | quantifications existentielles (EL++), expressivité adaptée à certains domaines (biologie) |
QL | peut s'implémenter au dessus d'un langage de requêtes (SQL) |
RL | peut s'implémenter au dessus d'un langage à base de règles (Prolog) |
OWL offre des axiomes « de haut niveau » qui visent à
OWL | LD |
---|---|
rdfs:subClassOf |
C ⊑ D |
rdf:type |
C(a) |
owl:equivalentClass |
C ⊑ D et D ⊑ C |
owl:disjointWith , owl:AllDisjointClasses |
C ⊑ ¬D |
OWL | LD |
---|---|
owl:FunctionalProperty |
⊤ ⊑ (≤ 1 r) |
owl:InverseFunctionalProperty |
⊤ ⊑ (≤ 1 r⁻) |
owl:TransitiveProperty |
r ∘ r ⊑ r |
owl:SymetricProperty |
r ⊑ r⁻ |
owl:AsymmetricProperty |
r ⊑ ¬(r⁻) |
owl:ReflexiveProperty |
⊤ ⊑ (∃ r self) |
owl:IreflexiveProperty |
⊤ ⊑ ¬(∃ r self) |
OWL | LD |
---|---|
rdfs:domain |
∃ r ⊑ C |
rdfs:range |
∃ r⁻ ⊑ C |
rdfs:subPropertyOf |
r ⊑ p |
owl:equivalentProperty |
r ⊑ p et p ⊑ r |
owl:inverseOf |
r ⊑ p⁻ et p⁻ ⊑ r |
owl:propertyDisjointWith , owl:AllDisjointProperties |
r ⊑ ¬p |
owl:propertyChainAxiom |
p ∘ q ∘ ... ⊑ r |
∃ enfant⁻ Personne ⊑ Homme ⊔ Femme