Les petites cases

De la théorie à la pratique : l'ontologie du monde de Harry Potter

Dans mon précédent billet, j'ai tenté de définir ce qu'on entend par une ontologie dans le cadre du Web sémantique et de vous présenter le langage OWL. Or, tester est le meilleur moyen d'apprendre et de comprendre un langage informatique, j'ai donc créé une petite ontologie du monde de Harry Potter grâce à Protege. Je ne pense pas que je maintiendrai cette ontologie, ce n'est qu'un modeste exemple perfectible et contenant certainement des erreurs, mais il faut bien commencer par quelque chose.

Pourquoi Harry Potter ? Tout simplement, parce que j'ai commencé à apprendre OWL et à créer cette ontologie juste après avoir lu dévoré le dernier volume de la série, Harry Potter et le prince de sang mêlé. Finalement, grâce à mon collègue Nicolas (coucou, Nico ;-) ), j'ai appris que j'avais fait un clin d'œil à la série sans le savoir. En effet, the owl signifie en anglais chouette, or, c'est le nom dans la version originale des examens que passe Harry en cinquième année (« Buse » dans la traduction française), donc dans Harry Potter et l'ordre du phénix. Voilà pour l'anecdote.

J'ai donc créé et peuplé mon ontologie grâce à Protege avec l'aide précieuse du très bon site Poudlard.org, j'en ai extrait un fichier RDF et j'ai créé des feuilles de style XSL très basiques (croyez-moi traiter du RDF avec XSL, ce n'est pas une sinécure...) pour transformer le RDF en HTML et visualiser le résultat dans un navigateur. J'espère que ça vous plaira. Si vous voulez (oui, il n'y a toujours pas de commentaires, mais vous pouvez me joindre par mail ;-) ), je peux revenir en détail sur la création et la composition de cette ontologie voire donner les fichiers à des personnes qui voudraient la continuer. Mais, pour ce soir, je vais m'arrêter là, si vous n'y voyez pas d'inconvénients, car après trois billets, j'ai déjà suffisamment rempli ma journée... Bonne fin de week-end !

RDF OWL XSLT Geekeries — 

Commentaires

Bonjour !! Bien l'ontologie !! j'aimerais pouvoir en faire autant !! et justement je cherche à faire une onto qui indexe un doc pédagogique ( texte et image ) je débute et je me demande comment faire entrer mes données texte pour qu'ensuite mon ontologie puisse l'indexer ? la création d'une ontologie m'est limpide mais comment ensuite la relier à mes données ?
Je ne suis pas sûr de comprendre ce que vous voulez faire. Si le problème réside dans la structuration et l'interrogation d'un document pédagogique, je ne sais pas si une ontologie est le meilleur outil. Vous pouvez encoder votre document en XML avec une grammaire quelconque (TEI, docBook ou même XHTML) et ensuite utiliser un outil comme eXist pour interroger ces documents encodés en XML. Si le problème réside dans le peuplement de l'ontologie, vous pouvez aussi peupler cette ontologie à partir du fichier XML de votre document pédagogique et une petite feuille de style XSL (RDF peut aussi être exprimé en XML). Ensuite, il faut dédier une propriété pour relier le document XML et l'ontologie avec un système d'ID/IDREF. Enfin, pour les documents pédagogiques, il existe une norme de métadonnées LOM, je ne sais pas si vous connaissez ou si cela répond à vos besoins, mais sait-on jamais, il est souvent inutile de réinventer la roue : Learning Object metadata. J'espère que cela vous aura renseigné.
Bonjour, C'est la même personne, quatre mois aprés qui découvre qu'on a répondu à sa question !! ( trop esseulée, j'ai renoncé au premier projet ! mais je reviens à la charge ! ) Merci de votre réponse ! d'ailleurs elle pourrait encore m'aider car je viens de finir une ontologie ( transformation d'une nomenclature automobile en ontologie ) qui doit indexer un doc smg-xml, le problème du rattachement de l'onto au doc smg-xml se pose donc toujours, je vais tenter votre suggestion id/rdf ? Encore merci !
Salut, Je suis remonte depuis ton tres bon commentaire sur biologeek ce matin (que j'approuve fortement), jusqu'a ce post. Tu parviens a faire afficher du OWL par le navigateur via une stylesheet XSL. Chose a laquelle je me suis confronte et me suis resigne a abandonner! Vu la source, je suppose que tu utilise un moteur de transformation XSL qui te genere un fichier HTML independant. N'est-il? Ca m'interreserai bcp d'avoir ces fichiers (l'ontologie et XSL). Pourrai tu me les faire parvenir? Merci d'avance. ArnO
Effectivement, pour ce test, j'ai utilisé des feuilles de styles XSL pour parser mon fichier OWL. Pour lancer le parsing, j'utilise PHP qui lance libxslt, ce qui fait que la page se génère dynamiquement à chaque passage et je ne génère pas en local un fichier HTML indépendant.
Pour autant, utiliser XSL n'est pas la méthode la plus adaptée pour traiter du RDF, car l'écriture du RDF n'est pas normalisée et il est possible d'écrire des triples de différente façon. Il s'agit juste d'un test dans ce cas et c'est pourquoi j'avais dans un autre billet expliqué une autre méthode avec SPARQL (Mes vacances aux standards d'hiver) ; malheureusement les exemples sont cassés pour le moment, il faudrait que je reprenne cet exemple en utilisant RAP.
En ce qui concerne les fichiers, le lien vers le RDF est disponible dans le billet, quant aux (affreuses ;-) ) feuilles de style XSL, il y en a plusieurs : Tu devrais pouvoir trouver ton bonheur aussi dans l'autre billet. J'espère que cela t'aidera, c'est vrai que traiter du RDF en XSL est assez compliqué , mais ça peut rendre des services.
C'est pas "protege", c'est "protégé".
Bonjour, J'ai lu l'aide de protégé et j'ai pu réaliser une petite ontologie, mais j'ai pas bien compris la différence entre une ontologie .owl et .pprj (pourquoi un fichier .pprj peut se transformer au format html par contre .owl ne se transforme pas) Une autre question le fichier .html obtenu comment je peux l'exploiter a interrogé l'ontologie. J'ai pleins de questions et idées sur ce domaine intéressant. Cordialement Nouri
Le fichier pprj mémorise le projet de protégé, OWL ce sont les "données"

Bonjour,

j"essaye désespérément d'ouvrir un fichier RDFS créer avec l'API RAP en PHP avec Protégé 3.2, et j'ai une jolie erreur de "parsing" ou une erreur de pointeur "NUL", (ceci dépend de la démarche que j'emploie ).
Est ce quelqu'un d'entre vous à une idée???

J'ai lu attentivement vos articles sur XML, XSLT, etc. Mais je me suis arrêtée à l'article "Ontologie...", il se trouve que je suis intéressé par ce domaine, j'ai essayé de comprendre cette "science" ou "technologie", je ne sais pas comment la qualifier, enfin bref!...J'aimerai créer une ontologie qui me permettra de relier compétences et savoir-faire avec les laboratoires et équipes de recherches, ceci permettra de rendre l'information plus visible et accessible au monde de la recherche...Seulement, c'est loin d'être réalisable, car je ne suis pas informaticienne, je suis une simple débutante en "information scientifique et technique". Je pense qu'il n'existe pas encore de logiciel pour le dévoloppement d'une ontologie en français et open source...Comment me faire aider pour arriver à réaliser ce petit projet, que je souhaiterai mettre à disposition en open access pour les étudiants et chercheurs....? Merci pour votre réponse. PS: j'aime beaucoup les sujets que vous traitez dans ce blog, bonne continuation.
Le système des ontologies en informatique a été mis au point par le domaine de l'intelligence artificielle. A ce titre, les ontologies entrent dans le cadre du Web sémantique. Pour développer une ontologie facilement, en français et open source, rien de plus simple : Protégé, http://protege.stanford.edu/, logiciel génial mis au point par Stanford, c'est très facile à comprendre. Merci pour vos encouragements.
Bonjour, Il semblerait que mon image (issue de mon FoaF) soit utilisée pour des commentaires d'autres personnes (voir plus haut "Got le 17 août, 2006 - 13:29", et "Protégé le 15 janvier, 2007 - 17:12")... Étrange, certainement un petit bogue quelque part !
Effectivement, une petite condition oubliée et c'est la cata. C'est maintenant réparé.
Bonjour, je suis en train de me pencher sur le sujet des ontologies et je suis tombé sur votre exemple. C'est tres interessant ;) Cependant je n'ai pas bien saisi comment se fesait le lien entre le fichier OWL et la feulle de style XSL. J'ai compris que vous utilisiez un script php utilisant libxslt, j'ai bon? Existe-t-il un exemple de script de ce genre s'appliquant a votre exemple? Merci d'avance et bonne continuation
C'est vraiment très simple, j'applique une feuille de style XSL spécifique à mon fichier OWL qui le formate en HTML. Le parsing se fait à la volée via PHP, comme avec n'importe quelle fichier XML. Ce n'est pas forcément optimum comme solution, car elle est spécifique à la sérialisation en RDF/XML de mon ontologie, puisque la sérialisation en RDF/XML peut être totalement différente tout en exprimant les mêmes triples.
slt tout le monde je cherche un exemple d'ontologie en xml g r1 trouvé :s plz je cherche l'xml d'une ontologie par ex l'ontologie de biologie
je veux moi meme developper une ontologie comme un TP demandé mais j'ai pas arrivé à choisir une simple et comment la developper rapidement si quelqun peut m'aider ça sera un grand plaisir merci

bonsoir je suis entrain de developper une application utilisant les ontologie et systeme multiagents sous plateforme JADE , SVP si il ya qlq un des doc sur cet sujet envoyer les sur mon email: merzougui77@yahoo.fr , merci encore a tous