Tag: ontologie

Petit panorama d’outils sur les ontologies : les traducteurs

Les ontologies sont codées à l’aide de langages particuliers. Le plus connu est OWL. Sa page officielle au W3C est ici. Fin 2012, une recommandation du W3C présentait OWL 2.

Les ontologies peuvent aussi représentées en UML, ou encore graphiquement… On se demande alors naturellement s’il n’existe pas des traducteurs pour passer d’une expression à une autre. Une partie de la réponse se trouve déjà dans les éditeurs d’ontologie et les modeleurs d’ontologie.

Il existe des outils totalement dédiés à la traduction. Je ne les ai pas essayé, mais je suis intéressé par vos retours d’expérience. Parmi ces outils, il y a :

  • UML2OWL, qui se présente comme un “Fast Transformation Tool”.
  • sql2owl, un outil qui facilite la generation de modèles OWL à partir de modèle de bases de données.

Si vous en connaissez d’autres, merci d’avance de me les signaler, je mettrai à jour ce post.


Petit panorama d’outils sur les ontologies : aides

La création d’une ontologie n’est pas chose facile. La faire évoluer non plus, tout comme la référencer, ou encore la cataloguer, etc. Alors où trouver de l’aide ? Qui peut répondre à vos questions ? Pour apporter des réponses aux courageux ontologues débutants, il y a quelques bonnes adresses (mais elles sont rares) où poser ses questions et où lire des réponses aux questions que d’autres ont posées.

Si vous connaissez d’autres sites d’entre-aide, merci d’avance de me les signaler, je mettrai à jour ce post.


Petit panorama d’outils sur les ontologies : les modeleurs

Ces outils permettent de concevoir une ontologie en la modelant. L’UX et l’ergonomie de ces outils est leur principal valeur ajoutée. En voici quelques-uns…

Catégorie : ceux qui marchent

Catégorie : les morts-vivants, on ne sait pas trop

Catégorie : les disparus



Petit panorama d’outils sur les ontologies : l’alignement

Malgré leur utilité manifeste, ces outils sont encore bien rares. Voici une bien maigre moisson. Merci de me laisser un commentaire pour m’en signaler d’autres, que je mette à jour cette page.

Catégorie : ceux qui marchent

Des informations utiles sont disponibles sur http://ontologymatching.org/ : références aux outils existants et liste des publications scientifiques.


Petit panorama d’outils sur les ontologies : les éditeurs

Les éditeurs d’ontologie aident à la création, la modification, la visualisation et bref à la manipulation d’ontologies, et ici manipulation veut dire que le travail est plutôt manuel !

Ils gèrent les ontologies dans un ou plusieurs des langages d’expression des ontologies. Certains outils fournissent des exportations vers d’autres langages d’ontologie. Les plus simples seront des éditeurs syntaxiques réagissant à l’un des langages de description d’ontologies, en premier lieu : OWL. Il y a aussi des outils très voisins comme des éditeurs SKOS et des gestionnaires de thésaurus.

Voici quelques outils, il y en a beaucoup d’autres (vous pouvez d’ailleurs me laisser un commentaire pour je mette à jour cette page).

