Question d'ontologie RDF
Par idoric le mercredi, mai 13 2009, 14:42 - Lien permanent
Imaginons une ontologie (RDF+OWL) de villes utilisée par des géographes. Comme il se doit, chaque ville a un nom, d'où la présence de triplets du style {<ville> ns:name <nom>}. Des historiens passent par là et commencent à ajouter la date de création de ces villes. Les géographes ne trouvent rien à redire, car cela ne change en rien leurs habitudes (et parce qu'évidemment la base est sous une licence libre ;) et ouverte aux contributions).
Jusqu'au jour où un historien arrive avec une étrange histoire, celle de la ville de Tsaritsyne, qui a changé de nom pour Stalingrad en 1925, puis à nouveau en 1961 pour Volgograd. Les géographes sont les premiers à réagir : « la modification de la structure de la base est exclue, car cela entraînerait celle de nos programmes, et tout ça pour des cas particuliers qui ne nous concernent même pas ». Mais les historiens ne sont pas plus enchantés : ils voudraient bien pouvoir continuer à bénéficier des enrichissements et corrections apportés par les géographes.
Ma question est donc double :
- en premier lieu, comment gérer une propriété qui est fonction de la date (ou plus précisément d'une période) avec de simples triplets ?
- et si c'est possible, est-ce qu'en plus on peut le faire en enrichissant la structure (et non pas la modifier), c'est à dire en reprenant l'existant, sans introduire le moindre doublon informationnel avec ce qui existait déjà ? (les inférences pour la construction automatique de triplets est autorisée, mais ne pas oublier que l'idée est de pouvoir continuer à faire {<ville> ns:name <nom>} quand ce n'est pas la peine de faire plus compliqué)
Commentaires
Hello,
Très bonne question! C'est effectivement un problème récurrent et classique de la modélisation d'ontologies, à savoir comment attacher à la validité d'un certain nombre d'assertions une période temporelle?
Il y a plusieurs approches ... mais aucun consensus je crois dans la communauté, qui manque encore d'expériences pour fournir un guide de bonnes pratiques.
Je te conseille tout d'abord de lire l'article suivant qui doit exactement résoudre ton problème:
Tomi Kauppinen, Jari Väätäinen and Eero Hyvönen: Creating and Using Geospatial Ontology Time Series in a Semantic Cultural Heritage Portal
http://www.seco.tkk.fi/publications...
Une autre méthode consiste à réifier les assertions du type: {<ville> ns:name <nom>} en leur attachant une validité temporelle, par exemple en créant 2 prédicats (begin, end) pour spécifier un intervalle de temps.
De manière similaire, il n'y a pas que les villes qui changent de nom au cours du temps mais de nombreuses entités ont leur rôle qui évoluent au cous du temps. C'est évidement vrai d'une personne, tantôt étudiante, puis exerçant plusieurs professions, puis retraitée, etc. De manière peut être plus surprenante, une ville peut avoir aussi son rôle qui évolue. Amsterdam est devenue capitale relativement récemment, même si aux Pays Bas, il y a une autre ville où doit siéger le parlement (La Haye). Ce problèmede modélisation dans une ontologie a été discuté, en particulier par Guarino, Gangemi, voir par exemple l'ontologie DOLCE, http://www.loa-cnr.it/DOLCE.html.
Raphaël
Dès que j'ai le temps je vais lire tout ça avec attention. Enfin de quoi débloquer ma réflexion, merci !