Cadre de Description des Ressources (Resource Description Framework ou RDF) : Concepts et Syntaxe Abstraite (original) (raw)
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/
- Adresse : https://lacot.org/w3c/REC-rdf-concepts-20040210/
- Traduction : Xavier Lacot - <xavier [at] lacot.org>
- Relecture : Christophe Gesché - <christophe [at] gesche.org>
- Date de traduction : 29 Juin 2006
- Dernière mise à jour : 16 Juillet 2006
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 RDFau 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
- 2. Motivations et Objectifs
- 2.1 Motivation
- 2.2 Objectifs de Conception
* 2.2.1 Un Modèle de Données Simple
* 2.2.2 Sémantique Formelle et Inférence
* 2.2.3 Vocabulaire Extensible, basé sur les URI
* 2.2.4 Syntaxe basée sur XML
* 2.2.5 Utiliser des Types de Données du Schéma XML
* 2.2.6 N'importe Qui Peut Faire des Déclarations Concernant N'importe Quelle Ressource
- 3. Concepts de RDF
- 4. URI et espace de noms du vocabulaire RDF (Normatif)
- 5. Types de données (Normatif)
- 6. Syntaxe Abstraite (Normatif)
- 7. Identificateurs de Fragments
- 8. Remerciements
- 9. Références
- A : Révisions Depuis le Dernier Document de Travail du 10 Octobre 2003
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 :
- syntaxe de sérialisation de XML [RDF-SYNTAX],
- sémantique formelle [RDF-SEMANTICS], et
- ce document, (sections 4, 5 and 6).
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 :
- Métadonnées Web : afin de fournir des informations sur les ressources Web et les systèmes qui les utilisent (par exemple évaluation de contenu, descriptions des possibilités, préférences de vie privée, etc.)
- Les applications qui nécessitent des modèles d'information ouverts plutôt que fixés (par exemple activités de planification, description de processus organisationnels, annotation de ressources web, etc.)
- Faire pour l'information traitable par machine (données d'application) ce que le World Wide Web a fait pour l'hypertexte : permettre aux données d'être travaillées en dehors de l'environnement particulier dans lequel elles ont été créées, d'une manière qui peut fonctionner à l'échelle d'internet.
- La collaboration entre applications : combiner les données de plusieurs applications, pour arriver à de nouvelles informations.
- Traitement automatique de l'information du Web par des agents logiciels : le Web se transforme, en passant d'une information uniquement lisible par les humains vers un état de réseau mondial de processus en coopération. RDF fournit une lingua franca mondiale pour ces processus.
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 :
- avoir un modèle de données simple
- avoir une sémantique formelle et une inférence prouvable
- utiliser un vocabulaire extensif, basé sur les URI
- utiliser une syntaxe basée sur XML
- supporter l'utilisation de types de données de schéma XML
- autoriser quiconque à faire des commentaires sur n'importe quelle ressource
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, ouURIrefs). 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 :
- Modèle de données en graphe
- Vocabulaire basé sur les URI
- Types de données
- Littéraux
- Syntaxe de sérialisation XML
- Expression de faits simples
- Inductions
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 lasection 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").
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 :
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 XMLxsd: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 :
- Un littéral plat est une chaine de caractères associée à une balise optionnelle de langage. Ceci peut être employé pour du texte plat dans un langage naturel. Comme recommandé par la sémantique formelle de RDF [RDF-SEMANTICS], ces littéraux plats sont auto-représentatifs.
- Un littéral typé est une chaine de caractères associée à une URI de type de données. L'ensemble représente le membre de l'espace de valeurs de types de données identifié, obtenu en appliquant la correspondance entre lexique et valeurs à la chaine de caractères du littéral.
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 attributxml: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 lasection 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 :
Figure 6 du RDF Primer : Utilisation d'un noeud vide
Cette information peut correspondre à une ligne d'une table "STAFFADDRESSES", avec une clé primaireSTAFFID, et les colonnes additionnellesSTREET,STATE,CITY etPOSTALCODE.
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 commeinduite 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 :
- http://www.w3.org/1999/02/22-rdf-syntax-ns# (associé par convention au préfixe d'espace de noms 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 nomsrdf: 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 valeursd'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 :
- Chaque membre de l'espace lexical est associé à (correspond à) exactement un membre de l'espace de valeurs.
- Chaque membre de l'espace de valeurs peut être associé avec un quelconque nombre (y compris aucun) de membres de l'espace lexical (des représentations lexicales pour cette valeur).
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éesQNamené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 unediscussion plus détailléede 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 :
- Toutes les valeurs correspondent à une certaine forme lexicale, que l'on utilise la correspondance entre lexique et valeurs du type de données, ou que ce soit une union de types de données avec une correspondance lexicale associée à un des types de données membre.
- Les facettes du Schéma XML font toujours partie du type de données et sont employés par les mécanismes du Schéma XML qui contrôlent l'espace lexical et l'espace de valeurs; toutefois, RDF ne définit pas de mécanisme standard pour accéder à ces facettes.
- Dans [XML-SCHEMA1],la normalisation des espaces blancs est effectuée au cours de lavalidationsuivant la valeur de lafacette whiteSpace. La correspondance entre lexique et valeurs employée dans le typage de données de RDF a lieu après, de telle sorte que la facette whiteSpace n'a aucun effet dans le typage de données RDF.
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 derdf: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
esthttp://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral.
L'espace lexical
est un ensemble de toutes les chaînes de caractères :
- qui forment uncontenu XML[XML] bien formé et en un seul bloc;
- pour lesquelles un encodage tel que UTF-8 [RFC 2279] garantit unXML canonique exclusif (avec commentaires, avec unInclusiveNamespaces PrefixList vide) [XML-XC14N];
- qui, incluses entre une balise XML ouvrante arbitraire et la balise fermante correspondate, produit un document conforme aux Espaces de nommage XML [XML-NS]
L'espace de valeurs
est un ensemble d'entités, appelé des valeurs XML, qui est :
- disjoint de l'espace lexical;
- disjoint de l'espace de valeurs de n'importe quel type de données du Schéma XML [XML-SCHEMA2];
- disjoint de l'ensemble des chaînes de caractères Unicode [UNICODE];
- et en correspondance 1:1 avec l'espace lexical.
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 sontentiè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 unxsd:stringavec 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 :
- le sujet, qui est une référence URI de RDFou un noeud vide
- le prédicat, qui est une référence URI de RDF
- l'objet, qui est une référence URI de RDF, un littéralou un noeud vide
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 :
- M associe des noeuds vides à des noeuds vides.
- M(lit)=lit pour tout littéral RDF lit qui est un noeud de G.
- M(uri)=uri pour toute référence URI de RDF uri qui est noeud de G.
- Le triplet ( s, p, o ) est dans G si et seulement si le triplet ( M(s), p, M(o) ) est dansG'
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 :
- ne contient aucun caractère de contrôle ( #x00 - #x1F, #x7F-#x9F)
- et qui forme une séquence valide de caractères URI (selon RFC2396 [URI], section 2.1) représentant une URI absolue, avec un identificateur de fragment optionnel, lorsqu'elle est sujette à l'encodage décrit ci-dessous.
L'encodage consiste en :
- encoder les chaînes de caractères Unicode en UTF-8 [RFC-2279], pour obtenir une séquence de valeurs d'octets.
- é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 leproblè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 unebalise 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 :
- Les chaines de caractères des deux formes lexicales sont identiques, caractère à caractère.
- Les deux portent une balise de langage, ou aucune.
- Les balises de langage, si elles sont présentes, sont identiques.
- Les deux ont une URI de type de données, ou aucune.
- Les deux URIs de type de données, si elles sont présentes, sont identiques, caractère à caractère.
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 commehttp://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 lasection 6.5.2) est généralement plus utile que la comparaison de leurs formes syntaxiques (voir lasection 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 lasection 6.3).
6.6 Noeuds Vides
Dans un graphe RDF, les noeuds videsproviennent d'un ensemble infini. Cet ensemble de noeuds vides, l'ensemble de toutes les références URI de RDFet 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 :
- on considère que la partie URI (c'est-à-dire excluant l'identificateur de fragment) identifie une ressource, dont on présume qu'elle a une représentation RDF. Ainsi, lorsque ex:uneurl#frag est employé dans un document RDF, eg:uneurl désigne un document RDF (même lorsque ce document ne peut être trouvé).
- ex:someurl#frag désigne la chose qui est indiquée, en accord avec les règles du type de contenu MIME application/rdf+xml comme un "fragment" ou une "vue" d'un document RDF à eg:someurl. Si le document n'existe pas ou ne peut être trouvé, ou s'il n'est disponible que dans d'autres formats que application/rdf+xml, alors il est impossible de déterminer avec exactitude ce que cette vue peut être, mais cela n'empêche pas l'emploi de RDF pour exprimer des choses à son sujet.
- le traitement RDF d'un identificateur de fragment lui permet d'indiquer une chose entièrement externe au document, voir même externe à l'"espace d'information partagé" connu sous le nom de Web. Cela peut donc être une idée plus générale, comme une voiture spéciale ou une licorne mythique.
- en ce sens, un document application/rdf+xml est alors un intermédiaire entre différents documents accessibles par le Web (au moins lui-même, ainsi que toute autre URI Web accessible qu'il utilise, incluant éventuellement des URIs de schéma et des références à d'autres documents RDF), et différents ensembles d'entités abstraites ou non-Web que le RDF peut décrire.
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), iTsuyoshi 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 esthttp://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 esthttp://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 du10 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 à unesuggestion de ter Horst, la formulation de laSection 6.3 a été améliorée.
Éviter 'de manière globale'
En réponse à uncommentaire de ter Horst, la formulation de laSection 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 à uncommentaire de Patel-Schneider, une note additionnelle a été ajoutée au sujet de l'échappement du symbole % dans lasection 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.