Ce document est la traduction en français de la Recommandation du W3C portant sur le "Cadre de Description des Ressources (Resource Description Framework ou RDF) : Concepts et Syntaxe Abstraite" (10 Février 2004).

Cette recommandation est une version traduite qui peut comporter des erreurs. La seule version normative et originale est la version anglaise, qui se trouve à : http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/
W3C

Cadre de Description des Ressources (Resource Description Framework ou RDF) :
Concepts et Syntaxe Abstraite

Recommandation du W3C - 10 Février 2004

Cette version:
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/
Dernière version:
http://www.w3.org/TR/rdf-concepts/
Version précédente :
http://www.w3.org/TR/2003/PR-rdf-concepts-20031215/
Éditeurs :
Graham Klyne (Nine by Nine), <gk@ninebynine.org>
Jeremy J. Carroll (Hewlett Packard Labs), <jjc@hpl.hp.com>
Éditeur de séries :
Brian McBride (Hewlett Packard Labs) <bwm@hplb.hpl.hp.com>

Veuillez consulter l'errata de ce document, qui peut inclure quelques corrections normatives.

Consultez également les traductions.


Résumé

Le Cadre de Description des Ressources (RDF) est un cadre de représentation des informations sur l'internet.

Les "Concepts et Syntaxe Abstraite" définissent une syntaxe abstraite sur laquelle RDF est basé, et qui permet de faire la liaison entre sa syntaxe concrète et sa sémantique formelle. Cela inclut également une discussion sur les objectifs de conception, les concepts clé, le typage des données, la normalisation des caractères et la manipulation de références URI.

Status de ce Document

Ce document a été revu par les membres du W3C et les tiers concernés, et a été approuvé par le Directeur comme Recommandation du W3C. Le rôle du W3C, en produisant cette recommandation, est de mettre en lumière la spécification et d'en promouvoir le plus large déploiement. Ceci permet d'améliorer la fonctionnalité et l'interopérabilité du Web.

