430 likes | 774 Views
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. Protégé-OWL Tutorial Plan. Introduction RDF et OWL Lite OWL-DL
E N D
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-IA
Protégé-OWL TutorialPlan • 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-IA
Protégé-OWL TutorialLe 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-IA
Protégé-OWL TutorialRDF (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-IA
Protégé-OWL TutorialInterface Interface Utilisateur Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialInterface Interface Utilisateur Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialInterface Interface Utilisateur Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialSauvegarde (projet .pprj, fichier .owl) • <?xml version="1.0"?> <rdf:RDF • xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" • …. • <owl:Ontology rdf:about=""/> • <rdfs:Class rdf:ID="City"><rdfs:subClassOf> <rdfs:Class rdf:ID="Area"/></rdfs:subClassOf> • </rdfs:Class> • <rdfs:Class rdf:ID="Country"><rdfs:subClassOf rdf:resource="#Area"/></rdfs:Class> • <rdf:Property rdf:ID="hasPart"> • <rdfs:range rdf:resource="#Area"/> • <rdfs:domain rdf:resource="#Area"/> • </rdf:Property> • <rdf:Property rdf:ID="hasPopulation"> • <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> • <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" • >The number of people living in a given Area.</rdfs:comment> • <rdfs:domain rdf:resource="#Area"/> • </rdf:Property> … • </rdf:RDF> • <!-- Created with Protege (with OWL Plugin 2.1, Build 284) http://protege.stanford.edu --> Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialLimitations • 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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCréation d’une ontologie OWL-DL « Les pizzas » - Restrictions Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCréation d’une ontologie OWL-DL « Les pizzas » - Conditions nécessaires et suffisantes • Classification de l’ontologie Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCréation d’une ontologie OWL-DL « Les pizzas » - Restriction universelle Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCréation d’une ontologie OWL-DL « Les pizzas » - Axiomes de clôture • On peut utiliser la restriction universelle. Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialCré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-IA
Protégé-OWL TutorialCréation d’une ontologie OWL-DL « Les pizzas » - Classification • Hiérarchies énoncée et inférées. Systèmes Intelligents – M2- BD-IA
Protégé-OWL TutorialCré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. Systèmes Intelligents – M2- BD-IA