Systèmes Intelligents – M2- BD-IA1 Protégé-OWL Tutorial 8 th International Protégé Conférence Madrid, July 2005 Nick Drummond, Matthew Horridge, University of Manchester Holger Knublauch University of Manchester, University of Standford
Systèmes Intelligents – M2- BD-IA2 Protégé-OWL Tutorial Plan Introduction RDF et OWL Lite OWL-DL Classes et propriétés Classes définies Raisonnement OWL-Full Compléments
Systèmes Intelligents – M2- BD-IA3 Protégé-OWL Tutorial Le Web sémantique Plate-forme pour le partage de la représentation de domaines / d’ontologies de domaines Modélisés par les hommes Compréhensibles par les machines Les langages standard du W3C XML, RDF, OWL..SWRL Semantic Web Rule Language : langage qui combine OWL et RuleML qui est un langage à base de règles
Systèmes Intelligents – M2- BD-IA4 Protégé-OWL Tutorial RDF (S) Langage de représentation simple pour représenter un domaine Description de ressources et de liens entre ces ressources Classes, Propriétés, individus (instances)
Systèmes Intelligents – M2- BD-IA5 Protégé-OWL Tutorial Interface Interface Utilisateur
Systèmes Intelligents – M2- BD-IA6 Protégé-OWL Tutorial Interface Interface Utilisateur
Systèmes Intelligents – M2- BD-IA7 Protégé-OWL Tutorial Interface Interface Utilisateur
Systèmes Intelligents – M2- BD-IA8 Protégé-OWL Tutorial Sauvegarde (projet .pprj, fichier .owl) <rdf:RDF xmlns:rdf=" …. <rdfs:comment rdf:datatype=" >The number of people living in a given Area. …
Systèmes Intelligents – M2- BD-IA9 Protégé-OWL Tutorial Limitations RDF ne permet d’exprimer certaines contraintes comme : Chaque « country » doit avoir au moins une « city » Chaque « country » ne peut pas avoir une propriété « hasPart » dans « country ». Il y a au plus une valeur pour la propriété « hasPopulation » Etc …
Systèmes Intelligents – M2- BD-IA10 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Classes/Sous-classes Création d’une hiérarchie de classes qui décrivent les « ingrédients » d’une pizza PizzaTopping CheeseTopping MozarellaTopping
Systèmes Intelligents – M2- BD-IA11 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Classes/Sous-classes Création d’une hiérarchie de classes pour des pizzas « spécifiques » NamedPizza MargueritaPizza AmericanaPizza SpicyBeefPizza …
Systèmes Intelligents – M2- BD-IA12 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Héritage multiple Création d’une classe nommée : « MeatyVegetable » Comme sous-classe de VegetableTopping Et de MeatTopping en ajoutant une 2ème classe parent
Systèmes Intelligents – M2- BD-IA13 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Héritage multiple Que représente la classe « MeatyVegetable » ? Cela a-t-il un sens ?
Systèmes Intelligents – M2- BD-IA14 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Vérification de l’ontologie Intuitivement, il ne devrait pas exister d’instances qui soient à la fois du type MeatTopping et VegetableTopping. Ces instances n’auraient pas de sens d’un point de vue modélisation mais peuvent-elles exister d’un point de vue logique. Idéalement, il est important de vérifier automatiquement que le sens logique correspond bien au sens « prévu ». Utilisation possible d’outils de raisonnements
Systèmes Intelligents – M2- BD-IA15 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Vérification de l’ontologie Pour les ontologies écrites en OWL-DL, il est possible d’utiliser des outils de raisonnement de la logique de description pour : Classifier les informations (subsumption) Vérifier l’équivalence de concepts/classes Vérifier la cohérence de spécifications Vérifier les instances
Systèmes Intelligents – M2- BD-IA16 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Vérification de l’ontologie Vérification de la cohérence des classes Protégé-OWL peut être utilisé avec tout raisonneur qui « respecte » l’interface DIG qui a été définie pour définir une « norme » Description Logic Interface La communication est réalisée via HTTP Lorsque un raisonneur est en cours d’exécution, il est possible de demander la vérification de la consistance des classes.
Systèmes Intelligents – M2- BD-IA17 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Vérification de l’ontologie Axiomes de disjonction La vérification de la cohérence des classes de l’ontologie décrite indique que la classe MeatyVegetable est consistante. Il est possible de définir des instances pour cette classe Par défaut les classes OWL peuvent se « superposer » à moins que la disjonction entre les classes soit explicitement décrite, ou bien que l’on peut inférer leur disjonction Ici, la classe MeatTopping peut être décrite comme disjointe de VegetableTopping
Systèmes Intelligents – M2- BD-IA18 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Vérification de l’ontologie L’ajout de la disjonction entre les classes VegetableTopping et MeatTopping entraîne l’inconsistance des spécifications.
Systèmes Intelligents – M2- BD-IA19 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Propriétés OWL a deux types de propriétés : Les propriétés qui relient des instances (Object Property) Les propriétés qui relient une instance avec une valeur (Datatype property) Il y a un troisième type de propriétés : les annotations qui permettent d’associer/décrire des méta-données aux classes, propriétés et instances.
Systèmes Intelligents – M2- BD-IA20 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Propriétés OWL permet la spécification de hiérarchies de propriétés L’héritage multiple est autorisé. Les propriétés doivent avec des « sur- propriétés » de leur type. Les propriétés objets doivent avoir des « sur- propriétés » de type objet De même pour les propriétés de type « datatype »
Systèmes Intelligents – M2- BD-IA21 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Propriétés On peut créer une propriété « hasIngredient » Avec une sous-propriété « hasTopping » Et une sous-propriété « hasBase »
Systèmes Intelligents – M2- BD-IA22 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Propriétés Une propriété peut être définie comme fonctionnelle, inverse fonctionnelle, symétrique ou transitive Mais attention Certaines combinaisons de ces propriétés relèvent de OWL-Full Des contraintes existent pour OWL-DL
Systèmes Intelligents – M2- BD-IA23 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Propriétés Une pizza ne comporte qu’une seule « base » La propriété « hasBase » est définie comme fonctionnelle La propriété « hasIngredient » peut être définie comme transitive. Les éléments qui composent les éléments d’une pizza sont aussi des éléments d’une pizza.
Systèmes Intelligents – M2- BD-IA24 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Restrictions Restriction existentielle Elle permet de décrire l’ensemble des individus qui ont au moins un lien pour une propriété donnée vers un individu d’une classe donnée On peut spécifier qu’une pizza a au moins une « base » de type PizzaBase. En protégé OWL, on peut définir ces conditions
Systèmes Intelligents – M2- BD-IA25 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Restrictions On peut définir d’autres restrictions comme : Une MargheritaPizza a au moins un « MozarellaTopping » et au moins un « TomatoTopping » Une AmericanaPizza a au moins un « MozarellaTopping » et au moins un « TomatoTopping » et au moins un « PepperoniTopping » Une SpicyBeefPizza comporte au moins de « la mozarella, du tomato et du peperoni »
Systèmes Intelligents – M2- BD-IA26 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Restrictions
Systèmes Intelligents – M2- BD-IA27 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Conditions nécessaires Les conditions décrites sont des conditions nécessaires i.e. que pour une classe donnée, les conditions nécessaires doivent être vérifiées par les membre de cette classe Un individu de la classe MargheritaPizza doit remplir les 3 conditions
Systèmes Intelligents – M2- BD-IA28 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Conditions nécessaires et suffisantes Avec une condition nécessaire, si l’on sait qu’un individu est un membre d’une classe, on sait qu’il doit remplir les conditions nécessaires de cette classe. Mais étant donné un individu qui remplit des conditions, peut-on dire à quelle classe il appartient ? i.e. définir des conditions nécessaires et suffisantes qui permettent d’inférer le type d’un individu à partir de ses propriétés.
Systèmes Intelligents – M2- BD-IA29 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Conditions nécessaires et suffisantes On crée une classe CheesyPizza Comme sous-classe de la classe Pizza Avec au moins un « CheeseTopping » En conditions nécessaires et suffisantes
Systèmes Intelligents – M2- BD-IA30 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Conditions nécessaires et suffisantes Classification de l’ontologie
Systèmes Intelligents – M2- BD-IA31 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Terminologie Les classes qui ne comportent que des conditions suffisantes sont dites « primitives » ont une « description » Et les classes qui ont au moins une condition nécessaire et suffisante sont dites « définies » et ont une définition Une distinction peut être faite entre les informations « énoncées » et « inférées ».
Systèmes Intelligents – M2- BD-IA32 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Hiérarchie La hiérarchie des classes « énoncées » (asserted) est une arborescence. Mais la hiérarchie des classes inférées peut être un treillis (graphe), les classes peuvent avoir plusieurs classes parentes.
Systèmes Intelligents – M2- BD-IA33 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Union On veut définir une « VegetarianPizza » comme une pizza qui a uniquement des « ingrédients » végétariens. On peut définir « VegetarianTopping » comme un « CheeseTopping » ou un « VegetableTopping ». On peut utiliser l’union de classes.
Systèmes Intelligents – M2- BD-IA34 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Restriction universelle On définit la classe « VegetarianPizza » comme une pizza dont tous les ingrédients sont végétariens En utilisant une restriction universelle Et comme une classe « définie »
Systèmes Intelligents – M2- BD-IA35 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Restriction universelle
Systèmes Intelligents – M2- BD-IA36 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Vérification de l’ontologie On peut utiliser un raisonneur Pour classifier les classes/concepts Quelles sont les sous-classes de VegetarianPizza? Et vérifier que la consistance La définition de la classe VegetarianPizza est- elle correcte ? aucune classe n’est classifiée comme sous-classe de la classe VegetarianPizza
Systèmes Intelligents – M2- BD-IA37 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Hypothèse du monde ouvert Une MargheritaPizza a été décrite par :
Systèmes Intelligents – M2- BD-IA38 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Hypothèse du monde ouvert (HMO) L’hypothèse du monde ouvert s’appuie sur le fait qu’on ne peut pas dire que quelque chose n’est pas vrai simplement parce qu’il n’a pas été énoncé Ici, on n’a pas décrit qu’une MargheritaPizza a un ingrédient peperoni, mais sous l’HMO il est possible qu’elle en est un.
Systèmes Intelligents – M2- BD-IA39 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Clôture Pour « préciser » les descriptions des pizzas, il est nécessaire de compléter pour dire que : Les pizzas ont des ingrédients et seulement ceux-là. Par exemple, la MargheritaPizza a de la mozarella et du tomato et seulement ces ingrédients. i.e faire une « clôture » de la classe
Systèmes Intelligents – M2- BD-IA40 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Axiomes de clôture On peut utiliser la restriction universelle.
Systèmes Intelligents – M2- BD-IA41 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Axiomes de clôture On peut donc compléter l’ontologie pour faire la fermeture de la description des pizzas pour la propriété hasTopping. La forme générale consiste à créer une restriction universelle sur l’union des classes des restrictions existentielles. On peut alors re-classifier l’ontologie.
Systèmes Intelligents – M2- BD-IA42 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Classification Hiérarchies énoncée et inférées.
Systèmes Intelligents – M2- BD-IA43 Protégé-OWL Tutorial Création d’une ontologie OWL-DL « Les pizzas » - Conclusion Les classes sont les « briques » d’une ontologie Il existe des classes « nommées » et des classes « anonymes » OWL distingue les conditions nécessaires et les conditions nécessaires et suffisantes OWL-DL s’appuie sur la logique de description, des raisonneurs peuvent être utilisés OWL applique l’hypothèse du monde ouvert.