La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Création d'une ontologie en OWL avec Protégé 4 Rémy Choquet AP-HP & Inserm U872 Réalisé d'après le document « A Practical Guide.

Présentations similaires


Présentation au sujet: "Création d'une ontologie en OWL avec Protégé 4 Rémy Choquet AP-HP & Inserm U872 Réalisé d'après le document « A Practical Guide."— Transcription de la présentation:

1 Création d'une ontologie en OWL avec Protégé 4 Rémy Choquet AP-HP & Inserm U872 Réalisé d'après le document « A Practical Guide To Building OWL Ontologies Using Protégé 4 and CO-ODE Tools », disponible à l'adresse suivante :

2 Plan Quelques connaissances sur OWL Création d'un canevas d'ontologie La hiérarchie des classes et sous classes –La disjonction Les relations –Les différentes caractéristiques –Le domaine et la portée Les restrictions –Les restrictions existentielles –Les restrictions universelles Les classifieurs

3 3 Les 3 versions d'OWL OWL-Lite –Simple hérarchie de concepts et peu de contraintes –Organisation hiérarchique de thésauri OWL-DL –Fondé sur les logiques de description –Implémente un fragment de la logique du premier ordre –Vérifie la hiérarchie des concepts et détecte les inconsistances OWL-Full –Langage le plus expressif –A utiliser dans des situations où l'expressivité est plus importante que la complétude et la décidabilité -> pas de raisonnement automatique

4 4 Quels sont les composants d'OWL? (1) Les instances de classes (individuals) –Ce sont les objets du domaine qui nous souhaitons modéliser Ex : Pierre, Thierry, Marie, Italie, USA... Les propriétés ou relations (properties) –« Slots » dans Protégé –Ce sont des relations binaires entre des instances de classes Ex : [Marie] (hasChild)[Pierre] –Caractéristiques Inverses : hasOwner/isOwnedBy Fonctionnelle : une seule valeur Transitive Symétrique

5 5 Quels sont les composants d'OWL? (2) Les concepts ou classes –Ce sont des ensembles d'instances Ex : le concept Pays est constitué de la France, l'Italie, les USA... –Les classes sont construites à partir de descriptions qui contraignent les conditions d'appartenance d'une instance à une classe -> Sujet du tutoriel

6 6 Avant de commencer... Protégé 4 : éditeur d'ontologies gratuit et open source qui permet de structurer une base de connaissances – Téléchargement du logiciel – / Installation

7 7 Création d'une nouvelle ontologie avec Protégé 4 (1) 1. Démarrer Protégé 4 2. Dans la fenêtre « Welcome to Protégé », choisissez « Create new OWL ontology »

8 8 Création d'une nouvelle ontologie avec Protégé 4 (2) Dans la fenêtre « Create Ontology wizard », changez l'adresse URI par

9 Résultat

10 06/1 0/09 10 Création d'une nouvelle ontologie avec Protégé 4 (3) Dans la fenêtre suivante, pensez à sauver votre ontologie en nommant votre fichier « pizza.owl »

11 Résultat

12 Format de sauvegarde de lontologie

13 13 Création d'une nouvelle ontologie avec Protégé 4 (4)

14 06/1 0/ Ajouter un commentaire à l'ontologie 1. Assurez-vous que l' onglet Active Ontology est sélectionné 2. Dans la partie dédiée à Ontology Annotations, double cliquez sur le signe + à droite d'Annotations. Une fenêtre éditable apparaît. 3. Entrez un commentaire tel que « A pizza ontology that describes various pizzas based on their toppings» dans le champ « description ». Cliquez sur OK.

15 15 Résultat Fig 1: The Ontology Annotations View

16 16 L'onglet Classes / The Classes Tab Fig 2: The Classes Tab

17 17 Icônes pour créer une hiérarchie de classes Ajouter une sous classe Ajouter une classe sœur Effacer une classe Fig 3 – Icônes des classes

18 18 2. Création des classes Pizza, Pizza Topping et PizzaBase Assurez-vous que l'onglet Classes Tab est sélectionné. Pressez le bouton d'ajout d'une classe. Une nouvelle classe apparaît comme sous classe de celle que vous avez sélectionnée. Une boîte de dialogue apparaît et vous permet de saisir le nom de votre nouvelle classe. Tapez Pizza. Répétez l'opération pour les classes PizzaTopping et PizzaBase. Assurez-vous que ces classes apparaissent sous la classe Thing dans la hiérarchie. Vocabulaire : Une hiérarchie de classe peut également être appelée une taxinomie.

19 19 Résultat Fig 5: The Initial Class Hierarchy Fig 4: Class Name Dialog

20 20 Idée Après avoir créé Pizza, plutôt que de sélectionner Thing et d'utiliser le bouton de création d'une sous classe, vous pouvez utiliser le bouton de création d'une classe sœur (cf. Figure 3) pour créer PizzaTopping et PizzaBase. Il faut dans ce cas sélectionner la classe Pizza.

21 21 3. Classes disjointes Faire de Pizza, PizzaTopping et PizzaBase des classes disjointes les unes des autres – Sélectionnez la classe Pizza dans la hiérarchie. – Pressez le bouton Disjoint classes dans la partie class description. Une fenêtre s'ouvre et vous permet de choisir les classes qui doivent être disjointes. Si vous le faites pour une des classes (par exemple PizzaBase), l'action sera automatiquement propagée sur les autres classes sélectionnées. Résultat –Sélectionnez la classe PizzaBase. Notez que cette classe est maintenant disjointe de Pizza et PizzaTopping. Risque : si on déplace ensuite les classes, on crée facilement des incohérences

22 22 Qu'est ce que cela signifie? En OWL, les classes, par définition, se chevauchent. Nous ne pouvons pas donc pas supposer qu'un(e) individu/instance n'est pas membre d'une classe particulière simplement parce qu'il n'a pas été défini comme étant un membre de cette classe. Pour séparer un groupe de classes, nous devons les déclarer comme disjointes les unes des autres. Cela assure qu'un individu créé comme membre d'une classe du groupe ne peut pas être membre d'une autre classe de ce même groupe. Dans notre exemple précédent, Pizza, PizzaTopping et PizzaBase sont disjointes entre elles. Cela signifie qu'aucun individu ne peut être à la fois une Pizza et une PizzaBase.

23 06/1 0/09 23 Peupler une ontologie : créer des classes avec les outils OWL Les outils OWL mis à disposition dans cette version de Protégé sont des plugins. Ils servent à simplifier des traitements répétitifs et longs. Dans le 4 e exercice, nous allons utiliser l'outil Create Class Hierarchy pour ajouter des sous classes à la classe PizzaBase. Fig 6: Menu Create Class Hierarchy

24 24 Fig 7: Create Class Hierarchy: Select class page

25 25 Fig 8: Create Class Hierarchy: Enter classes page

26

27 27 4. Utiliser l'outil Create Class Hierarchy pour créer les sous classes de PizzaBase : ThinAndCrispy et DeepPan(1) 1. Sélectionnez la classe PizzaBase dans la hiérarchie. 2. L'outil vu Figure 7 apparaît. Puisque nous avons présélectionné la classe PizzaBase, l'outil devrait nous inciter à créer les classes sous la classe PizzaBase. Si nous n'avions pas présélectionné PizzaBase avant de lancer l'outil, la hiérarchie pourrait être utilisée pour choisir la bonne classe mère. 3. Pressez le bouton Continue. La page vue Figure 8 apparaît. Nous devons maintenant indiquer les sous classes de PizzaBase que nous souhaitons créer. Dans la zone de texte, tapez ThinAndCrispyBase (pour une pizza à pâte fine) et DeepPanBase (pâte épaisse). Le résultat est visible Figure 8.

28 28 1. Pressez le bouton 'Continue'. L'outil vérifie que les noms saisis correspondent au style prédéfini (pas d'espace, pas d'accent...). Il vérifie également que ces noms n'existent pas déjà. 2. Cochez le bouton radio Make all new classes disjoint. 4. Utiliser l'outil Create Class Hierarchy pour créer les sous classes de PizzaBase : ThinAndCrispy et DeepPan(2)

29 29 5. Créer des garnitures (toppings) pour votre pizza Les classes de garnitures que nous allons créer doivent être structurées en catégories – meat toppings, –vegetable toppings, – cheese toppings, –seafood toppings. Fig 9: Topping Hierarchy

30 30 6. Créer des sous-classes de PizzaTopping (1) 1. Sélectionnez la classe PizzaTopping dans la hiérarchie. 2. Lancez l'outil Create class hierarchy... comme dans l'exercice Assurez-vous que PizzaTopping est sélectionné et pressez le bouton Continue. 4. Nous voulons que les noms des nouvelles classes terminent tous par 'topping'.Dans la zone de texte intitulée 'Su x', tapez 'Topping'. L'outil ajoutera automatiquement cette terminaison à l'ensemble des noms de classes que vous allez créer.

31 31 L'outil permet de créer une hiérarchie de classes en utilisant les indentations. En utilisant la zone de texte, entrez les noms des classes comme indiqué Figure 9. Notez que les noms des classes doivent être indentés en utilisant la touche 'tabulation'. 6. Créer des sous classes de PizzaTopping (2)

32 32 Résultat Fig 10: La hiérarchie des classes

33 Des De lintension à lextension Ce à quoi vous pensez en fabriquant une ontologie est lintension des concepts Ce que vous fabriquez dans Protégé respecte une logique des prédicats. Sans le savoir vous traitez vos concepts dune manière logique donc ensembliste et ils existent par les objets, les instances, qui appartiennent à la classe Vous passez de lintension à lextension Vous devez vous en souvenir pour comprendre certains comportements de loutil et des plugins de raisonnement.

34 34 PizzaTopping La signification des sous-classes VegetableTopping TomatoTopping Fig 11: Tous les individus (instances) qui sont membres de la classe TomatoTopping sont également membres de la classe VegetableTopping et membres de la classe PizzaTopping car TomatoTopping est une sous-classe de VegetableTopping qui est une sous-classe de PizzaTopping.

35 35 Le point Nous avons créé quelques classes simples, certaines sont des sous classes dans la hiérarchie. Jusqu'ici la construction de la hiérarchie des classes peut sembler facile et intuitive. Cependant, qu'est-ce que cela signifie d'être une sous-classe d'une autre en OWL? Par exemple, qu'est ce que cela implique pour VegetableTopping d'être une sous classe de PizzaTopping, ou pour TomatoTopping d'être une sous classe de VegetableTopping? En OWL être une sous-classe a nécessairement des implications. En d'autres termes, si VegetableTopping est une sous- classe de PizzaTopping alors toutes les instances de VegetableTopping sont des instances de PizzaTopping, sans exception si quelque chose est un VegetableTopping alors c'est aussi un PizzaTopping comme vu Figure 11.

36 36 Les relations en OWL / OWL Properties Fig 12: The PropertiesTab

37 37 7. Créer une relation nommée hasIngredient Allez sur l'onglet Object Properties. Utilisez le bouton Add Object Property pour créer une nouvelle relation. Nommez la nouvelle propriété hasIngredient en remplissant la boîte de dialogue Property Name Dialog qui s'affiche.

38 38 8. Créer hasTopping et hasBase comme sous relations de hasIngredient Le langage OWL permet de définir des sous relations et donc de créer des hiérarchies de relations comme on a des hiérarchies de classes. Les sous relations (propriétés) sont des spécialisations de leur relation mère. –Par exemple, la relation hasMother, entant que sous relation, spécialise la relation hasParent. Pour créer la relation hasTopping property comme sous relation de la relation hasIngredient, sélectionnez la relation hasIngredient dans la hiérarchie qui s'affiche dans l'ongletObject Properties. Pressez le bouton Add subproperty et nomdialogue qui apparaît à l'écran. Validez. Répétez l'opération pour créer la relation hasBase.

39 39 Les différentes caractéristiques des relations en OWL Fonctionnelle –Une relation est déclarée fonctionnelle lorsqu'un seul individu au plus peut y être relié. Jean hasBirthMother Catherine. HasBirthMother est fonctionnelle. Inverse –Chaque relation peut avoir une relation inverse La relation hasParent a pour inverse la relation hasChild, et réciproquement. Inverse et fonctionnelle Exemple : isBirthMotherOf Transitive Peter hasAncestor Mat. Mat hasAncestor Jim => Peter hasAncestor Jim. Symétrique Mat hasSibling Jim => Jim hasSibling Mat. Asymétrique Robert isChildOf Peter => Peter is not a child of Robert. Réflexive versus Irréflexive

40 40 9. Créer des relations inverses Pour créer une ontologie complète, nous allons spécifier les relations inverses correspondantes à celles existantes. Créez la relation isIngredientOf qui deviendra l'inverse de hasIngredient. Pressez le bouton Add inverse property (cf. Fig 13). Cette action ouvre une boîte de dialogue dans laquelle vous allez devoir sélectionner la relation inverse (ici hasIngredient). Créez la relation isBaseOf qui deviendra l'inverse de hasBase. Déclarez la inverse. Répétez l'opération en créant isToppingOf, l'inverse de la relation hasTopping.

41 41 Fig 13: The Inverse Property View

42 42 Résultat Fig 14: La hiérarchie des relations

43 Indiquer que la relation hasIngredient est transitive

44 44 Cela fonctionne de la même manière que les relations inverses. 11. Indiquer que la relation hasBase est fonctionnelle

45 Spécifier le domaine et la portée (range) de la relation hasTopping En OWL les relations sont binaires et interviennent pour mettre en relation deux individus (cf. Figure 15) [Domaine] (Relation) [Portée] [Pizza] (hasTopping) [PizzaTopping] Sélectionnez la relation hasTopping dans la hiérarchie Fixez la portée : pressez le bouton 'Add' (+) en face de 'Ranges' dans la partie description de l'interface (cf. Figure 16) Fixez le domaine : pressez le bouton 'Add' (+) en face de 'Domains' dans la partie description de l'interface (cf. Figure 17)

46 46 Fig 15: Le domaine et la portée de la relation hasTopping et de son inverse isToppingOf

47 47 Résultat Fig 16: La portée de la relation hasTopping Fig 17: Le domaine de la relation hasTopping

48 Spécifier le domaine et la portée de la relation hasBase et de son inverse isBaseOf Sélectionnez la relation hasBase Spécifiez Pizza comme domaine et PizzaBase comme portée Sélectionnez la relation inverse isBaseOf Spécifiez PizzaBase comme domaine et Pizza comme portée

49 49 Le point Si l'on reprend l'exemple de la relation hasTopping –Les individus qui appartiennent à la partie gauche de la relation sont interprétés comme étant membres de la classe Pizza. –Les individus qui apparaissent dans le contexte droit de la relation sont compris comme appartenant à la classe PizzaTopping. Nous venons de créer un certain nombre de relations. Nous allons maintenant les utiliser pour décrire et spécifier le fonctionnement des classes de notre ontologie.

50 50 Les deux types de restrictions (1) Restriction existentielle (some) –Les restrictions existentielles sont les plus courantes dans les ontologies OWL –Cette restriction décrit une classe d'individus qui entretient au moins une (some) relation avec un individu membre d'une classe spécifique Fig 18: La restriction hasTopping some Mozarella.

51 51 La restriction universelle (only) –Cette restriction décrit des classes d'individus qui pour une relation donnée n'ont de lien qu'avec les individus d'une classe spécifique –Par exemple, la classe des individus qui n'ont comme garniture (hasTopping) que les individus appartenant à la classe des légumes (VegetableTopping). Les deux types de restrictions (2)

52 Ajouter une restriction spécifiant que Pizza doit avoir une PizzaBase Sélectionnez la classe Pizza dans l'onglet 'Classes' Sélectionnez la ligne 'Superclasses' dans la partie 'Class Description' Pressez le bouton + (Add) sur cette ligne. Cela ouvre une boîte de dialogue contenant le 'Class expression editor' dans lequel vous allez saisir votre restriction. –Vous pouvez soit écrire hasBase soit faire un « drag and drop ». Attention, la manière d'écrire le mot doit être la même que celle existante. –Écrivez ensuite le type de restriction, ici « some ». –Enfin, écrivez PizzaBase. Vous devez avoir sur la même ligne (cf. Fig 20 et 21) –hasBase some PizzaBase

53 53 Résultat Fig 21 : La restriction dans son aspect final Fig 20 : Le 'class expression editor'

54 Créer la classe MargheritaPizza Sélectionnez la classe Pizza dans la hiérarchie Ajoutez une sous classe nommée 'NamedPizza' Créez une sous classe de NamedPizza que vous appellerez 'MargheritaPizza' Ajoutez un commentaire à cette classe en précisant qu'il s'agit d'une pizza composée de mozarella et de tomato toppings

55 Créer une restriction existentielle pour définir la MargheritaPizza Sélectionnez MargheritaPizza dans la hiérarchie Suivez les instructions de l'exercice précédent pour décrire cette classe comme ayant, comme garniture, de la mozarella –HasTopping some MozarellaTopping Répétez l'opération pour dire qu'elle a aussi de la tomate –HasTopping some TomatoTopping Attention, cela veut dire que la Margherita contient au moins (au minimum) de la mozarella et de la tomate mais... elle peut contenir également d'autres garnitures.

