Les descriptions en RDF utilisent des constructions très simples, qu’on peut assimiler en grammaire de l’école élémentaire à des phrases de type “Sujet + Verbe + Complément” ou plus généralement “Groupe Sujet + Groupe Verbal + Groupe Complément”, et appelées dans le vocabulaire technique RDF des triplets “Sujet Prédicat Objet”, ou encore “Sujet Propriété Objet”. Avec cette boite à outil minimaliste, une description RDF peut se réduire en première approximation à un ensemble de phrases qui ont toutes le même sujet. En langage naturel, plusieurs éléments de description sont souvent imbriqués dans une expression complexe, comme par exemple : “… une montagne d’altitude 3913 m, voisine du Mont Pelvoux“. A noter que la chose qui est le sujet n’est dans ce cas ni identifiée ni nommée explicitement, mais sa description contient implicitement trois phrases ayant ce même sujet.
… “est une” montagne
… “a une altitude en mètres de” 3913
… “est voisin de” Mont Pelvoux
Le premier élément de description définit un type pour le sujet. La façon la plus fréquente d’exprimer le typage en RDF est d’utiliser une classe, de préférence définie dans un langage d’ontologie comme RDFS ou OWL. On peut chercher une telle ontologie dans une bibliothèque comme Swoogle, et comme la plupart des ontologies disponibles sur le Web utilisent l’anglais, chercher si une classe “Mountain” est disponible.
http://swoogle.umbc.edu/index.php?service=search&queryType=search_swd_ontology&searchString=mountain
Le nombre de réponses laisse l’embarras du choix, mais par exemple http://sweet.jpl.nasa.gov/ontology/earthrealm.owl définit une classe “Mountain” qui semble convenir.
On peut donc se risquer à écrire ce morceau de description (D1)
<rdf:Description>
<rdf:type rdf:resource=”http://sweet.jpl.nasa.gov/ontology/earthrealm.owl#Mountain”/>
…
</rdf:Description>
Si on choisit ce genre de déclaration il faut bien en mesurer les conséquences. L’ontologie où cette classe est définie attache toutes sortes de propriétés logiques à la classe en question, et donc si je déclare ma chose comme instance de cette classe, pour tous les agents du Web sémantique, elle héritera de toutes les propriétés de la dite classe, pour le meilleur et pour le pire. En particulier si l’éditeur de l’ontologie (la NASA) décide de modifier cette ontologie, il y aura un impact sur ma description. La déclaration ci-dessus implique qu’on assume ces conséquences.
Une façon différente d’exprimer le typage est d’utiliser un vocabulaire contrôlé, de type thesaurus ou taxonomie, typiquement représenté en langage SKOS, et de déclarer le typage comme une indexation/classification de ma chose sur un élément de ce vocabulaire, en utilisant un attribut d’indexation spécifique, moins contraignant que le rdf:type ci-dessus.
Par exemple en utilisant l’ontologie geonames dont nous avons déjà parlé, on aura la description (D2)
<rdf:Description>
<geonames:featureCode rdf:resource=” http://www.geonames.org/ontology#T.MT”/>
…
</rdf:Description>
La définition de la propriété “featureCode” dans l’ontologie de référence http://www.geonames.org/ontology/ontology_v1.2.3.rdf permet de déduire de cette déclaration que ma chose est de classe http://www.geonames.org/ontology#Feature, qui entraîne certes moins de contraintes logiques que la classe “Mountain” de la NASA, mais qui est néanmoins le rattachement à une classe logique avec des propriétés attachées comme latitude et longitude. Un autre intérêt de la description D2 est qu’elle permet a priori des descriptions multiples, utilisant des attributs et/ou des vocabulaires différents.
Pourquoi choisir D2 plutôt que D1? Tout dépend de l’usage que l’on veut faire de la description. Si on veut l’attacher à une chose bien identifiée et utiliser cette description dans une base de connaissances pour faire des raisonnements en utilisant des règles complexes, une description de type D1 est sans doute préférable. Mais si le but de la description est plutôt l’indexation et la recherche – classer et pouvoir retrouver les choses à partir de leurs éléments de description, par une recherche multicritères ou les rubriques d’une taxonomie de navigation – une description de type D2 sera plus adaptée.
Sans aller davantage dans les détails, une leçon à tirer est que pour formaliser une description “naturelle” en RDF, on doit prendre en compte les usages qu’on aura de cette description. Aucun choix n’est “bon” ou “mauvais” dans l’absolu, et aucune description n’épuise le sujet.
Publié par bernard 