Ceci est un des six documents de l'ensemble (Primer, Concepts, Syntaxe, Sémantique, Vocabulaire, et Cas de Tests), destinés à communément remplacer les spécifications orginelles du Cadre de Description des Ressources, Modèle et Syntaxe du Cadre de Description des Ressources (Recommandation de 1999) et Schema RDF (Recommandation Candidate de 2000). Cet ensemble de documents a été produit par le Groupe de Travail RDF au sein de l'Activité Web Sémantique du W3C (Rapport d'Activité, Charte du Groupe) pour une publication le 10 Février 2004.

Les changements apportés à ce document depuis le l'Ébauche de Recommandation Proposée sont détaillés dans le change log.

Le public est invité à envoyer ses commentaires à www-rdf-comments@w3.org (archive) et à prendre part à des discussions générales sur les technologies liées à www-rdf-interest@w3.org (archive).

Une liste des implémentations est disponible.

Le W3C maintient une liste de toutes les révélations de brevet en relation avec ce travail.

Ce chapitre décrit le statut de ce document au moment de sa publication. D'autres documents pourront remplacer ce document. Une liste des publications courantes du W3C et les dernières révisions de ce rapport technique peuvent être trouvées dans l'index des rapports techniques du W3C à l'adresse http://www.w3.org/TR/.

Contenu


1. Introduction

Le Cadre de Description des Ressources (RDF) est un cadre pour la représentation d'informations sur le web.

Ce document définit une syntaxe abstraite sur laquelle RDF est basé, et qui permet de faire la liaison entre sa syntaxe concrète et sa sémantique formelle. La syntaxe abstraite est assez distincte de l'ensemble d'information de XML, basé sur la notion d'arbre [XML-INFOSET]. Cela inclut également une discussion sur les objectifs de conception, les concepts-clé, le typage de données, la normalisation des caractères et la manipulation de références URI.

La documentation normative de RDF couvre les domaines suivants :

Dans ce document, les sections normatives sont explicitement indiquées comme telles. Les notes explicatives sont à caractère informatif.

Le cadre est fait de telle sorte que les vocabulaires puissent être disposés en couches. Les langages de définition de RDF et du vocabulaire RDF (schema RDF) [RDF-VOCABULARY] sont les deux premiers de ces vocabulaires. D'autres [vocabulaires, ndt] (cf. OWL [OWL] et les applications mentionnées dans le primer [RDF-PRIMER]) sont en développement.

1.1 Structure de ce Document

Dans la section 2 sont présentés le principe de base et les objectifs de conception. Les concepts clé suivent dans la section 3. La section 4 traite des références URI réservées pour l'utilisation par RDF.

La section 5 traite des types de données. Le contenu XML des littéraux est décrit dans la section 5.1, et la syntaxe abstraite est définie dans la section 6 de ce document.

La section 7 traite du rôle des identificateurs de fragments dans les références utilisées avec RDF.

2. Motivations et Objectifs

RDF a une syntaxe abstraite qui représente un modèle de données simple, basé sur des graphes, et une sémantique formelle avec une notion rigoureusement définie d'héritage, qui pose les bases pour des déductions bien fondées dans des données RDF.

2.1 Motivation

f

Le développement de RDF a, entre autres, été motivé par les utilisations suivantes :

RDF est créé pour représenter l'information de la manière la moins contraignante, la plus flexible possible. RDF peut être utilisé dans des applications isolées, dans lesquelles des formats créés individuellement pourraient être plus directement et facilement compris mais, de par son caractère général, on tire le meilleur de RDF dans le partage. Ainsi, la valeur de l'information augmente, dans la mesure où elle devient accessible à plus d'applications sur Internet.

2.2 Objectifs de Conception

La conception de RDF est destinée à satisfaire les objectifs suivants :

2.2.1 Un Modèle de Données Simple

RDF a un modèle de données simple, que les applications peuvent facilement traiter et manipuler. Le modèle de données est indépendant de toute syntaxe spécifique de sérialisation.

Note : le terme "modèle" employé ici dans l'expression "modèle de données" a un sens complètement différent de celui utilisé dans "théorie des modèles". Voir [RDF-SEMANTICS] pour plus d'informations sur "théorie des modèles" dans le sens convenu de la littérature mathématique et logique.

2.2.2 Sémantique Formelle et Inférence

RDF a une semantique formelle qui fournit une base sûre pour raisonner sur la signification d'une expression RDF. En particulier, elle supporte des notions d'induction rigoureusement définies, ce qui fournit une base de définition de règles fiables pour l'inférence dans les données RDF.

2.2.3 Vocabulaire Extensible, basé sur les URI

Le vocabulaire est complètement extensible, étant basé sur des URIs avec des identificateurs de fragments optionnels (références URI, ou URIrefs). Les références URI sont utilisées pour le nommage de toute sorte de choses en RDF.

L'autre sorte de valeur qui apparait dans les données RDF est un littéral.

2.2.4 Syntaxe basée sur XML

RDF a une forme recommandée de sérialisation XML [RDF-SYNTAX], qui peut être utilisée pour encoder le modèle de données pour l'échange d'informations entre les applications.

2.2.5 Utiliser des Types de Données du Schéma XML

RDF peut utiliser des valeurs représentées conformément aux types de données de schéma XML [XML-SCHEMA2], aidant ainsi à l'échange d'informations entre RDF et d'autres applications XML.

2.2.6 N'importe Qui Peut Faire des Déclarations Concernant N'importe Quelle Ressource

Afin de faciliter les opérations à l'échelle d'Internet, RDF est un cadre ouvert qui autorise chacun à faire des remarques à propos de toute ressource.

En général, il n'est pas assuré qu'une information complète sur chaque ressource est disponible. RDF n'empêche personne de faire des déclarations qui soient en contradiction ou inconsistantes avec d'autres remarques, ou le monde comme on le voit. Les architectes d'applications utilisant RDF devraient prêter attention à ce point et créer leurs applications de telle sorte qu'elles puissent tolérer des sources d'informations incomplètes ou inconsistantes.

3. Concepts de RDF

RDF utilise les concepts clé suivants :

3.1 Modèle de Graphe de Données

La structure fondamentale de toute expression en RDF est une collection de triplets, chacun composé d'un sujet, un prédicat et un objet. Un ensemble de tels triplets est appelé un graphe RDF (défini de façon plus formelle dans la section 6). Ceci peut être illustré par un diagramme composé de noeuds et d'arcs dirigés, dans lequel chaque triplet est représenté par un lien noeud-arc-noeud (d'où le terme de "graphe").

image du comportement de triplet RDF (sujet, prédicat, objet)

Chaque triplet représente l'existence d'une relation entre les choses symbolisées par les noeuds qui sont joints. Chaque triplet a trois parties :

  1. un sujet,
  2. un objet, et
  3. un prédicat (également appelé une propriété) qui met en avant une relation.

Le sens de l'arc a une signification : l'arc pointe toujours vers l'objet.

Les noeuds d'un graphe RDF sont ses sujets et ses objets.

L'écriture d'un triplet RDF indique qu'une relation, caractérisée par le prédicat, existe entre les objets représentés par le sujet et l'objet du triplet. L'assertion d'un graphe RDF est équivalente à l'assertion de tous ses triplets, et par conséquence la signification d'un graphe RDF est la conjonction (ET logique) des faits correspondant à tous ses triplets. Le détail formel de la définition d'un graphe RDF est donné dans [RDF-SEMANTICS].

3.2 Vocabulaire basé sur les URI et Identification des Noeuds

Un noeud peut être une URI avec un identificateur de fragment optionnel (une référence URI, ou URIref), un littéral, ou un blanc (n'ayant aucun moyen d'identification). Les propriétés sont des références URI. (voir [URI], section 4, pour une description des formes de références URIs, en notant bien que les URIs relatives ne sont pas employées dans un graphe RDF. Voir également la section 6.4.)

Une référence URI ou un littéral utilisé comme noeud identifie ce que ce noeud représente. Une référence URI employée comme prédicat identifie une relation entre les choses représentées par les noeuds qu'elle joint. Une référence URI prédicat peut aussi être un noeud dans un graphe.

Un noeud vide est un noeud qui n'est ni une référence URI ni un littéral. Dans la syntaxe abstraite de RDF, un noeud blanc est juste un noeud unique qui peut être utilisé au sein d'un ou plusieurs faits RDF, mais qui n'a pas de nom propre.

Une convention employée dans certaines représentations linéaires d'un graphe RDF afin de permettre à plusieurs assertions de faire référence à une ressource non identifiée est d'utiliser un identificateur de noeud vide, qui est un identificateur local pouvant être distingué de tous les autres URIs et littéraux. Lors de la fusion de graphes, leurs noeuds vides doivent être distingués si l'on souhaite conserver un sens; il est possible que cela induise une ré-allocation d'identificateurs vides. Il est à noter que de tels identificateurs vides ne font pas partie de la syntaxe abstraite de RDF, et que la représentation de triplets contenant des noeuds vides est entièrement dépendante de la syntaxe concrète particulière employée.

3.3 Types de données

Les types de données sont employés par RDF dans la représentation de valeurs comme les entiers, les nombres à virgule flottante et les dates.

Un type de données consiste en un espace lexical, un espace de valeurs et une correspondance entre lexique et valeurs, voir la section 5.

Par exemple, la correspondance entre lexique et valeurs pour le type de données du Schéma XML xsd:boolean, dans lequel chaque membre de l'espace de valeurs (ici représentés par 'T' et 'F') a deux représentations lexicales, est la suivante :

Espace de valeurs {T, F}
Espace lexical {"0", "1", "true", "false"}
Correspondance entre lexique et valeurs {<"true", T>, <"1", T>, <"0", F>, <"false", F>}

RDF prédéfinit juste un type de données rdf:XMLLiteral, utilisé pour inclure du XML dans RDF (voir la section 5.1).

Il n'y a pas de concept natif de nombres ou de dates ou d'autres valeurs communes. RDF reporte plutôt les types de données qui sont définis séparemment et identifiés avec des références URI. Les types de données prédéfinis du Schéma XML [XML-SCHEMA2] sont prévus pour une large utilisation à cet effet.

RDF ne propose pas de mécanisme permettant de définir de nouveaux types de données. Les types de données du Schéma XML [XML-SCHEMA2] constituent un cadre d'extension adapté à la définition de nouveaux types de données pour leur emploi dans RDF.

3.4 Littéraux

Les littéraux sont utilisés pour identifier des valeurs comme des nombres et des dates au moyen d'une représentation lexicale. Tout ce qui est représenté par un littéral pourrait aussi être représenté par une URI, mais il est généralement plus adéquat ou intuitif d'employer des littéraux.

Un littéral peut être l'objet d'une assertion RDF, mais il ne peut en être ni le sujet ni le prédicat.

Les littéraux peuvent être plats ou typés :

Si on poursuit l'exemple de la section 3.3, les littéraux typés pouvant être définis en utilisant le type de données du Schema XML xsd:boolean sont les suivants :

Littéraux typés Correspondance entre lexique et valeurs Valeur
<xsd:boolean, "true"> <"true", T> T
<xsd:boolean, "1"> <"1", T> T
<xsd:boolean, "false"> <"false", F> F
<xsd:boolean, "0"> <"0", F> F

Pour du texte pouvant contenir des balises il est recommandé d'employer des littéraux typés avec le type rdf:XMLLiteral. Si une annotation de langue est nécessitée, elle doit être explicitement incluse dans le balisage, généralement par le biais d'un attribut xml:lang. [XHTML] peut être inclus au sein de RDF de cette manière. Parfois, dans ce dernier cas, un élément span ou div additionnel est requis afin de porter un attribut xml:lang ou lang.

Pour les littéraux plats comme pour les typés, il est recommandé que la chaine de caractères soit en Unicode dans la forme normale C [NFC]. Ceci est motivé par [CHARMOD] et notamment la section 4 Normalisation Uniforme à la Source.

3.5 Expression RDF de faits simples

Quelques faits simples indiquent des relations entre deux choses. Un tel fait peut être représenté sous forme de triplet RDF, dont le prédicat nomme la relation, et dont le sujet et l'objet sont les deux choses. Un tel fait pourrait être habituellement représenté comme une ligne d'une table dans une base de données relationnelle. La table a deux colonnes qui correspondent au sujet et à l'objet du triplet RDF. Le nom de la table correspond au prédicat du triplet RDF. Une autre representation familière peut se faire sous la forme d'un prédicat à deux places en logique du premier ordre.

Les base de données relationnelles permettent aux tables d'avoir un nombre arbitraire de colonnes, une ligne exprimant une information qui correspond à un prédicat en logique du premier ordre, avec un nombre de places arbitraire. Une telle ligne, ou prédicat, doit être décomposée pour être représentée sous forme de triplets RDF. Une forme simple de décomposition introduit un nouveau noeud vide qui correspond à la ligne, et un nouveau triplet est introduit pour chaque cellule de la ligne. Le sujet de chaque triplet est le nouveau noeud vide, le prédicat correspond au nom de la colonne, et l'objet correspond à la valeur de la cellule. Le nouveau noeud vide peut également avoir une propriété rdf:type, dont la valeur correspond au nom de la table.

On peut considérer la Figure 6 du [RDF-PRIMER] comme exemple :

Utilisation d'un noeud vide
Figure 6 du RDF Primer : Utilisation d'un noeud vide

Cette information peut correspondre à une ligne d'une table "STAFFADDRESSES", avec une clé primaire STAFFID, et les colonnes additionnelles STREET, STATE, CITY et POSTALCODE.

Ainsi, un fait plus complexe est exprimé en RDF en employant la conjonction (ET logique) des relations binaires simples. RDF ne fournit aucun moyen d'exprimer la négation (NON) ou la disjonction (OU).

Par le biais de son utilisation de vocabulaires extensibles basés sur l'URI, RDF permet l'expression de faits sur des sujets arbitraires; c-à-d. des assertions de propriétés nommées au sujet de choses spécifiques nommées. Une URI peut êre construite pour toute chose qui peut être nommée, et donc il peut y avoir des faits RDF pour toutes ces choses.

3.6 Induction

Les idées de raisonnement et d'inférence en RDF sont soulignées par le concept formel de l' induction, comme signalé dans le document de sémantique RDF [RDF-SEMANTICS]. En bref, une expression RDF A est dite comme induite par une autre expression RDF B si tous les arrangements possibles des choses du monde qui rendent A vraie rendent également B vraie. Sur cette base, si la vérité de A est présumée ou démontrée, alors la vérité de B peut être induite.

4. URI et espace de noms du vocabulaire RDF (Normatif)

RDF utilise des références URI pour identifier des ressources et des propriétés. RDF donne à certaines références URI une signification spécifique. En particulier, les références URI commençant par les chaines de caractères suivantes sont définies dans les spécifications de RDF :

Employé avec la sérialisation RDF/XML, cette chaine de caractères préfixe d'URI correspond aux noms des espaces de noms XML [XML-NS] associés aux termes du vocabulaire RDF.

Note : ce nom d'espace de noms est le même que celui employé par la Recommandation de RDF précédente [RDF-MS].

Les termes du vocabulaire dans l'espace de noms rdf: sont listés dans la section 5.1 de la spécification de la syntaxe de RDF [RDF-SYNTAX]. Certains de ces termes sont définis par les spécifications RDF pour désigner des concepts spécifiques. D'autres sont à objectif syntactique (e.g. rdf:ID fait partie de la syntaxe RDF/XML).

5. Types de données (Normatif)

L'abstraction de type de données employée dans RDF est compatible avec l'abstraction utilisée dans le Schéma XML - Partie 2 : Types de données [XML-SCHEMA2].

Un type de données consiste en un espace lexical, un espace de valeurs et une correspondance entre lexique et valeurs.

L'espace lexical d'un type de données est un ensemble de chaines de caractères Unicode [UNICODE].

La correspondance entre lexique et valeurs d'un type de données est un ensemble de couples dont le premier élément appartient à l'espace lexical du type de données, et le second fait partie de l'espace de valeurs du type de données :

Un type de données est identifié par une ou plusieurs références URI.

RDF peut être employé avec toute définition de type de données qui est conforme à cette abstraction, même si elle n'est pas définie en terme de Schéma XML.

Certains types de données natifs du Schéma XML ne sont pas adaptés à l'utilisation avec RDF. Par exemple, le type de données QName nécessite qu'une déclaration d'espace de noms soit à portée pendant la correspondance, et ceci n'est pas recommandé en RDF. [RDF-SEMANTICS] contient une discussion plus détaillée de types de données natifs spécifiques du Schéma XML.

Note : Lorsque le type de données est défini en employant le Schéma XML :

5.1 Contenu XML au sein d'un Graphe RDF

RDF permet que du contenu XML soit une valeur de littéral possible. Cela a typiquement pour origine l'utilisation de rdf:parseType="Literal" dans la syntaxe RDF/XML [RDF-SYNTAX].

Un tel contenu est indiqué dans un graphe RDF en employant un littéral typé dont le type de données est un type de données natif spécial, rdf:XMLLiteral, défini ci-dessous.

Une référence URI pour identifier ce type de données
est http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral.
L'espace lexical
est un ensemble de toutes les chaînes de caractères :
L'espace de valeurs
est un ensemble d'entités, appelé des valeurs XML, qui est :
La correspondance entre lexique et valeurs
est une correspondace 1 à 1 de l'espace lexical dans l'espace de valeurs, c'est-à-dire qu'elle est à la fois injective et surjective.

Note : Les valeurs de ce type de données ne respectent pas toutes XML 1.1 [XML 1.1]. Si la compatibilité avec XML 1.1 est désirée, alors uniquement les valeurs qui sont entièrement normalisées suivant XML 1.1 devraient être employées.

Note : Les valeurs XML peuvent être pensées comme l'ensemble de noeuds [XML-INFOSET] ou [XPATH] correspondant à la forme lexicale, avec une fonction d'égalité appropriée.

Note : les applications RDF peuvent employer des relations d'équivalence additionnelles, comme celles qui lient un xsd:string avec un rdf:XMLLiteral correspondant au noeud de texte simple de la même chaîne.

6. Syntaxe Abstraite (Normatif)

Cette section définit la syntaxe abstraite de RDF. La syntaxe abstraite de RDF est un ensemble de triplets, appelé graphe RDF.

Cette section définit également l'équivalence entre des graphes RDF. Une définition de l'équivalence est nécessaire pour supporter la spécification des Cas d'Utilisations de RDF [RDF-TESTS].

Note d'implémentation : Cette syntaxe abstraite est la syntaxe sur laquelle la sémantique formelle est définie. Les implémentations sont libres de représenter les graphes RDF sous toute autre forme équivalente. Par exemple : dans un graphe RDF, les littéraux avec le type de données rdf:XMLLiteral peuvent être représentés sous une forme non canonique, et la canonicalisation peut être effectuée au cours de la comparaison de deux de ces littéraux. Dans cet exemple, les comparaisons peuvent être menées entre structures syntaxiques ou entre leurs représentations dans le domaine du discours. Les implémentations qui ne nécessitent aucune de ces comparaisons peuvent donc être optimisées.

6.1 Triplets RDF

Un triplet RDF contient trois composants :

Un triplet RDF est écrit par convention dans l'ordre sujet, prédicat, objet.

Le prédicat est également connu sous le nom de propriété du triplet.

6.2 Graphe RDF

Un graphe RDF est un ensemble de triplets RDF.

L'ensemble des noeuds d'un graphe RDF est l'ensemble des sujets et objets des triplets du graphe.

6.3 Équivalence de Graphes

Deux graphes RDF G et G' sont équivalents s'il existe une bijection M entre les ensemble des noeuds des deux graphes, tlle que :

  1. M associe des noeuds vides à des noeuds vides.
  2. M(lit)=lit pour tout littéral RDF lit qui est un noeud de G.
  3. M(uri)=uri pour toute référence URI de RDF uri qui est noeud de G.
  4. Le triplet ( s, p, o ) est dans G si et seulement si le triplet ( M(s), p, M(o) ) est dans G'

Dans cette définition, M montre comment chaque noeud vide de G peut être remplacé avec un nouveau noeud vide pour produire G'.

6.4 Références URI de RDF

Au sein d'un graphe RDF, une référence URI (de RDF) est une chaîne de caractères Unicode [UNICODE] qui :

L'encodage consiste en :

  1. encoder les chaînes de caractères Unicode en UTF-8 [RFC-2279], pour obtenir une séquence de valeurs d'octets.
  2. échapper avec % les octets qui ne correspondent pas aux caractères US-ASCII autorisés.

Les octets non autorisés qui doivent être échappés avec % incluent tous ceux qui ne correspondent pas aux caractères US-ASCII, et les caractères exclus listés dans la Section 2.4 de [URI], sauf pour le signe numérique (#), le signe de pourcentage (%), et les caractères de crochets à nouveau autorisés par la [RFC-2732].

Les octets refusés doivent être échappés avec les mécanisme d'échappement des URI (c'est-à-dire, convertis sous la forme %HH, où HH est le nombre hexadécimal à deux chiffres correspondant à la valeur de l'octet).

Deux références URI de RDF sont égales si et seulement si elles sont égales caractère par caractère, en tant que chaînes de caractères Unicode.

Note : Les références URI de RDF sont compatibles avec le type de données anyURI tel que défini dans les types de données du Schéma XML [XML-SCHEMA2], avec la limitation d'être une référence URI absolue, et non relative.

Note : Les références URI de RDF sont compatibles avec les Identificateurs Internationaux de Ressources, tel que défini dans [XML Namespaces 1.1].

Note : Cette section anticipe une RFC sur les Identificateurs de Ressources Internationalisés. Les implémentations peuvent émettre des avertissements concernant l'utilisation de références URI de RDF qui ne sont pas conformes avec l'[IRI draft] ou ses successeurs.

Note : La restriction à des références URI absolues se trouve dans la syntaxe abstraite. Lorsqu'il y a une URI de base bien définie, les syntaxes concrètes comme RDF/XML peuvent autoriser des URIs relatives comme raccourci pour des références URI absolues.

Note : En raison du risque de confusion entre plusieurs références URI de RDF qui seraient équivalentes si non référencées, l'emploi de caractères échappés avec le symbole % est fortement déconseillé dans les références d'URI de RDF. Voir également le problème de l'équivalence d'URI du groupe d'architecture technique [TAG].

6.5 Littéraux RDF

Un littéral dans un graphe RDF contient un ou deux composants nommés.

Tous les littéraux ont une forme lexicale sous forme de chaine de caractères [UNICODE], qui DEVRAIT être en Forme Normale C [NFC].

Les littéraux plats ont une forme lexicale et de manière optionnelle une balise de langage, comme défini par la [RFC-3066], normalisée en minuscules.

Les littéraux typés ont une forme lexicale et une URI de type de données qui est une référence d'URI de RDF.

Note : Les littéraux pour lesquels la forme lexicale commence par un caractère de composition (comme défini par [CHARMOD]) sont autorisés, bien qu'ils puissent être la source de problèmes d'interopérabilité, en particulier avec la version 1.1 de XML [XML 1.1].

Note : Lors de l'utilisation d'une balise de langage, il faut faire attention à ne pas confondre le langage et la locale. La balise de langage concerne uniquement le texte en langage humain. Les questions présentationnelles devraient être traitées dans les applications utilisateur.

Note : La normalisation de la casse des balises de langage fait partie de la description de la syntaxe abstraite, et en conséquence du comportement abstrait des applications RDF. Cela n'oblige pas une implémentation RDF de normaliser effectivement la casse. En vérité, le résultat de la comparaison de deux balises de langage ne devrait pas être sensible à la casse de l'entrée originelle.

6.5.1 Égalité de littéraux

Deux litéraux sont égaux si et seulement si toutes les conditions suivantes sont respectées :

Note : Les littéraux RDF sont différents et peuvent être distingués des références URI de RDF; par exemple http://example.org comme un littéral RDF (non typé, et sans balise de langage) est différent de http://example.org comme référence URI de RDF.

6.5.2 La Valeur Correspondant à un Littéral Typé

L'URI de type de données fait référence à un type de données. Pour les types de données intégrés au Schema XML, des URIs comme http://www.w3.org/2001/XMLSchema#int sont utilisées. L'URI du type de données rdf:XMLLiteral peut être employée. Il peut y avoir d'autres mécanismes dépendant des implémentations, par le biais desquels les URIs font référence à des types de données.

La valeur associée à un littéral typé se trouve en appliquant la relation entre lexique et valeur associée au type de données d'URI à la forme lexicale.

Si la forme lexicale ne se trouve pas dans l'espace lexical des types de données associés à l'URI de type de données, alors aucune valeur de littéral ne peut être associée au litéral typé. Même si c'est un cas d'erreur, il n'est pas syntaxiquement mal formé.

Note : Dans des contextes d'applications, la comparaison des valeurs des littéraux typés (voir la section 6.5.2) est généralement plus utile que la comparaison de leurs formes syntaxiques (voir la section 6.5.1). De la même manière, pour comparer des Graphes RDF, les notions sémantiques d'héritage (voir [RDF-SEMANTICS]) sont généralement plus utiles que l'égalité syntaxique (voir la section 6.3).

6.6 Noeuds Vides

Dans un graphe RDF, les noeuds vides proviennent d'un ensemble infini. Cet ensemble de noeuds vides, l'ensemble de toutes les références URI de RDF et l'ensemble de tous les litéraux sont disjoints paire à paire.

Par ailleurs, cet ensemble de noeuds vides est arbitraire.

RDF ne fait aucune référence à une quelconque structure interne des noeuds vides. Il est impossible de déterminer si deux noeuds vides donnés sont les mêmes.

7. Identificateurs de Fragments

RDF utilise une Référence URI de RDF qui peut inclure un identificateur de fragment en tant qu'identificateur libre de contexte pour une ressource. La RFC 2396 [URI] établit que le sens d'un identificateur de fragment dépend du type de contenu MIME d'un document, et donc est dépendant du contexte.

Ces vues, en apparence contradictoires, sont conciliables si on considère qu'une référence URI dans un graphe RDF est traitée en respectant le type MIME application/rdf+xml [RDF-MIME-TYPE]. Étant donnée une référence URI de RDF qui consiste en une URI absolue et un identificateur de fragment, l'identificateur de fragment identifie la même chose que dans une représentation application/rdf+xml de la ressource identifiée par le composant de l'URI absolue. Et donc :

Ceci permet une manipulation des références URI et leur dénotation qui est consistante avec la théorie du modèle de RDF et son utilisation, et également avec le comportement habituel du Web. il est à noter que rien n'impose à une application RDF de permettre de retrouver une représentation des ressources identifiées par les URIs d'un graphe RDF.

8. Remerciements

Ce document contient une contribution significative de Pat Hayes, Sergey Melnik et Patrick Stickler, sous la direction desquels a été développé le cadre décrit dans la famille RDF des spécifications pour la représentation de valeurs de types de données, comme les entiers et les dates.

Les éditeurs remercient les contributions notables des personnes suivantes : Frank Manola, Pat Hayes, Dan Brickley, Jos de Roo, Dave Beckett, Patrick Stickler, Peter F. Patel-Schneider, Jerome Euzenat, Massimo Marchiori, Tim Berners-Lee, Dave Reynolds et Dan Connolly.

Jeremy Carroll remercie Oreste Signore, son hôte au Bureau du W3C en Italie et l'Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo", partie du Consiglio Nazionale delle Ricerche, au sein duquel Jeremy est un chercheur visiteur.

Ce document est un produit de nombreuses délibérations du Groupe de Travail RDFcore, qui a compté parmi ses membres : Art Barstow (W3C), Dave Beckett (ILRT), Dan Brickley (ILRT), Dan Connolly (W3C), Jeremy Carroll (Hewlett Packard), Ron Daniel (Interwoven Inc), Bill dehOra (InterX), Jos De Roo (AGFA), Jan Grant (ILRT), Graham Klyne (Nine by Nine), Frank Manola (MITRE Corporation), Brian McBride (Hewlett Packard), Eric Miller (W3C), Stephen Petschulat (IBM), Patrick Stickler (Nokia), Aaron Swartz (HWG), Mike Dean (BBN Technologies / Verizon), R. V. Guha (Alpiri Inc), Pat Hayes (IHMC), Sergey Melnik (Stanford University) and Martyn Horner (Profium Ltd).

Cette spécification utilise également un document plus ancien au sujet du Modèle et de la Syntaxe de RDF, édité par Ora Lassilla et Ralph Swick, et le Schema RDF édité par Dan Brickley et R. V. Guha. Les membres du Groupe de Travail RDF et Schema RDF qui ont contribué à ce précédent travail sont : Nick Arnett (Verity), Tim Berners-Lee (W3C), Tim Bray (Textuality), Dan Brickley (ILRT / University of Bristol), Walter Chang (Adobe), Sailesh Chutani (Oracle), Dan Connolly (W3C), Ron Daniel (DATAFUSION), Charles Frankston (Microsoft), Patrick Gannon (CommerceNet), R. V. Guha (Epinions, auparavant chez Netscape Communications), Tom Hill (Apple Computer), Arthur van Hoff (Marimba), Renato Iannella (DSTC), Sandeep Jain (Oracle), Kevin Jones, (InterMind), Emiko Kezuka (Digital Vision Laboratories), Joe Lapp (webMethods Inc.), Ora Lassila (Nokia Research Center), Andrew Layman (Microsoft), Ralph LeVan (OCLC), John McCarthy (Lawrence Berkeley National Laboratory), Chris McConnell (Microsoft), Murray Maloney (Grif), Michael Mealling (Network Solutions), Norbert Mikula (DataChannel), Eric Miller (OCLC), Jim Miller (W3C, honoraire), Frank Olken (Lawrence Berkeley National Laboratory), Jean Paoli (Microsoft), Sri Raghavan (Digital/Compaq), Lisa Rein (webMethods Inc.), Paul Resnick (University of Michigan), Bill Roberts (KnowledgeCite), i Tsuyoshi Sakata (Digital Vision Laboratories), Bob Schloss (IBM), Leon Shklar (Pencom Web Works), David Singer (IBM), Wei (William) Song (SISU), Neel Sundaresan (IBM), Ralph Swick (W3C), Naohiko Uramoto (IBM), Charles Wicksteed (Reuters Ltd.), Misha Wolf (Reuters Ltd.) et Lauren Wood (SoftQuad).

9. Références

9.1 Références Normatives

[RDF-SEMANTICS]
RDF Semantics, Patrick Hayes, Éditeur, Recommandation du W3C, 10 Février 2004, http://www.w3.org/TR/2004/REC-rdf-mt-20040210/ . La dernière version est disponible à http://www.w3.org/TR/rdf-mt/ .
[RDF-SYNTAX]
RDF/XML Syntax Specification (Revised), Dave Beckett, Éditeur, Recommandation du W3C, 10 Février 2004, http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ . La dernière version est disponible à http://www.w3.org/TR/rdf-syntax-grammar/ .
[RDF-MIME-TYPE]
MIME Media Types, The Internet Assigned Numbers Authority (IANA). Ce document est http://www.iana.org/assignments/media-types/ . L'enregistrement pour application/rdf+xml est archivé à http://www.w3.org/2001/sw/RDFCore/mediatype-registration .
[XML]
Extensible Markup Language (XML) 1.0, Second Edition, T. Bray, J. Paoli, C.M. Sperberg-McQueen et E. Maler, Editeurs. World Wide Web Consortium. 6 Octobre 2000. Cette version est http://www.w3.org/TR/2000/REC-xml-20001006. La dernière version de XML est disponible à http://www.w3.org/TR/REC-xml.
[XML-NS]
Namespaces in XML, T. Bray, D. Hollander et A. Layman, Editeurs. World Wide Web Consortium. 14 Janvier 1999. Cette version est http://www.w3.org/TR/1999/REC-xml-names-19990114/. La dernière version des Espaces de Noms en XML est disponible à http://www.w3.org/TR/REC-xml-names/.
[RFC-2279]
RFC 2279 - UTF-8, a transformation format of ISO 10646, F. Yergeau, IETF, Janvier 1998. Ce document est http://www.isi.edu/in-notes/rfc2279.txt.
[URI]
RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax, T. Berners-Lee, R. Fielding et L. Masinter, IETF, Août 1998. Ce document est http://www.isi.edu/in-notes/rfc2396.txt.
[RFC-2732]
RFC 2732 - Format for Literal IPv6 Addresses in URL's, R. Hinden, B. Carpenter et L. Masinter, IETF, Décembre 1999. Ce document est http://www.isi.edu/in-notes/rfc2732.txt.
[UNICODE]
The Unicode Standard, Version 3, The Unicode Consortium, Addison-Wesley, 2000. ISBN 0-201-61633-5, mis à jour de temps à autre par la publication de nouvelles versions. (Voir http://www.unicode.org/unicode/standard/versions/ pour la dernière version et des informations additionelles sur les versions du standard et de la Base de Données de Caractères Unicode).
[NFC]
Unicode Normalization Forms, Unicode Standard Annex #15, Mark Davis, Martin Dürst. (Voir http://www.unicode.org/unicode/reports/tr15/ pour la dernière version).
[RFC-3066]
RFC 3066 - Tags for the Identification of Languages, H. Alvestrand, IETF, Janvier 2001. Ce document est http://www.isi.edu/in-notes/rfc3066.txt.
[XML-XC14N]
Exclusive XML Canonicalization Version 1.0, J. Boyer, D.E. Eastlake 3rd, J. Reagle, Auteurs/Éditeurs. Recommandation du W3C. World Wide Web Consortium, 18 Juillet 2002. Cette version de la Canonicalisation exclusive de XML est http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/. La dernière version de XML Canonique est à http://www.w3.org/TR/xml-exc-c14n.
[XML-SCHEMA2]
XML Schema Part 2: Datatypes, Recommandation du W3C, World Wide Web Consortium, 2 Mai 2001. Cette version est http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/. La dernière version est disponible à http://www.w3.org/TR/xmlschema-2/.

9.2 Références Informatives

[RDF-TESTS]
RDF Test Cases, Jan Grant et Dave Beckett, Éditeurs, Recommandation du W3C, 10 Février 2004, http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/ . La dernière version est disponible à http://www.w3.org/TR/rdf-testcases/ .
[RDF-VOCABULARY]
RDF Vocabulary Description Language 1.0: RDF Schema, Dan Brickley et R. V. Guha, Éditeurs, Recommandation du W3C, 10 Février 2004, http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ . La dernière version est disponible à http://www.w3.org/TR/rdf-schema/ .
[RDF-PRIMER]
RDF Primer, Frank Manola et Eric Miller, Éditeurs, Recommandation du W3C, 10 Février 2004, http://www.w3.org/TR/2004/REC-rdf-primer-20040210/ . La dernière version est disponible à http://www.w3.org/TR/rdf-primer/ .
[CHARMOD]
Character Model for the World Wide Web 1.0, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin, Éditeurs, World Wide Web Consortium Working Draft, travail en cours, 22 Août 2003. Cette version du Modèle de Caractère est http://www.w3.org/TR/2003/WD-charmod-20030822/. La dernière version du Modèle de Caractère est à http://www.w3.org/TR/charmod/.
[XML-1.1]
Extensible Markup Language (XML) 1.1, John Cowan, Editor. Recommandation Candidate du W3C 15 Octobre 2002. Cette version est http://www.w3.org/TR/2002/CR-xml11-20021015/. La dernière version est disponible à http://www.w3.org/TR/xml11/.
[XML-SCHEMA1]
XML Schema Part 1: Structures Recommandation du W3C, World Wide Web Consortium, 2 Mai 2001. Cette version est http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/. La dernière version est disponible à http://www.w3.org/TR/xmlschema-1/.
[XML-NAMESPACES-1.1]
Namespaces in XML 1.1, Tim Bray, Dave Hollander, Andrew Layman, Richard Tobin, Éditeurs. Recommandation Proposée du W3C 05 Novembre 2003. Cette version est http://www.w3.org/TR/2003/PR-xml-names11-20031105/. La dernière version est disponible à http://www.w3.org/TR/xml-names11/.
[XML-INFOSET]
XML Information Set, John Cowan et Richard Tobin, W3C Recommendation, 24 October 2001. Ce document est http://www.w3.org/TR/2001/REC-xml-infoset-20011024/. La dernière version est disponible à http://www.w3.org/TR/xml-infoset/.
[XPATH]
XML Path Language (XPath) Version 1.0, J. Clark et S. DeRose, Éditeurs. World Wide Web Consortium, 16 Novembre 1999. Cette version de XPath est http://www.w3.org/TR/1999/REC-xpath-19991116. La dernière version de XPath est à http://www.w3.org/TR/xpath.
[OWL]
OWL Web Ontology Language Reference, Mike Dean et Guus Schreiber, Éditeurs, Recommandation du W3C, 10 Février 2004, http://www.w3.org/TR/2004/REC-owl-ref-20040210/ . La dernière version est disponible à http://www.w3.org/TR/owl-ref/ .
[RDF-MS]
Resource Description Framework (RDF) Model and Syntax Specification, O. Lassila et R. Swick, Éditeurs. World Wide Web Consortium. 22 Février 1999. Cette version est http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/. La dernière version de RDF M&S est disponible à http://www.w3.org/TR/REC-rdf-syntax/.
[XHTML]
XHTML 1.0 The Extensible HyperText Markup Language (Second Edition), World Wide Web Consortium. 26 Janvier 2000, révisé le 1er Août 2002. Cette version est http://www.w3.org/TR/2002/REC-xhtml1-20020801/. La dernière version de XHTML 1 est disponible à http://www.w3.org/TR/xhtml1/.
[IRI draft]
Internationalized Resource Identifiers (IRIs), M. Dürst et M. Suignard, Internet-Draft, Juin 2003, expire en Décembre 2003. Ce document est http://www.w3.org/International/iri-edit/draft-duerst-iri-04.
[TAG]
TAG Issues List, W3C Technical Architecture Group. Ce document est http://www.w3.org/2001/tag/issues.

Annexe A : Révisions Depuis le Dernier Document de Travail du 10 Octobre 2003

Il n'y a eu aucun changement substantiel.

Les changement éditoriels suivants ont été effectués :

Formulation de l'Équivalence de Graphes
Suite à une suggestion de ter Horst, la formulation de la Section 6.3 a été améliorée.
Éviter 'de manière globale'
En réponse à un commentaire de ter Horst, la formulation de la Section 3.2 a été changée afin de remplacer une phrase unique pour éviter l'expression 'de manière globale', qui n'était ni définie ni claire.
%s dans des Références URI de RDF
Suite à un commentaire de Patel-Schneider, une note additionnelle a été ajoutée au sujet de l'échappement du symbole % dans la section 6.4 références URI de RDF. Une nouvelle référence informative à la liste de problèmes [TAG] a été ajoutée.
Références
Les références datées dans les documents RDF et OWL ont été mises à jour.

RDF/XML Metadata