Catégorie : ceux qui marchent

  • Altova est un éditeur OWL payant
  • Apollo. C’est un éditeur d’ontologie. Il est téléchargeable avec sa documentation (version de 2004).
  • CmapTools Ontology Editor (COE) est un éditeur d’ontologies en techno Java téléchargeable pour Windows, Linux, Solaris et MacOS X. Il supporte de nombreux formats.
  • DOE (Differential Ontology Editor) est un éditeur d’ontologies développé à Eurécom. Il supporte de nombreux formats. Dernière version : 1.51 de 2003.
  • EMFText OWL2 Manchester Editor, basé sur Eclipse, open-source, et intégrant Pellet (raisonneur)
  • Euler GUI est un éditeur qui prend en compte des sources en N3, RDF, OWL, UML, eCore, plain XML ou XSD, des fichiers ou des URL. Il y a d’autres choses encore, à fouiller !
  • FlexViz est un outil de visualisation graphique (en Adobe Flex). Il permet aux utilisateurs de parcourir une ontologie unique où les concepts sont représentés par des nœuds et les relations entre les concepts (par exemple “is_a”, “part-of”) sont représentés par des arcs.
  • IBM Integrated Ontology Development Toolkit est une boîte à outils pour ontologies basée sur Eclipse qui offres des fonctions de stockage, manipulation, d’interrogation et d’inférerence
  • ITM, Intelligent Topic Manager gère de manière unifiée des terminologies métier, des thésaurus, des taxonomies, un dictionnaire de métadonnées (Web Services, API et standards XML, SKOS, RDF).
  • Knoodl is a community-oriented ontology and knowledge base editor.
  • Neologism est un éditeur de vocabulaire en ligne et une plateforme de publication
  • NeOn Toolkit est un éditeur très complet (beaucoup de pluggins). Il est recommandé pour les gros projets, par exemple pour les ontologies multi-modulaires, multilingues ou la fusion d’ontologie
  • Ontopia est une suite open source des outils pour construire des applications basées sur les Topic Maps, fournissant des fonctionnalités telles que designer d’ontologie, un éditeur de données d’instance, un langage de requête complet, les points d’accès aux services web, base de données de stockage, et ainsi de suite.
  • OntoStudio est un outil basé sur Eclipse. Il est téléchageable, supporte RDF(S), OWL et F-Logic. Cet éditeur permet d’édition graphique des règles, et la visualisation. Il a été conçu par ontoprise (version d’essai pendant 3 mois)
  • PoolParty est un éditeur SKOS et un gestionnaire de thésaurus
  • Protégé est un éditeur open source très complet (beaucoup de plugins). Il est le plus célèbre de sa catégorie. On pourrait aussi dire de lui que c’est un “modeleur d’ontologie”. Il propose deux types de modélisation d’ontologies : Protégé-Frames et Protégé-OWL. Les ontologies créés dans Protégé peuvent être exportées dans les formats RDF(S), OWL et XML Schema.
  • SWOOP est un petit éditeur très simple
  • TopBraid Composer est l’éditeur multi-propos de TopCadrant
  • Vitro est un éditeur intégré et une application web de navigation (‘Université Cornell, 2011)
  • WebProtégé la version en ligne de Protégé

Catégorie : les morts-vivants, on ne sait pas trop

  • Chimaera aide les utilisateurs à créer et maintenir des ontologies. Ses deux grandes fonctions sont a) la fusion et b) le diagnostic d’ontologies.  Il permet aussi  le chargement de bases de connaissances dans différents formats, la réorganisation de taxonomies, et fonctions majeurs : il supporte la fusion de plusieurs ontologies et le diagnostic d’une ontologie ou de plusieurs. On ne parvient pas à accéder au téléchargement, il faut probablement entrer en contact avec le labo de Stanford.

Catégorie : les disparus

  • Java Ontology Editor (JOE) (1998)
  • OilEd, un éditeur élémentaire d’ontologie pour la création d’ontologies basées sur OIL. Réalisé à l’Université de Manchester, il n’est plus maintenu.
  • Ontofly était un éditeur en ligne.

Bibliographie


Petit panorama d’outils sur les ontologies : les moteurs de recherche

(Mise à jour le 14 avril 2013)

Devant la difficulté de créer une ontologie, on peut vouloir en trouver une qui corresponde à son besoin. Mieux, on peut vouloir trouver une ontologie existante car elle aura déjà fait ses preuves, elle aura peut-être une communauté d’adorateurs. Bref, il n’est pas besoin de vous dire l’utilité des moteurs de recherche qui vous permettront de trouver l’ontologie de vos rêves.

