• Aucun résultat trouvé

Les données Liées RDF (Ressource Description Frame-

Frame-work)

RDF est l’acronyme de Ressource Description Framework. C’est est un Fra-mework qui permet de représenter des informations sur le Web manière flexible et peu contraignante. Dans cette section, on va projeter la lumière sur ce Fra-mework en abordant sa syntaxe abstraite, concrète et sa sémantique formelle. RDF peut être utilisé dans des applications indépendantes, où il offre une pré-sentation directe et facile à comprendre. Mais généralement, la valeur de RDF est considérable lorsqu’il y a un partage d’information, car la valeur de l’information augmente lorsqu’elle est accessible. RDF est conçu pour les utilisations suivantes [Graham & Jeremy 2004] :

• Métadonnées : fournir des informations sur les ressources Web et les sys-tèmes qui les utilisent.

• Applications nécessitant des modèles d’informations ouvertes, par exemple, planification et description des processus organisationnels.

• Pour rendre l’information traitable automatiquement par ordinateur.

• Pour combiner les données de différentes applications afin d’extraire ou déduire une nouvelle information.

• Pour automatiser le traitement des informations Web par les agents logi-ciels.

3.4.1 Les concepts de base de RDF

Les concepts de base de RDF sont comme suit : le modèle graphique, les IRIs, les types de données, les littéraux, sérialisation. Les sous-sections suivantes détaillent toutes ces notions.

Modèle de données graphique

Une expression RDF est exprimée sous forme de triplets, où chaque triplet est constitué d’un sujet, un prédicat et un objet. La fusion d’un ensemble de triplets forme un graphe RDF, dont les nœuds sont des sujets ou des objets et les arcs orientés représentent les prédicats. La Figure 3.2 représente un triplet sous forme d’un lien nœud-arc-nœud. Un triplet représente une déclaration d’une relation entre les éléments désignés par les nœuds (sujet et objet). La direction de l’arc est significative : il pointe toujours vers l’objet [Graham & Jeremy 2004].

Chapitre 3. Web sémantique

Les IRIs

Un IRI (Internationalized Resource Identifier) est une chaîne de caractères Unicode qui doit être conforme à la syntaxe définie dans la RFC 3987. Dans un triplet RDF, les adresses IRI doivent être absolues et peuvent contenir un identi-ficateur de fragments. Une IRI est une généralisation d’une URI. Elle permet une large présentation de caractères Unicode. Chaque adresse URI et URL absolue est une adresse IRI, mais une IRI n’est pas forcément une URI [Richard et al. 2014]. Un nœud (sujet ou objet) d’un triplet peut être :

• un URI avec un identificateur de fragments facultatifs (référence URI ou UR Iref)

• un littéral

• un nœud blanc qui n’est pas une référence d’URI ou un littéral. Un nœud vide est simplement un nœud unique pouvant être utilisé dans une ou plusieurs instructions RDF.

Un prédicat (propriété) est une référence d’URI qui identifie une relation entre les éléments représentés par les nœuds auxquels elle se connecte. Une référence d’URI de prédicat peut figurer comme un nœud dans un graphe RDF. Notez que les URI relatifs ne sont pas utilisés dans un graphe RDF [Richard et al. 2014].

Types de données

Les types de données sont utilisés par RDF pour représenter des valeurs, telles que les entiers, les nombres à virgule flottante et les dates. Les types de données utilisées dans RDF sont celles de XML Schéma. En plus, RDF définit deux types de données non normatifs, à savoir rdf :HTML et rdf :XML literal [Graham & Jeremy 2004,Richard et al. 2014].

Un type de données consiste en un espace lexical, un espace de valeurs et un Mapping entre les deux espaces (lexical et valeur). L’espace lexical est un en-semble de chaines Unicode. Le mappage entre l’espace lexical et l’espace valeur d’un type de donnée est un ensemble de paires, dont le premier élément appar-tient à l’espace lexical, et le second à l’espace de valeurs [Richard et al. 2014]. Par exemple, le type de données XML Schéma (xsd :boolean), dans lequel chaque membre de l’espace de valeur comporte deux représentations lexicales, est défini comme suit [Richard et al. 2014] :

