Pour les articles homonymes, voirOWL.
Cet article est uneébauche concernant leWeb sémantique.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) — pour plus d’indications, visitez leprojet Web Sémantique.
Consultez la liste destâches à accomplir enpage de discussion.Web Ontology Language (OWL) est un langage dereprésentation des connaissances construit sur le modèle de données deRDF. Il fournit les moyens pour définir desontologiesweb structurées. Sa deuxième version est devenue une recommandation duW3C fin 2012[1],[2].
Le langage OWL est basé sur les recherches effectuées dans le domaine de lalogique de description. Il peut être vu en quelque sorte comme un standard informatique qui met en œuvre certaineslogiques 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'extraire certaines informations de cettebase 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 » enlogiques de description). Un domaine se compose d'instance de concepts.
En pratique, il existe des extensions à l'ontologieRDF Schema (RDFS) comme le langage OWL; OWL est destiné à la description de classes au travers de caractéristiques des instances de cette classe et de types de propriétés. De ce fait, il est plus expressif queRDFS, 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.[réf. nécessaire]
RDFS permet par exemple de décrire que <Jean>est le père de <Paul>[3], au travers des individus <Jean>, <Paul>, et de la relationest le père de. Il contient également 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 parest 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 decardinalité… OWL permet de préciser les concepts d'<humain>, d'<homme> et <femme> en exprimant formellement qu'un humain a certaines caractéristiques, comme un genre, et donc que si <Jean>est un <humain>, on doit pouvoir écrire une affirmation comme <Jean>a pour genre<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 genre comme tout humain, mais que les hommes ont la propriété supplémentaire d'être de genre masculin.
Malheureusement, bien que l'utilisation d'extensions de RDFS soit plus pertinente en théorie pour décrire le monde, il subsiste des problèmes pour les utiliser dans un contexte opérationnel. Par exemple, deux bases de données peuvent ne pas avoir le même comportement avec la même ontologie même si l'implémentation des bases de données sont correctes.[réf. nécessaire] Ces défauts sont inacceptables dans un système en production. Dès lors, les éditeurs de bases de données n'implémentent pas ou peu ces extensions et les inférences induites sont difficilement prévisibles sans avoir testé au préalable ces bases de données.[réf. nécessaire]
Les développeurs d'ontologies doivent s'intéresser à la compatibilité des extensions de RDFS sur les bases de données cibles durant l'implémentation de leur ontologie sans quoi ce travail de description risque d'être inutile et alourdira inutilement l'accès aux données viaSPARQL à travers le système d'information qui hébergera cette ontologie.[réf. nécessaire]
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 etOWL-Full. Des algorithmes décidables existent pour la totalité de OWL-Lite. Quoique les problèmes d'inférence d'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 étend notamment OWL-DL pour permettre certaines formes simples de métamodélisation, en l’occurrence de créer des concepts de concepts.
OWL-Lite est la version la plus simple du langage OWL. Il correspond à lalogique de descriptions. Sa simplicité lui permet d’avoir une théorie de complexité faible, et de garantir que les questions qu'on peut poser à unmoteur d'inférence sur une base de données travaillant avec ce standard ont toujours une réponse et que cette réponse est calculable en temps raisonnable.
OWL-DL (sigle pourOntology Web Language Description Logics)[4] est une version décidable dulangage informatique OWL.
Ce langage correspond à lalogique de descriptions[5].
OWL-Full est une version indécidable du langage informatique OWL.
Un nouveau groupe de travail du W3C a été créé en 2007, pour étendre les fonctionnalités de la version 1.1 de OWL. La version 2.0 sort alors en 2009, légèrement modifiée en 2012. La version 2.0 devient proposée sur l'éditeur d'ontologiesProtégé et sur les raisonneurs sémantiques comme Pellet, RacerPro, FaCT++ et Hermit. Pour des références générales, il est fait référence à la famille des langages OWL, déclinée en OWL 1 et OWL 2 respectivement.
Les profils OWL 2 sont des sous-langages de OWL 2 qui présentent des avantages importants lors de scénarios d'application particuliers. La recommandation OWL 2 du W3C distingue trois profils : OWL 2 EL (Existential Languages - pour la quantification existentielle et les raisonnements faisant intervenir des ontologies comportant un grand nombre de classes et de données), OWL 2 QL (Query Language - pour les ontologies simples avec un grand nombre d'individus, comme un thésaurus par exemple) et OWL 2 RL (Rule Language - pour les raisonnements à l'aide de langages de règles)[6].
LeWeb 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[7], 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, unesémantique définie strictement permettra aux machines d'effectuer des raisonnements automatisés sur lesinfé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 leXML, leRDF qui est un standard bien répandu ainsi que leSPARQL. 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 lesMicroformats).
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.
| 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. |
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 leslogiques 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.
Il est possible de créer et d'éditer une ontologie au format OWL avec le logicielProtégé. Il propose plusieurs formats de fichiers pour les ontologies dont OWL.
Il existe une liste plus complète sur la pagehttp://www.cs.man.ac.uk/~sattler/reasoners.html d'Ulrike Sattler.
| Contexte | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Semantic Web Stack |
| ||||||||||||||||||
| Autres ontologies | |||||||||||||||||||
| Articles liés | |||||||||||||||||||
Formats d'échange de données | |
|---|---|
| Formats lisibles | |
| Formats binaires | |