L’utilisation de ces moteurs est un peu particulière. L’expression de la recherche se fait en langage naturel avec des mots clés et les résultats produits sont classés. Certaines informations supplémentaires sont souvent fournies.

Mais la difficulté n’est pas dans la recherche à proprement parlé. Une fois que vous avez une liste de résultats, la vraie question est : laquelle choisir ! C’est pour cette raison qu’il existe une nouvelle catégorie d’outils comme LOV (une version indépendante est hébergée à l’OKFN), un des modules de Datalift, destiné à cataloguer, trouver et choisir des ontologies. Ca mérite le détour.

Voici quelques outils, il y en a beaucoup d’autres (vous pouvez d’ailleurs me laisser un commentaire pour je mette à jour cette page).

Catégorie : ceux qui marchent

  • FalconS pour chercher et trouver des objets, des concepts, des ontologies ou des documents. Pour les ontologies, les résultats sont rendus avec des graphes.
  • LOV, l’outil de référence, recherche parmi des ontologies de référence.
  • ontologi.es est une liste de liens … c’est très sommaire, mais ça peut servir (merci Raphaël)
  • ontosearch pour chercher par des termes.
  • Sindice, l’outil facile et utile pour trouver en soumettant des termes, des URI, des propriétés et un mode avancé pour aller plus loin. Il y a encore d’autres fonctions utiles …
  • Swoogle est un ancien outil toujours en ligne, il n’a pas évolué depuis 2007.
  • SWSE permet de rechercher des entités RDF (résultat universitaire, 2011)
  • vocab.cc est un projet open source, qui permet de rechercher des vocabulaires de données liées. Il fournit un classement des URI. (Il tombe en 404 quand il ne trouve pas)
  • vocab.org est destiné à être un espace d’URI ouvert pour des vocabulaires tels que RDF schema ou des documents d’espaces de noms XML (merci Raphaël)
  • Watson est un moteur intéressant car il évolue régulièrement (à suivre).

Catégorie : les morts-vivants, on ne sait pas trop

