Vocabulaires et méta-vocabulaires¶§
Vocabulaires¶§
Quelques vocabulaires utiles¶§
Dublin Core¶§
Méta-données à propos des documents :
- titre, résumé...
- créateur, contributeur...
- date de création, de dernière modification, versions...
description: | http://lov.okfn.org/dataset/lov/details/vocabulary_dcterms.html |
---|---|
homepage: | http://purl.org/dc/terms/ |
FOAF: Friend of a friend¶§
Description de personnes et de leur réseau social
- Personne (nom, prénom, page weg, adresse e-mail, connaissance...)
- Groupe (membres...)
- Document (a pour sujet...), Image (représente...)
description: | http://lov.okfn.org/dataset/lov/details/vocabulary_foaf.html |
---|---|
homepage: | http://www.foaf-project.org/ |
SIOC: Semantically-Interlinked Online Communities¶§
Description de communautés en ligne
- Forum, Blog, Wiki...
- Article, Commentaire...
description: | http://lov.okfn.org/dataset/lov/details/vocabulary_sioc.html |
---|---|
homepage: | http://rdfs.org/sioc/spec/ |
WGS84: Word Geodetic System¶§
Coordonnées géographiques
- SpatialThing, Point
- lattitue, longitude, altitude
description: | http://lov.okfn.org/dataset/lov/details/vocabulary_geo.html |
---|---|
homepage: | (rdf) http://www.w3.org/2003/01/geo/wgs84_pos |
GoodRelations¶§
e-commerce
- Produit et Service, Offre...
- quantité, prix, garantie...
description: | http://lov.okfn.org/dataset/lov/details/vocabulary_gr.html |
---|---|
homepage: | http://purl.org/goodrelations/v1 |
Schema.org¶§
Vocabulaire généraliste
- destiné à améliorer l’indexation des pages par les moteurs de recherche
description: | http://lov.okfn.org/dataset/lov/details/vocabulary_schema.html |
---|---|
homepage: | http://schema.org/ |
Méta-vocabulaires¶§
Motivation¶§
Découverte de la sémantique d’un terme (IRI) en le déréférençant.
Exemple : http://dbpedia.org/resource/James_Bond
:James_Bond
a dbo:FictionalCharacter ;
dbo:creator :Ian_Fleming .
Ce principe s’applique également aux classes (e.g. dbo:FictionalCharacter
)
et aux prédicats (e.g. dbo:creator
).
Problème¶§
Syndrome du dictionnaire : il faut pouvoir s’« arrêter » sur des termes connus.
Nécessité d’un vocabulaire (ensemble de termes) permettant de décrire d’autres vocabulaires : méta-vocabulaires.
Analogie : XML-Schema est un vocabulaire XML dont la sémantique est connue a priori, et qui permet d’exprimer la structure de nouveaux vocabulaires.
Objectif¶§
Expliciter formellement la sémantique des vocabulaires (en conformité avec la sémantique de RDF), afin de
- limiter les problèmes d’ambigüité sur les termes
- permettre leur découverte dynamique
- relations sémantiques internes
- assurer l’interopérabilité
- relations sémantiques avec d’autres vocabulaires
RDF-Schema¶§
Présentation¶§
RDF-Schema (ou RDF-S) est une recommandation du W3C publiée en même temps que RDF (1999, révisée en 2004 et 2014).
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é
Espaces de noms et préfixes¶§
Suite à des circonvolutions historiques, le vocabulaire RDF-Schema utilise deux espaces de nom, associés respectivement aux préfixes suivants :
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
rdfs:subClassOf¶§
rdfs:subClassOf
indique une relation une spécialisation entre classes
(« est une sorte de », ou « tous les X sont des Y »).
Exemple :
⊧
rdfs:subPropertyOf¶§
rdfs:subPropertyOf
indique une relation une spécialisation entre propriétés
(« est une sorte de »).
Exemple :
⊧
rdfs:domain¶§
Indique qu’une propriété porte nécéssairement sur les instance d’une classe.
Exemple :
⊧
rdfs:range¶§
Indique qu’une propriété a nécéssairement pour valeur les instance d’une classe.
Exemple :
⊧
Documentation¶§
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.
Méta-modélisation¶§
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.
Contrainte sémantique ≠ contraintes d’intégrit鶧
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.
→ 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¶§
Présentation¶§
OWL (Web Ontology Language) a été recommandé par le W3C en 2004, et sa version 2 en 2009.
- C’est un méta-vocabulaire (comme RDF-S) inspiré des logiques de descriptions avec valeurs concrètes (littéraux).
- C’est un surensemble de RDF-S, ajoutant notamment la possibilité d’exprimer des négations.
- Il définit plusieurs profils offrant des compromis différents en terme d’expressivité et de complexité.
- Il mime les capacités de méta-modélisation de RDF-S (punning).
Profils OWL 2¶§
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 (Datalog) |
Relations entre individus¶§
owl:sameAs
owl:differentFrom
owl:AllDifferent
owl:NegativePropertyAssertion
Types de propriét鶧
owl:ObjectProperty
owl:DatatypeProperty
owl:FunctionalProperty
owl:InverseFunctionalProperty
owl:TransitiveProperty
owl:SymetricProperty
owl:AsymmetricProperty
owl:ReflexiveProperty
owl:IreflexiveProperty
Relations entre propriétés¶§
owl:equivalentProperty
owl:inverseOf
owl:propertyDisjointWith
owl:AllDisjointProperties
owl:propertyChainAxiom
Restrictions¶§
Une restriction OWL est une classe définie en intension, selon une contrainte sur une propriété p de ses instances :
- au moins une valeur de p est de la classe C,
- toutes les valeurs de p sont de la classe C,
- il y a au moins / au plus / exactement n valeurs de p (ayant la classe C)