4.4.1. Le formalisme de graphe RDF

Le principal formalisme de manipulation des graphes pour lequel il existe des outils partagés par la communauté du développement informatique est RDF : Resource Description Framework. RDF est un standard développé par le W3C (World Wide Web Consortium), l'organisme de standardisation d'internet. Son objectif est de permettre de décrire de façon formelle les ressources Web, de façon à permettre leur traitement automatique. Cet objectif est globalement désigné sous le terme de "web sémantique". Son développement est soutenu par une large communauté de développeurs. Ce formalisme a déjà été retenu au Liris, pour l'implémentation d'une application Musette de réutilisation de l'expérience, au sein du logiciel de conception Catia . L'auteur souligne que le cadre du web sémantique duquel il est issu, place RDF à la croisée d'une vocation d'indexation documentaire et d'une vocation permettant des raisonnements logiques. A ce titre, RDF est un bon candidat pour nos systèmes à base de traces.

Un document structuré en RDF est un ensemble de triplets. Du point de vue qui nous intéresse pour la modélisation des graphes, un triplet RDF est une association (sujet, relation, objet). Sujet et objet sont deux nœuds du graphe, relation est un arc du graphe qui les relie. Ces trois types d'objets sont désignés par le terme général de ressource. Ainsi, l'exemple de trace générique que nous avons introduite au paragraphe 4.3.3 peut se modéliser en RDF comme indiqué sur la Figure 48.

Figure 48 : Modélisation de trace sous forme de graphe RDF

Le document RDF contenant ce graphe est constitué des triplets suivants :

Pour la partie ontologie :

(Virage, sous classe de, Observé)

(Virage A, sous classe de, Virage)

(Virage B, sous classe de, Virage)

(Vitesse, sous classe de, Observé)

etc…

Pour la partie trace :

(Evénement 1, Relation, Evénement 2)

(Evénement 1, Relation, Evénement A)

(Evénement 2, Relation, Evénement A)

(Evénement 2, Relation, Evénement 3)

etc…

(Evénement 1, Time Code, 12)

(Evénement 1, propriété, 65)

etc…

Pour les liens entre la trace et l'ontologie :

(Evénement A, de type, Virage A)

(Evénement 1, de type, Vitesse)

etc…

Dans un triplet, le sujet et la relation sont identifiés par une chaîne de caractères. En réalité cet identifiant doit être une URI (Uniform Resource Identifier), qui est une chaîne de caractères dont la syntaxe est définie par une norme du W3C. Objet peut être soit une URI, soit une valeur, comme dans l'exemple du time code d'une valeur de "12".

Plus généralement, dans le formalisme RDF, les triplets peuvent être vus comme des prédicats de la logique du premier ordre. A ce titre, ils permettent de calculer des inférences logiques.