• 20 hours
  • Hard

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/12/19

Initiez-vous à la construction de la connaissance

Log in or subscribe for free to enjoy all this course has to offer!

Construisez les connaissances

Tout d’abord, nous définirons ce qu’est une ontologie, et comment elle permet d’enrichir les données. Nous explorerons ensuite quelques technologies du Web sémantique, avant de découvrir le rôle d’un raisonneur par rapport aux données enrichies.

Allons-y !

Les ontologies, vocabulaires du Web sémantique

Commençons par une analogie simple. Pour que deux personnes se comprennent, il est non seulement impératif qu’elles partagent le même vocabulaire, c’est-à-dire ici qu’elles parlent la même langue, mais aussi qu’elles partagent la même conceptualisation : les mots doivent avoir le même sens pour tous les interlocuteurs. Il en va de même pour les objets connectés : pour être interopérables, ces objets doivent utiliser un même vocabulaire pour décrire une connaissance partagée.

 

Définition

Une ontologie est un outil qui permet d’obtenir un tel vocabulaire. La définition formelle d’une ontologie a été formulée comme suit : “Une ontologie donne une spécification formelle et explicite une configuration partagée”. Cette définition est très académique, et peut paraître obscure de but en blanc. Décortiquons-la ensemble.

Une spécification est une description exhaustive d’un domaine, qui en définit les termes. Elle est dite formelle si elle est exprimée dans un langage sans ambiguïté, et explicite dans le sens où aucune connaissance ne doit être sous-entendue. Une conceptualisation est une représentation du monde, et, pour qu’elle ait du sens, elle doit faire consensus au sein du domaine qu’elle décrit. C’est pour cela qu’elle doit être partagée. Cette définition ne nous indique cependant pas ce que contient une ontologie.

Contenu

Une ontologie contient :

  • un ensemble de concepts issus du domaine qu’elle décrit, comme ici le domaine des objets connectés : Capteur, Température…

  • des relations entre ces concepts : un Capteur mesure une Température, par exemple ;

  • des axiomes logiques pour décrire les connaissances : la classe capteurDeTempérature est définie comme tous les capteurs qui observent une température.

 

Utiliser une ontologie

Supposons que l’on dispose d’un ensemble de données à décrire. Ces données sont dites brutes : elles ne sont associées à aucune métadonnée. Ces données sont exprimées dans un format spécifique, et ne sont pas interopérables. À l’inverse, on dispose d’une ontologie qui définit les termes d’un vocabulaire interopérable. On va donc annoter les données à l’aide du vocabulaire fourni par l’ontologie.

L’ensemble du vocabulaire et des données décrites est appelé base de connaissances. On parle de partie assertionnelle pour désigner les données, et de partie terminologique pour désigner le vocabulaire dans la base de connaissances.

On peut visualiser une ontologie ou une base de connaissances dans un graphe. Les concepts en sont les sommets, et les relations, les arêtes. Des services en ligne comme WebVOWL permettent la représentation graphique d’ontologies. Mais comment formaliser ce graphe pour le rendre lisible par un programme ? C’est là qu’interviennent les technologies du Web sémantique.

Les technologies du Web sémantique

RDF, un langage de représentation de graphes de ressources

Tout d’abord, le RDF (ou ressource description framework) est un langage qui permet de définir un graphe de ressources. Chaque ressource est identifiée sur le graphe par une URI permettant le déréférencement du vocabulaire. Le modèle de données RDF est construit sur la base du triplet.

Un triplet est un élément atomique de graphe définissant une relation entre deux entités. Comme son nom l’indique, le triplet est constitué de trois éléments : le sujet, à savoir l’entité au centre de la déclaration ; la propriété, c’est-à-dire la caractéristique que l’on veut donner au sujet ; et enfin l’objet, qui est la valeur de la propriété pour le sujet.

Par exemple, le triplet suivant caractérise une lampe, telle que stockée dans la base de connaissances du laas : <https://w3id.org/laas-iot/adream-appartment#PHL_LMP_01, rdf:type, https://w3id.org/laas-iot/adream#PhillipsHue>.

La lampe est le sujet du triplet, la propriété que l’on définit est son type, et le type en question est l’objet du triplet. Vous remarquerez que les 3 éléments sont identifiés par des URI. La notation pour la propriété s’appuie sur un préfixe prédéfini. Une fois que les données sont stockées dans la base de connaissances en RDF, les applications vont avoir besoin d’y accéder.

SPARQL, un langage pour interroger les graphes RDF

Pour cela, les applications utiliseront le langage SPARQL qui permet d’exprimer des requêtes sous forme de motifs de graphe que l’on cherche à instancier dans la base de connaissances.

Dans l’exemple

<?lamp, rdf:type, https://w3id.org/laas-iot/adream#PhillipsHue>

on voit que le sujet du triplet est une variable, et non plus une URI connue à l’avance. On pourrait formuler cette phrase en langage naturel de la sorte : “Quelles sont les entités de type Philips Hue ?”

Si on exécute cette requête sur le graphe que l’on a défini précédemment (à un seul triplet), une solution est l’URI de la lampe. Notons qu’une requête SPARQL peut être effectuée sur la partie assertionnelle d’une base de connaissances, comme dans cet exemple, mais aussi sur la partie terminologique, pour déterminer l’ensemble des sous-types de capteurs, par exemple. De plus, la nature formelle et explicite des connaissances exprimées dans une ontologie les rend utilisables dans un processus logique, appelé raisonnement.

 

Le raisonnement

Le raisonnement est effectué par un logiciel appelé raisonneur. Celui-ci s’appuie sur une base de connaissances, ainsi que sur un ensemble de règles qui lui permettent d’inférer (de conclure logiquement) de nouvelles connaissances qui viennent s’ajouter au contenu de la base de connaissances.

Ces règles qui guident le raisonnement sont de deux types. Tout d’abord, un ensemble de ces règles est préétabli et partagé par la plupart des raisonneurs. Celles-ci sont décrites par des langages comme RDFS ou OWL, par exemple, qui définissent des hiérarchies ou des relations spécifiques entre concepts. Un raisonneur peut cependant choisir de n’en implémenter qu’une partie, ce qui est spécifié dans sa documentation.

Les règles communes à tous les raisonneurs ne peuvent cependant pas suffire à tous les cas d’application, et il est possible de définir des règles spécifiques à une application donnée, dans un langage comme SWRL ou SPIN. Dans ce cas, le raisonneur assimile ces nouvelles règles et les applique à la base de connaissances de la même façon que les règles préétablies.

La sémantique dans OM2M

La version d’OM2M distribuée pour ce MOOC contient une partie des spécifications de oneM2M concernant la sémantique. Vous utiliserez lors de l’activité 2 les technologies présentées dans ce chapitre, pour mieux comprendre l’intérêt qu’elles apportent au monde des objets connectés.

Example of certificate of achievement
Example of certificate of achievement