56 56 Résultat Fig 22 : Les restrictions pour la MargheritaPizza

57 Des Monde ouvert vs monde fermé Une Margherita contient au moins (au minimum) de la mozarella et de la tomate mais... elle peut contenir également d'autres garnitures. Ce nest pas parce que quelque chose na pas été dit, quil est faux. Tout peut être vrai tant quil na pas été déclaré faux. Nous sommes dans lhypothèse du monde ouvert quand nous créons des ontologies. Si lon veut que quelque chose soit faux nous devons explicitement le dire. Cest le contraire de ce qui se passe dans une base de données. Dans une base de données, si une réponse à une requête ne ramène rien, alors la requête est falsifiée : ce qui nest pas trouvé est faux. Dans une base de données, nous sommes dans lhypothèse du monde fermé. Pour reproduire ce comportement dans une ontologie, il faut créer un axiome de clôture, une restriction universelle (only)

58 Arbres versus treillis (1/2) Créer les attributs dingrédients piquants, Epice, Moyen, Doux, ExtraDoux et la relation aPourQualiteDEtreEpice. Faites-en une value partition Créer les attributs dingrédients maigres, TresCalorique, MoyennementCalorique, PeuCalorique et la relation aPourQualiteDEtreCalorique. Faites-en une value partition Déclarez une Pizza définie, comme épicée si sa qualité est Epice Déclarez une Pizza définie comme calorique si sa qualité est TresCalorique

59 Arbres versus treillis (2/2) Précisez que la GarnitureBoeufEpice est Epice. Idem pour GarniturePoivreVert Précisez que GarnitureAnchoix et GarnitureFruits sont PeuCalorique Affichez larbre des GarniturePizza avant classification puis après classification Discutez

60 05/1 0/10

61

62 Ils forment un arbre organisé par genre et différence donc de notions exclusives les unes des autres Leur image au niveau formel forme évidemment un arbre Ce sont, au début de la construction du niveau formel, des concepts primitifs Les concepts différentiels vs formels 05/1 0/10

63 Les concepts différentiels vs formels 05/1 0/10

64 Créer une restriction universelle sur la MargheritaPizza Sélectionnez la MargheritaPizza dans la hiérarchie Suivez les instructions de l'exercice précédent pour décrire cette classe comme ayant absolument une MozarellaTopping or une TomatoTopping et rien dautre.

65 65 Fig 19: Les restrictions de la classe MargheritaPizza

66 Créer une AmericanaPizza Sélectionnez la MargheritaPizza dans la hiérarchie Enlevez laxiome de clôture Sélectionnez, dans le menu 'Edit', l'opération 'Duplicate selected class'. Renommez cette seconde classe en AmericanaPizza. Ajoutez deux restrictions à la classe AmericanaPizza –Elle est composée (en plus de mozarella et de tomates) de Pepperoni –hasTopping some PepperoniTopping

67 67 Résultat

68 Créer une AmericanHotPizza et une SohoPizza L'AmericanHotPizza est presque la même que l'AmericanaPizza. Dupliquez l'AmericanaPizza, renommez-la et ajouter une restriction existentielle comme suit : –hasTopping some JalapenoPepperTopping La SohoPizza est une MargheritaPizza mais à, comme garniture supplémentaire, des olives et du parmezan : –hasTopping some OlivesTopping –hasTopping some ParmezanTopping

69 69 Résultat

70 Déclarer les sous-classes de NamedPizza disjointes des unes des autres MargheritaPizza SohoPizza AmericanaPizza AmericanHotPizza

71 21. Classes inconsistantes Pour démonter lutilité du raisonneur dans la détection dinconsistances, nous allons créer une classe qui est une sous classe de CheeseTopping et aussi de VegetableTopping. 1.Sélectionnez la classe CheeseTopping 2.Créez une sous classe nommée ProbeInconsistentTopping 3.Sélectionnez ProbeInconsistentTopping dans la hiérarchie et sélectionnez « Superclasses » dans le panel à droite 4.Cliquez sur le + et sélectionnez la classe VegetableTopping. Validez. 5.La classe VegetableTopping a normalement été ajoutée à la liste des superclasses de ProbeInconsistentTopping 6.Lancer le raisonneur

72 72 Lancez le classifieur/raisonneur

73 Résultat : la classe ProbeInconsistent Topping est inconsistante

74 Signification La classe ProbeInconsistentTopping est définie comme étant à la fois du fromage et des légumes. Or, aucune instance du monde ne peut être les deux à la fois. Cela dit, pour le raisonneur le nom des classes na pas de signification. Linconsistance est détectée car nous avons déclaré les deux classes mères, CheeseTopping et VegetableTopping comme étant disjointe lune de lautre. Autrement dit, les individus membres de la classe CheeseTopping ne peuvent pas être membres de la classe VegetableTopping et vice-versa.

75 Enlever lindication de disjonction Enlever lindication de disjonction entre VegetableTopping et CheeseTopping Relancer le classifieur Normalement, la classe ProbeInconsistentTopping nest plus inconsistante et nest plus en rouge Désormais un individu du monde décrit peut être à la fois un membre de la classe CheeseTopping et un membre de la classe VegetableTopping Il convient donc dêtre très prudent quand on spécifie (ou non) une disjonction. Remettre lindication de disjonction.

76 Quand cest rouge, que faire ? Une incohérence se propage. Remonter à la source Une classe peut avoir une condition non satisfaite dans une condition existentielle (some) Chaque sous-classe dune classe insatisfiable est elle-même insatisfiable Quelques possibilités Violations des axiomes dexclusion mutuelle Expressions insatisfiables En particuler, confusion entre and et or Violation dune contrainte universelle (only), y compris domaine et co-domaine Insatisfaction de contraintes de (co-)domaines

77 Des Disjonction, exhaustivité et arbre Mettre des relations de disjonctions entre les concepts primitifs doit être fait quand on commence à penser que lontologie a une structure un peu stable Faire cela suppose quon a un arbre de concepts primitifs Cest pragmatique mais surtout épistémologiquement fondé : les objets nont quune seule essence, une seule manière dêtre. Ces disjonctions nempêchent pas dutiliser 2 concepts exclusifs les uns des autres pour construire une représentation – Une pizza et une garniture de pizza nont rien à voir lune avec lautre. Il ny a pas dinstance qui soit à la fois Pizza et garniture mais une MargheritaPizza est bien une pizza avec une garniture (de fromage ou tomate).

78 Créez une CheesyPizza Créer une CheesyPizza comme sous-classe de Pizza (elle a donc pour classe sœur NamedPizza) Définissez-la comme étant une pizza avec du fromage hasTopping some CheeseTopping Cela signifie quune pizza contenant du fromage peut être une CheesyPizza -> nous souhaitons modifier la définition pour dire quune pizza au fromage a comme condition nécessaire et suffisante de contenir du fromage

79 Critère nécessaire et suffisant -> classe définie Sélectionnez CheesyPizza dans la hiérarchie Sélectionnez hasTopping some CheeseTopping dans les restrictions au niveau du panel de droite Faites un cliquez-déposez de la ligne et amenez la au dessus de « Equivalent class » Sélectionnez ensuite la classe Pizza dans le panel de droite Faites un cliquez-déposez de cette classe au dessus de hasTopping some CheeseTopping

80 Résultat Ensuite, relancer le classifieur

81 81 Résultat pour la CheesyPizza Pourquoi?

82 Des Conditions nécessaires vs nécessaires et suffisantes I Jusquà la CheesyPizza, les conditions exprimées dans les descriptions de classes ont été des conditions nécessaires. Pour ces classes, ces conditions sont celles quune instance doit remplir pour être un membre de la classe. Pour certaines classes, e.g. CheesyPizza, ces conditions représentent la superclasse de la classe. Autrement dit, dans quelle classe mettre une instance dont on connaît les conditions exactes quelle remplit ? On la met dans une classe décrite par conditions nécessaires et suffisantes, une classe définie. OWL supporte ces conditions nécessaires et suffisantes qui permettent de déterminer que toute instance qui satisfait ces conditions peut être rangée, par inférence, dans la classe définie par ces mêmes conditions

83 Des Conditions nécessaires vs nécessaires et suffisantes II On oppose ainsi les classes primitives, définies par conditions nécessaires, aux classe définies, définies par conditions nécessaires et suffisantes. Les classes qui ont seulement des conditions nécessaires supportent une description, les classes qui ont des conditions nécessaires et suffisantes ont une définition. Une distinction peut être faite entre les informations axiomatiques (asserted) et les informations inférées (inferred).


Télécharger ppt "Création d'une ontologie en OWL avec Protégé 4 Rémy Choquet AP-HP & Inserm U872 Réalisé d'après le document « A Practical Guide."

Présentations similaires


Annonces Google