Catégorie : les disparus

  • schemapedia … ce dernier était le plus intéressant car il fournissait non seulement des vocabulaires mais de nombreux exemples quant à leur utilisation. Malheureusement, il était basé sur la plate-forme Talis et il s’en est allé avec cette plate-forme. Le code est toute fois ouvert sur Google Code (merci Raphaël).

  • Petit panorama d’outils sur les ontologies

    Définition

    Commençons par rappeler ce qu’est une ontologie dans le monde du web des données. Pour cela, je vous renvoie à mon post Comment définir une ontologie ?

    Synonyme

    Le mot ontologie est souvent inconnu. Plutôt que d’être mal compris, il vaut mieux parfois proposer un synonyme. Vous pouvez choisir le mot “vocabulaire”, il est régulièrement utilisé dans ce sens.

    Expression

    Pour exprimer une ontologie, il faut un langage. Le plus courant est aujourd’hui OWL. Ce chouette langage qui tire son nom d’un acronyme, Web Ontology Language, a été proposé dès 2004 au W3C (une version française de la proposition est disponible). En 2009, une proposition pour OWL 2 a été soumise, sa dernière version date de 2012.

    Opérations

    Avant de trouver des outils pour manipuler des ontologies, commençons par nous demander ce qu’on peut vouloir faire. Très simplement, on peut créer, modifier (ou transformer), éditer, tester, cataloguer, rechercher, comparer … des ontologies.

    Donc, il nous faut des éditeurs (pour créer, modifier, éditer), des documenteurs, des validateurs (pour tester), des catalogueurs, des moteurs de recherche, des comparateurs, sans oublier des outils d’aide à des traitements plus complexes comme l’alignement d’ontologies, la gestion de version, le split d’ontologie ou son contraire la fusion (merge), la différence, etc…

    Le premier travail, qui est loin d’être facile, c’est la création d’une ontologie (cela peut prendre plusieurs mois !), il n’est guère plus facile de propager les modifications induites par l’évolution d’une ontologie. Humm, ça sent les verrous technos !

    Alors, il faut y aller en douceur : il y a des outils simples et puis des outils carrément pas simples. Et il y a des outils indépendants et des outils intégrés ou intégrables dans des plateformes, comme par exemple la plateforme Datalift.

    Encore deux précisions importantes. La première est que la création d’une ontologie est une oeuvre de l’esprit plutôt que le résultat d’un traitement sauf pour la découverte automatisée de l’ontologie d’un ou plusieurs documents structurés, dans ce cas l’ontologie ad hoc n’apporte pas d’information, elle calque la réalité observée, pas plus. La deuxième est que plusieurs travaux scientifiques ont produit des outils qui ne sont malheureusement pas toujours pérenniser … et le 404 ou le 500 ne sont pas loin.

    Dans les prochains posts, j’aborderai différentes catégories d’outils et je vous invite à réagir pour nous enrichir mutuellement de nos connaissances !


    Comment définir une ontologie ?

    Pour faire simple

    Une ontologie est une façon de partager des connaissances entre l’homme et la machine, celle-ci  en permet le traitement.

    Ces connaissances sont un ensemble structuré de concepts (sous la forme d’une hiérarchie ou d’un graphe). Les concepts manipulés peuvent être des choses, des événements, des relations, etc.

    Mais vous voulez peut-être en savoir plus …

    Le Web de données, alias Web 3.0, alias Web sémantique, n’est plus un sujet de pure recherche. Déjà en 1999, Tim Berners-Lee expliquait que “le Web Sémantique est une extension de l’Internet où les informations sont définies sémantiquement afin de faciliter le partage et la coopération”. Aujourd’hui, on voit de plus en plus de projets, et les responsables informatiques et les décideurs des entreprises ou des administrations se renseignent pour comprendre les promesses de ce nouveau continent et envisager ce que leur système d’information y gagnera. Mais les premières difficultés rencontrées sont le vocabulaire et les concepts qu’il faut manipuler. Les oeuvres de vulgarisation sont encore peu nombreuses, il y a encore beaucoup à faire …

    Dans ce billet, il est question d’ontologie. Je vais donner quelques définitions, à différents niveaux, de cet objet particulier et central dont le seul mot déjà peut rebuter.

    Si vous êtes passés par Wikipedia, vous aurez vu qu’il y a bien d’autres acceptions : philosophique, médicale ou géopolitique. Le vocabulaire est bien chargé ! Pour autant, vous allez voir que ce n’est pas si terrible que ça. Wikipedia propose une page intéressante sur l’ontologie, au sens du Web de données ; la page anglaise est plus fournie encore. La visite d’autres sites spécialisés, comme par exemple celui du CNTRL, ne donne en revanche aucune définition sur notre sujet.

    On trouve aussi de bonnes synthèses (en français), comme celles de Benoit Lavoie ou de Gautier Poupeau.

    A – En 1993, Tom Gruber donne la célèbre définition suivante “An explicit specification of a conceptualisation” (une ontologie est une spécification explicite d’une conceptualisation). Cette définition a la vertu d’être courte, mais elle laisse sur sa fin lecteur d’aujourd’hui compte-tenu des développements du Web de données.

    B – En 2003, Sean Bechhofer, Ian Horrocks and Peter F. Patel-Schneider définissent l’ontologie comme un artefact de l’ingénierie

    • constituée par un vocabulaire spécifique, elle est utilisée pour décrire une certaine réalité
    • et un ensemble d’hypothèses explicites sur le sens voulu du vocabulaire.

    Ainsi, une ontologie décrit une spécification formelle d’un certain domaine

    • elle en est une compréhension partagée
    • et un modèle formel et manipulable par une machine.

    C - La définition de l’IEEE (2003)

    Une ontologie est semblable à un dictionnaire ou un glossaire, mais avec plus de détails et une structure qui permettent aux ordinateurs de traiter leur contenu. Une ontologie se compose d’un ensemble de concepts, d’axiomes, et de relations qui décrivent un domaine d’intérêt.

    D – En 2007, le même Tom Gruber précise.

    Dans le contexte de l’informatique et des sciences de l’information, une ontologie définit un ensemble de primitives de représentation pour modéliser un domaine de connaissance.

    Les primitives de représentation sont généralement

    • des classes (ou des ensembles),
    • des attributs (ou des propriétés),
    • et des relations (ou des liens qui relient des éléments de classe)

    Les définitions des primitives de représentation incluent

    • des informations sur leurs significations
    • et des contraintes sur leurs applications, qui doit être logiquement cohérente.

    Dans le contexte des systèmes de base de données, l’ontologie peut être considérée

    • comme un niveau d’abstraction des modèles de données, analogue aux modèles hiérarchiques et relationnels,
    • mais destinée à la modélisation des connaissances sur les individus, leurs attributs et leurs relations avec d’autres individus.

    Les ontologies sont généralement décrites dans les langages qui permettent l’abstraction indépendamment des structures de données et des stratégies de mise en œuvre. En pratique, les langages de description des ontologies ont une puissance expressive plus proche de la logique du premier ordre que celle des langages utilisés pour les modèles de bases de données. Pour cette raison, on dit des ontologies qu’elles sont de niveau “sémantique”, tandis que les schémas de bases de données sont des modèles de données de niveau «logique» ou «physique».

    Du fait de leur indépendance par rapport aux modèles de données de niveau inférieur, les ontologies sont utilisées pour l’intégration de bases de données hétérogènes, permettant une interopérabilité entre des systèmes disparates, et la spécification d’interfaces de services indépendants de la connaissance. Dans le stack technologique des standards du Web sémantique, les ontologies représentent explicitement une couche.

    E - Kore Nordmann (2009)

    Les ontologies sont un concept théorique en sciences de l’information destiné à représenter formellement des connaissances dans un logiciel capable de les traiter et de raisonner avec. Souvent aussi la lisibilité pour l’homme est un aspect central.

    F - Pour faire simple, suite (2010)

    Si je reprends ce que j’écrivais au début de cette page et que je complète un peu à l’aide des autres définitions que nous avons maintenant parcourues, on peut esquisser ceci :

    Une ontologie décrit généralement des

    • individus : des objets de base,
    • classes : des ensembles, des collections ou des types d’objets,
    • attributs : des propriétés, des fonctionnalités, des caractéristiques ou des paramètres que les objets possèdent et partagent,
    • relations : des liens qui relient  les objets,
    • événements : des changements qui affectent des attributs ou des relations.

    Ces descriptions sont la formalisation d’un ensemble de connaissances exprimées dans un langage

    • compréhensible par un humain
    • et qui peut être traité par un logiciel à des fins de raisonnement.

    La formalisation d’une ontologie en structure les termes et les concepts à l’aide d’un graphe où les relations sont

    • des relations sémantiques,
    • des relations d’inclusion (subsomption).

    L’ontologie est donc la spécification explicite d’une conceptualisation … Nous avons retrouvé la définition donnée par Tom Gruber en 1993 !

    Concluons

    Les définitions sont nombreuses et couvrent parfois des aspects différents. A l’évidence, il n’existe pas une seule bonne définition. Il faut donc y voir la marque d’une richesse que confirme la difficulté de créer une ontologie. Mais c’est là un autre sujet ! Il existe aujourd’hui plusieurs langages standard pour décrire une ontologie. La gamme d’outils commerciaux ou open source se développe. Ce seront les thèmes de prochains billets. A suivre …


  • Catégories

  • Calendrier

    July 2014
    M T W T F S S
    « Mar    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • Archives

  • Copyright © 1996-2010 Blogabriel. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress