Web Ontology Language

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir OWL.

Web Ontology Language (OWL) est un langage de représentation des connaissances construit sur le modèle de données de RDF. Il fournit les moyens pour définir des ontologies web structurées. Sa deuxième version est devenue une recommandation du W3C fin 2012[1],[2].

Le langage OWL est basé sur les recherches effectuées dans le domaine de la logique de description. Il peut être vu en quelque sorte comme un standard informatique qui met en oeuvre certaines logiques de description, et permet à des outils qui comprennent OWL de travailler avec ces données, de vérifier que les données sont cohérentes, de déduire des connaissances nouvelles ou d'extraires certaines informations de cette base de données. Il permet notamment de décrire des ontologies, c'est-à-dire qu'il permet de définir des terminologies pour décrire des domaines concrets. Une terminologie se constitue de concepts et de propriétés (aussi appelés « rôles » en logiques de description). Un domaine se compose d'instance de concepts.

Une extension de RDF[modifier | modifier le code]

En pratique, le langage OWL est conçu comme une extension de Resource Description Framework (RDF) et RDF Schema (RDFS) ; OWL est destiné à la description de classes au travers de caractéristiques des instances de cette classes et de types de propriétés. De ce fait, il est plus expressif que RDF et RDFS, auxquels certains reprochent une insuffisance d'expressivité due à la seule définition des relations entre objets par des assertions. OWL apporte aussi une meilleure intégration, une évolution, un partage et une inférence plus facile des ontologies.

RDF permet par exemple de décrire que <Jean> est le père de <Paul>, au travers des individus <Jean>, <Paul>, et de la relation est le père de. RDFS ajoute les concepts, qui permettent de regrouper les individus en groupe comme <humain>, <hommes>, <femmes>, de préciser des relations entre ces groupes (ou concepts), comme toute <femme> est un <humain>, qui se formalise en <femme> sous-classe de <humain> (SubclassOf dans la terminologie RDFS/OWL), et de préciser que Jeanne est une femme sous la forme d'une affirmation comme <Jeanne> est une instance de <femme> (InstanceOf en OWL, qu'on pourrait traduire par exemple par est un exemple de).

Aux concepts de classe, de ressource, de littéral et de propriétés des sous-classes, de sous-propriétés, de champs de valeurs et de domaines d'application déjà présents dans RDFS, OWL ajoute les concepts de classes équivalentes, de propriétés équivalentes, d'égalité de deux ressources, de leurs différences, du contraire, de symétrie et de cardinalité... OWL peut permet de préciser un peu les concepts d'<humain>, d'<homme> et <femme> en exprimant formellement qu'un humain a certaines caractéristiques, comme un sexe, et donc que si <Jean> est un <humain>, on doit pouvoir écrire une affirmation comme <Jean> a pour sexe <masculin> en décrivant la classe des humains. Ce qui permet aussi par conséquent de préciser les concepts d'<homme> et de <femme> en décrivant en OWL que non seulement les <hommes> ont un sexe comme tout humain, mais que les hommes ont la propriété supplémentaire d'avoir un sexe masculin.

Les trois niveaux d'OWL[modifier | modifier le code]

OWL permet, grâce à sa sémantique formelle basée sur une fondation logique largement étudiée, de définir des associations plus complexes des ressources ainsi que les propriétés de leurs classes respectives. OWL définit trois sous-langages, du moins expressif au plus expressif : OWL-Lite, OWL-DL et OWL-Full. Des algorithmes décidables existent pour la totalité de OWL-Lite. Quoique les problèmes d'inférence de OWL-DL puissent être résolus en temps exponentiel de façon générale, le comportement est souvent satisfaisant. Il n'existe aucun algorithme d'inférence décidable pour OWL-Full. La deuxième version d'OWL étant notamment OWL-DL pour permettre certaines forme simple de métamodélisation, en l’occurence de créer des concepts de concepts.

OWL-Lite[modifier | modifier le code]

OWL-Lite est la version la plus simple du langage OWL. Il correspond à la logique de descriptions \mathcal{SHIF}. Sa simplicité lui permet d’avoir une complexité faible, et de garantir que les questions qu'on peut poser à un moteur d'inférence sur une base de donnée travaillant avec ce standard ont toujours une réponse et que cette réponse est calculable en temps raisonnable.

OWL-DL[modifier | modifier le code]

OWL-DL (sigle pour Ontology Web Language Description Logics)[3] est une version décidable du langage informatique OWL.

Ce langage correspond à la logique de descriptions \mathcal{SHOIN(D)}[4].

OWL-Full[modifier | modifier le code]

OWL-Full est une version indécidable du langage informatique OWL.

Applications pour le Web sémantique[modifier | modifier le code]

Le Web sémantique a pour objectif le partage de connaissances contenues dans des silos d'informations, appelés aussi bases de données. Les données contenues dans une base de données classique sont dites non structurées vis-à-vis d'autres bases de données s'il n'existe aucune grammaire commune entre elles. Comme c'est le cas pour le langage humain, la structuration syntaxique et grammaticale permet la création de phrases, éléments complexes d'où peut émerger un sens compréhensible par d'autres personnes. Sans grammaire, il ne peut y avoir de dialogues entre les différentes bases de données, et sans dialogues, aucune connaissance pérenne due à des synergies cognitives ou des partages ne peut émerger. L'existence d'une grammaire commune entre bases de données est la condition de structuration des données, donc du dialogue et de la confrontation productive des données. La recommandation OWL [5], en tant que grammaire commune, permet d'une part la vérification des données par la confrontation, leur fiabilité, et d'autre part une augmentation du volume de l'information. Cela signifie que la confrontation des données, rendue possible par le langage OWL, permet la création de nouvelles données (par exemple, lorsque deux informations lacunaires appartenant chacune à deux bases de données séparées sont mises en relation et se révèlent être complémentaires, la donnée qui en résulte est à la fois plus sûre et ouvre la porte à des avancées ultérieures).

En pratique, une sémantique définie strictement permettra aux machines d'effectuer des raisonnements automatisés sur les inférences et conclusions sur ses nouveaux silos de connaissance.

Les langages sur lesquels il est construit sont largement interprétables, beaucoup d'applications savent déjà manipuler le XML, le RDF qui est un standard bien répandu ainsi que le SPARQL. Le partage et l'échange de connaissances dans ces formats est d'autant plus facile pour les machines et en théorie pour les humains aussi (voir le débat sur les Microformats).

Le Web sémantique peut donc profiter de ce format pour structurer, partager et échanger les différentes connaissances qui s'y trouvent. Il y a déjà plusieurs ontologies modélisées à l'aide d'OWL.

Outils pour appliquer OWL au Web Sémantique[modifier | modifier le code]

Nom de l'outil Description
Protégé éditeur/framework gratuit et open source pour les ontologies. L'extension Protégé-OWL permet d'enregistrer le travail en format OWL.
SMW+ Participe avec Semantic Mediawiki à la création d'outils pour constituer des outils pour manipuler des ontologies OWL.

Moteurs d'inférences[modifier | modifier le code]

Actuellement, plusieurs moteurs d'inférences gratuits ou commerciaux tels que Racer, Pellet, Fact, Fact++, Surnia, F-OWL et Howlet existent. La plupart de ces moteurs sont conçus pour raisonner sur les logiques de description, mais acceptent en entrée des fichiers OWL. Certains moteurs d'inférence ne peuvent raisonner qu'au niveau terminologique (c'est-à-dire au niveau des concepts et des propriétés) alors que des moteurs comme Pellet et Racer permettent de raisonner aussi sur les instances de concepts.

Logiciels d'édition[modifier | modifier le code]

Il est possible de créer et d'éditer une ontologie au format OWL avec le logiciel Protégé. Il propose plusieurs formats de fichiers pour les ontologies dont OWL.

Annexes[modifier | modifier le code]

Références[modifier | modifier le code]

  1. (en) « http://www.w3.org/TR/2012/REC-owl2-overview-20121211/ »
    Description du standard Ontology Web Language 2 sur le site du W3C
  2. (en) « OWL 2 Web Ontology Language New Features and Rationale (Second Edition) », sur w3c.org
    Les nouveautés de OWL2
  3. http://jargonf.org/wiki/OWL_DL
  4. http://www.obitko.com/tutorials/ontologies-semantic-web/owl-dl-semantics.html
  5. via un consensus - voir le débat sur la MetaUtopie

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Il existe une liste plus complète sur la page http://www.cs.man.ac.uk/~sattler/reasoners.html