Espace lexical : {Vrai, faux, 1, 0}

• Espace de valeur : {vrai, faux}

Mapping : {<"True", true>, <"false", false>, <"1", true>, <"0", false>,}. Le tableau 3.1 représente les littéraux qui peuvent être définis à l’aide de ce type de donnée.

Table 3.1 – Les littéraux de type booléenne

Littérale Valeur

<"true", xsd :boolean> True <"false", xsd :boolean> False

<"1", xsd :boolean> True <"0", xsd :boolean> False

Les littéraux

Les littéraux sont utilisés pour identifier des valeurs, telles que les nombres, les dates et les chaînes de caractères. Un littéral pourrait être représenté par un URI, mais il est plus pratique d’utiliser des littéraux. Un littéral ne peut être qu’un objet d’une déclaration RDF.

3.4.2 Exemple d’un graphe RDF

RDF permet de représenter des faits simples indiquant une relation entre deux choses. Un tel fait peut être représenté par un triplet RDF dans lequel le prédicat désigne la relation, et le sujet et l’objet désignent les deux choses. Par exemple, un document en langue arabe identifié par son URI et qui a comme auteur "Mohamed", est représenté comme suit :

Figure 3.3 – Exemple d’un graphe RDF

La Figure 3.3 représente un graphe RDF qui contient une ressource dont le sujet est IRI du document et les objets sont "Mohamed" et "Arabe" qui pourraient être des ressources, et les prédicats sont "Langue" et "Auteur".

3.4.3 Sérialisation

Pour échanger les données d’un graphe RDF il faut le sérialiser. Il existe de nombreux formats de sérialisation, tels que N-Triplets, Turtle et XML/RDF.

N-Triples

L’écriture la plus simple d’un triplet est une séquence de termes (sujet, pré-dicat, objet), séparés par des espaces et terminés par un point (.) après chaque triplet, selon la syntaxe suivante [David 2014] :

<IRI du sujet> <IRI du prédicat> <IRI de l’objet ou littéral>. Par exemple :

<http://example.org/ben#moi> <http://schema.org/DateDeNaissance> "1985-01-31"^^<http://www.w3.org/2001/XMLSchema#date>.

Chapitre 3. Web sémantique

Turtle

La syntaxe Turtle semble de N-triples à la différence que Turtle est plus lisible que N-Triples. Listing 3.5 montre un exemple d’un document RDF exprimé en format Turtle. Des détails peuvent être trouvés dans [David et al. 2014].

1 @BASE <http://example.org/>

2 @PREFIX foaf: <http://xmlns.com/foaf/0.1/>

3 @PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

4 @PREFIX schema: <http://schema.org/>

5 <ben#me>

6 a foaf:Person ;

7 foaf:name "Benamar bouougada"

8 schema:DatedeNaissance "1985-01-31"^^xsd:date ; Listing 3.5 – RDF sérialisé en Turtle

Sérialisation en XML

La norme RDF/XML utilise la syntaxe XML pour représenter un graphe RDF. Une ressource RDF est décrite à l’aide de l’élément "Description", dont l’attribut "about" représente le sujet, et les propriétés sont des sous-éléments qui peuvent être simplifiés en attributs. D’autres éléments, tels que les listes, les ressources imbriquées, etc. peuvent être trouvés dans [Fabien & Guus 2014]. Le listing 3.6 montre un exemple de sérialisation en utilisant XML.

1 <?xml version="1.0" encoding="utf-8"?>

2 <rdf:RDF

3 xmlns:foaf="http://xmlns.com/foaf/0.1/"

4 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

5 xmlns:schema="http://schema.org/">

6 <rdf:Description rdf:about="http://example.org/ben#moi">

7 <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>

8 <schema: DateDeNaissance rdf:datatype="http://www.w3.org/2001/ XMLSchema#date"> 1985-01-31</schema:DateDeNaissance>

9 <foaf:knows rdf:resource="http://example.org/benamar#moi"/>

10 </rdf:Description>

11 </rdf:RDF>

Listing 3.6 – RDF sérialisé en XML