XML.com fait le point sur la construction d’ontologies. La construction d’ontologies se révèle utile dans des domaines tels que la recherche sur le Web Sémantique, la création de référentiels médicaux, la gestion de ressources d’information publiques, la cartographie de génomes, l’ingénierie en conception concurrente, l’analyse et la gesion des risques et l’automatisation des transactions commerciales entre entreprises.
L’ontologie permet de disposer d’un discours commun pour décrire un domaine donné et qui permet une exploitation automatisée par des règles d’inférence et de traitement logique. Les ontologies se composent habituellement de deux couches : un composant « terminologique » qui définit la structure du domaine à décrire et un composant « assertionnel » (assertional) qui alimente cette structure avec des instances ou individus qui incarnent les définitions terminologiques. On peut décider de stocker les concepts (structure terminologique) et les individus (instanciations des concepts) de manière distinctes mais le fait de traiter une ressource comme un concept ou comme un individu est une décision arbitraire et doit relever d’un choix volontaire lors de la conception de l’ontologie.
Pour bâtir une ontologie, on peut utiliser des langages de programmation logique classique tels que Prolog. Mais, plus souvent, on utilise des modèles et langages spécialisés pour la construction d’ontologies tels que OKBC, KIF et CL). On peut également utiliser des langages plus avancés tels que Loom, DAML+OIL ou le standard qui en émerge auprès du W3C : OWL (Ontology Web Language). Le choix du bon langage de développement dépend notamment du degré de nuance et de sophistication nécessaire pour répondre au besoin fonctionnel. De plus en plus, ces langages tendent à intégrer RDF comme technologie fondamentale pour intégrer les données présentes sur le Web.
Voici les étapes habituelles dans la construction d’une ontologie : acquérir la connaissance du domaine (à l’aide documentation et d’experts du domaine), organiser l’ontologie (à l’aide de méthodologie de conception d’ontologies), alimenter l’ontologie (par des concepts, des relations et des individus), vérifier la cohérence du résultat (cohérence syntaxique, logique et sémantique) et soumettre à la publication (validation par les experts du domaine).
Il existe plusieurs logiciels pour construire des ontologies (composant terminologique seulement ou bien ensemble de l’ontologie). On trouve des produits commerciaux offrant des fonctionnalités d’édition d’ontologie non spécifiques à un domaine, des logiciels d’édition intégrés à des solutions d’entreprises spécialisées et des logiciels d’édition issus du secteur public. Les outils intégrés à des solutions d’entreprise offrent des fonctionnalités de classification et d’analyse automatisées afin d’extraire de l’information à partir de contenus non structurés. Une fonctionnalité attendue mais actuellement non présente dans ces outils consiste à permettre, via une ontologie, de réconcilier des langages et vocabulaires XML spécialisés par domaines commerciaux. Pour le moment, l’interopérabilité est uniquement offerte par des fonctions d’import et d’export en différents langages de sérialisation d’ontologie (par exemple basés sur XML). Rares sont les logiciels d’édition offrant des fonctionnalités de fusion d’ontologies hétérogènes.
Trois logiciels d’édition sont remarquables : Protégé 2000 pour la richesse de ses fonctionnalités et son extensibilité via des plug-ins, Ontolingua et OpenCyc en tant qu’environnement de développement d’ontologies complexes ainsi que pour l’accès, par OpenCyc, à une ontologie globale de référence très complète (Cyc). Les fonctionnalités essentielles attendues pour ce type d’outil sont une visualisation et une manipulation confortables et intuitives des concepts et des relations qui composent l’ontologie. L’approche classique consiste à offrir une combinaison de vues sous formes d’arbres à la manière de l’explorateur de Windows. Une visualisation sous forme de graphe est plus rare. Elle doit alors offrir une fonctionnalité de zoom permettant de manipuler des graphes très étendus. Ce type de zoom peut par exemple prendre la forme d’une visualisateur hyperbolique ou d’un visualisateur « à la treemap » (les noeuds « enfants » d’un point de départ sont visualisés *à l’intérieur* du noeud parent et sont explorés par un zoom progressif pour descendre en profondeur à travers les noeuds…). Enfin, certains logiciels d’édition offrent la possibilité d’ajouter à l’ontologie des axiomes et règles d’inférence permettant d’évaluer cette ontologie dans un environnement de développement.