Note de traduction
Ce document est la traduction en français de la recommandation du W3C portant sur les concepts et la syntaxe abstraite de RDF 1.1 (25 février 2014).
Cette traduction peut comporter des erreurs. La seule version normative est la version originale anglaise, RDF 1.1 Concepts and Abstract Syntax qui se trouve à lâadresse http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/. Le traducteur tient à remercier Julien Plu pour sa relecture de ce document. Un glossaire donne la correspondance entre les concepts exprimés en français et les concepts originaux, et vice versa. Pour tout commentaire au sujet de la traduction elle-même (et non le contenu de la spécification) veuillez envoyer un email à Antoine Zimmermann.
RésuméLe cadre de description de ressource (Resource Description Framework ou RDF) est un cadre de représentation de lâinformation sur le Web.
Ce document définit une syntaxe abstraite (un modèle de données) qui sert à lier tous les langages et spécifications fondés sur RDF. La syntaxe abstraite a deux structures de données cléâ¯: les graphes RDF sont des ensembles de triplets sujet-prédicat-objet, où les éléments peuvent être des IRI, des nÅuds vides, ou des littéraux typés. Ils sont utilisés pour décrire des ressources. Les jeux de données RDF sont utilisés pour organiser des collections de graphes RDF, et comprennent un graphe par défaut et zéro ou plus graphes nommés. Les concepts et syntaxe abstraite de RDF 1.1 introduisent également les concepts clés et la terminologie, et discutent du typage et de la manière dont doivent être traités les identifiants de fragments dans les IRI au sein de graphes RDF.
Statut de ce documentCette section décrit le statut de ce document au moment de sa publication. Dâautres documents peuvent remplacer ce document. Une liste des publications actuelles du W3C et la dernière mise à jour de ce rapport technique peut être trouvée dans lâindex des rapports techniques du W3C à lâadresse http://www.w3.org/TR/.
Ce document fait partie de la suite de documents RDF 1.1. Il sâagit de la spécification centrale de RDF 1.1 et il définit les concepts essentiels de RDF. La notion de jeu de données RDF est un nouveau concept de RDF 1.1 pour représenter des graphes multiples. Les suites de tests et les rapports dâimplémentation dâun certain nombre de spécifications de RDF 1.1 qui se fondent sur ce document sont disponibles via le document des cas de tests RDF 1.1 (RDF 1.1 Test Cases) [RDF11-TESTCASES]. Il n'y a eu aucun changement sur ce document depuis sa publication en tant que recommandation proposée.
La version anglaise de ce document a été publiée par le groupe de travail RDF en tant que recommandation. Cette version traduite nâest pas normative. Si vous souhaitez faire des commentaires au sujet de ce document, veuillez les envoyer à public-rdf-comments@w3.org (sâinscrire, archives). Tous les commentaires sont les bienvenus.
Veuillez voir le rapport dâimplémentation du groupe de travail.
Cette traduction nâa pas été produite par un groupe de travail du W3C. En revanche, la version originale de ce document a été produite par un groupe opérant selon la politique de brevet du W3C du 5 février 2004. Le W3C tient une liste publique des divulgations de brevets effectuées en rapport avec les produits livrables du groupeâ¯; cette page contient également des instructions pour divulguer un brevet. Une personne ayant connaissance d'un brevet qu'il croit contenir des revendications essentielles doit divulguer ces informations conformément à la section 6 de la politique de brevet du W3C.
Sommaire 1. IntroductionCette section nâest pas normative.
Le cadre de description de ressource (Resource Description Framework ou RDF) est un cadre de représentation de lâinformation sur le Web.
Ce document définit une syntaxe abstraite (un modèle de données) qui sert à lier tous les langages et spécifications fondés sur RDF, en particulierâ¯:
La structure de base de la syntaxe abstraite est un ensemble de triplets, chacun consistant en un sujet, un prédicat et un objet. Un ensemble de ces triplets est appelé un graphe RDF. Un graphe RDF peut être visualisé sous la forme dâun diagramme composé de nÅuds et dâarcs orientés, dans lequel chaque triplet est représenté comme un lien nÅud-arc-nÅud.
Fig. 1 Un graphe RDF avec deux nÅud (Sujet et Objet) et un triplet les reliant (Prédicat)Il peut y avoir trois sortes de nÅuds dans un graphe RDFâ¯: des IRI, des littéraux et des nÅuds vides.
1.2 Ressources et déclarationsTout IRI ou littéral dénote quelque chose dans le monde («â¯lâunivers de discoursâ¯Â»). Ces choses sont appelées des ressources. Nâimporte quoi peut être une ressource, y compris des choses physiques, des documents, des concepts abstraits, des nombres et des chaînes de caractèresâ¯; le terme est synonyme dâ«â¯entitéâ¯Â» tel quâutilisé dans la spécification de la sémantique de RDF [RDF11-MT]. La ressource dénotée par un IRI est appelée son référant, et la ressource dénotée par un littéral est appelée sa valeur littérale. Les littéraux ont des types de données qui définissent lâétendue des valeurs possibles, tels que les chaînes de caractères, les nombres et les dates. Un type spécial de littéraux, les chaînes à balise de langue, dénotent du texte simple dans une langue naturelle.
Lâénonciation dâun triplet RDF consiste à dire quâune certaine relation, indiquée par le prédicat, lie les ressources dénotées par le sujet et lâobjet. Cette déclaration correspondant à un triplet RDF sâappelle une déclaration RDF. Le prédicat lui-même est un IRI et dénote une propriété, câest-à -dire, une ressource que lâon peut voir comme une relation binaire. (Les relations qui impliquent plus de deux entités ne peuvent être exprimées quâindirectement en RDF [SWBP-N-ARYRELATIONS].)
à la différence des IRI et des littéraux, les nÅuds vides nâidentifient pas de ressources spécifiques. Des déclarations comportant des nÅuds vides disent que quelque chose impliquée dans la relation existe, sans la nommer explicitement.
1.3 Le référant dâun IRILa ressource dénotée par un IRI est aussi appelée son référant. Pour certains IRI ayant une signification particulière, tels que ceux identifiant les types de données XSD, le référant est fixé par cette spécification. Pour tous les autres IRI, ce qui est exactement dénoté par un IRI donné nâest pas défini par cette spécification. Dâautres spécifications peuvent fixer le référant dâun IRI, ou appliquer dâautres contraintes sur ce que peuvent être les référants de nâimporte quel IRI.
Des directives pour déterminer le référant dâun IRI sont données dans dâautres documents comme Architecture of the World Wide Web, Volume One (Architecture du World Wide Web, volume un) [WEBARCH] et Cool URIs for the Semantic Web (Des URI sympas pour le Web sémantique) [COOLURIS]. Voici un très bref exposé, informel et partielâ¯:
http://www.w3.org/ns/org#
.La caractéristique sans doute la plus importante des IRI dans lâarchitecture du Web est quâils peuvent être déréférencés, et donc servir de points de départ pour les interactions avec un serveur distant. Cette spécification ne concernent pas ces interactions. Elle ne définit pas un modèle dâinteraction. Elle ne traite les IRI que comme des identifiants uniques dans un modèle de données de graphes qui décrit des ressources. Cependant, ces interactions sont cruciales pour le concept de Web de données (Linked Data) [LINKED-DATA], qui utilise le modèle de données de RDF et ses formats de sérialisation.
1.4 Vocabulaires RDF et IRI dâespace de nomsUn vocabulaire RDF est une collection dâIRI destinés à être utilisés dans des graphes RDF. Par exemple, les IRI documentés dans [RDF-SCHEMA] sont le vocabulaire de RDF Schema. RDF Schema peut lui-même être utilisé pour définir et documenter des vocabulaires RDF supplémentaires. Certains de ces vocabulaires sont mentionnés dans le Primer [RDF-PRIMER].
Les IRI dâun vocabulaire RDF commencent souvent par une sous-chaîne commune appelée IRI dâespace de noms. Certains IRI dâespace de noms sont associés par convention avec un nom court appelé préfixe dâespace de noms. Voici quelques exemplesâ¯:
Dans certains formats de séralisation, il est courant dâabréger les IRI qui commencent par un IRI dâespace de noms en utilisant un préfixe dâespace de noms afin dâaméliorer la lisibilité. Par exemple, lâIRI http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
serait abrégé en rdf:XMLLiteral
. Notons cependant que ces abréviations ne sont pas des IRI valides, et ne doivent pas être utilisés dans des contextes où des IRI sont attendus. Les IRI dâespace de noms et les préfixes dâespace de noms ne font pas partie du modèle de donnée de RDF. Ils ne sont quâune commodité syntaxique pour abréger des IRI.
Le terme «â¯espace de nomsâ¯Â» en lui-même nâa pas de sens bien défini dans le contexte de RDF mais est parfois utilisé pour signifier «â¯IRI dâespace de nomsâ¯Â» ou «â¯vocabulaire RDFâ¯Â».
1.5 RDF et changement au cours du tempsLe modèle de données RDF est atemporelâ¯: les graphes RDF sont des instantanés statiques de lâinformation.
Cependant, des graphes RDF peuvent exprimer de lâinformation sur des événements et sur les aspects temporels dâautres entités, à supposer que des termes appropriés de vocabulaires soient fournis.
Puisque les graphes RDF sont définis comme des ensembles mathématiques, ajouter ou retirer des triplets dâun graphe RDF produit un graphe RDF différent.
Nous utilisons informellement le terme source RDF pour se référer à une source ou un conteneur de graphes RDF persistant mais changeant au cours du temps. Une source RDF est une ressource dont on peut dire quâelle a un état qui change au cours du temps. Un instantané de cet état peut être exprimé comme un graphe RDF. Par exemple, nâimporte quel document sur le Web qui a une représentation RDF peut être considéré comme une source RDF. Comme toute ressource, les sources RDF peuvent être nommées avec des IRI et par conséquent être décrites dans dâautres graphes RDF.
Intuitivement parlant, les changements dans lâunivers du discours peuvent être reflétés de la manière suivanteâ¯:
Puisque les graphes RDF sont des ensembles de triplets, ils peuvent être combinés facilement, ce qui aide à lâutilisation de données issues de sources multiples. Néanmoins, il est parfois souhaitable de travailler avec des graphes RDF multiples tout en gardant leur contenu séparé. Les jeux de données RDF répondent à ce besoin.
Un jeu de données RDF est une collection de graphes RDF. Tous sauf un de ces graphes sont associés à un IRI ou un nÅud vide. Ils sont appelés des graphes nommés et leur IRI ou nÅud vide associé est appelé nom du graphe. Le graphe restant nâa pas dâIRI associé et sâappelle le graphe par défaut du jeu de données RDF.
Il y a de nombreuses utilisations possibles des jeux de données RDF. Notamment, ils peuvent être utilisés pour contenir des instantanés de multiples sources RDF.
1.7 Ãquivalence, implication et incohérencesUn triplet RDF encode une déclaration â une expression logique simple, ou une affirmation sur le monde. Un graphe RDF est la conjonction (ET logique) de ses triplets. Les détails précis de la signification des triplets et des graphes RDF sont lâobjet de la spécification de la sémantique de RDF [RDF11-MT], qui introduit diverses relations entre les graphes RDFâ¯:
Un régime dâimplication [RDF11-MT] est une spécification qui définit les conditions précises par lesquelles ces relations existent. RDF lui-même ne reconnait que quelques cas élémentaires dâimplication, dâéquivalence et dâincohérence. Dâautres spécifications, telles que RDF Schema [RDF-SCHEMA] et OWL 2 [OWL2-OVERVIEW], ajoutent des régimes dâimplication plus puissants, comme le font certains vocabulaires spécifiques à un domaine.
Cette spécification ne contraint pas comment les implémentations utilisent les relations logiques définies par les régimes dâimplication. Les implémentations peuvent ou non détecter des incohérences, et peuvent rendre toutes, certaines ou aucune implications disponibles aux utilisateurs.
1.8 Documents RDF et syntaxesUn document RDF est un document qui encode un graphe RDF ou un jeu de données RDF dans une syntaxe RDF concrète, telle que Turtle [TURTLE], RDFa [RDFA-PRIMER], JSON-LD [JSON-LD], ou TriG [TRIG]. Les documents RDF permettent lâéchange de graphes RDF et de jeux de données RDF entre des systèmes.
Une syntaxe RDF concrète peut offrir différentes manières dâencoder le même graphe RDF ou jeu de données RDF, par exemple par lâutilisation de préfixes dâespace de noms, dâIRI relatifs, dâidentifiants de nÅuds vides, et différents ordres de déclarations. Tandis que ces aspects peuvent avoir un effet important sur la commodité de travailler avec des documents RDF, ils nâont aucune importance pour leur signification.
2. ConformitéDe même que les sections marquées comme non-normatives, toutes les directives de création, diagrammes, exemples et notes dans cette spécification sont non-normatifs. Tout le reste dans cette spécification est normatif.
Les mots clés DOIT, DOIVENT, NE DOIT PAS, NE DOIVENT PAS, OBLIGATOIRE, OBLIGATOIRES, DEVRAIT, DEVRAIENT, NE DEVRAIT PAS, NE DEVRAIENT PAS, RECOMMANDÃ, RECOMMANDÃE, RECOMMANDÃS, RECOMMANDÃES, PEUT, PEUVENT, OPTIONNEL, OPTIONNELLE, OPTIONNELS et OPTIONNELLES dans cette spécification sont à interpréter comme décrits dans [RFC2119].
Cette spécification, RDF 1.1 Concepts et syntaxe abstraite, définit un modèle de données et la terminologie associée pour être utilisée dans dâautres spécifications, telles que des syntaxes RDF concrètes, des spécifications dâAPI, ou des langages de requêtes. Les implémentations ne peuvent pas directement se conformer à RDF 1.1 Concepts et syntaxe abstraite, mais peuvent se conformer à de telles autres spécifications qui référencent normativement les termes définis ici.
3. Graphes RDFUn graphe RDF est un ensemble de triplets RDF.
3.1 TripletsUn triplet RDF contient trois composantsâ¯:
Un triplet RDF est conventionnellement écrit dans lâordre sujet, prédicat, objet.
Lâensemble des nÅud dâun graphe RDF est lâensemble des sujets et objets des triplets dans le graphe. Il est possible que lâIRI dâun prédicat apparaissent également en tant que nÅud dans le même graphe.
Les IRI, les nÅuds vides et les littéraux sont appelés collectivement termes RDF.
Les IRI, les littéraux et les nÅuds vides sont distincts et distinguable. Par exemple, http://example.org/
en tant que chaîne de caractères littérale nâest pas égale à http://example.org/
en tant quâIRI, ni à un nÅud vide avec lâidentifiant de nÅud vide http://example.org/
.
Un IRI (Identifiant de Ressource Internationalisé ou Internationalized Resource Identifier) dans un graphe RDF est une chaîne de caractères Unicode [UNICODE] qui se conforme à la syntaxe définie dans RFC 3987 [RFC3987].
Les IRI dans la syntaxe abstraite de RDF DOIVENT être absolue, et PEUVENT contenir un identifiant de fragment.
Ãgalité dâIRIâ¯: Deux IRI sont égales si et seulement si ils sont équivalents selon la comparaison de chaînes simples de la section 5.1 de [RFC3987]. Aucune autre normalisation NE DOIT être effectuée quand on vérifie lâégalité dâIRI.
Note
URI et IRIâ¯: les IRI sont une généralisation des URI [RFC3986] qui permet une plus large plage de caractères Unicode. Tout URI absolu et tout URL est un IRI mais tout IRI nâest pas un URI. Quand les IRI sont utilisés dans des opérations définies seulement pour les URI, ils doivent dâabord être convertis selon la function définie dans la section 3.1 de [RFC3987]. Un exemple notable est la récupération via le protocole HTTP. La fonction implique lâencodage en UTF-8 des caractères non ASCII, lâencodage avec % des octets non autorisés dans les URI, et lâencodage Punycode des noms de domaine.
IRI relatifsâ¯: certaines syntaxes RDF concrètes autorisent les IRI relatifs comme raccourci commode qui permet la création de documents indépendamment de lâendroit où ils seront finalement publiés. Les IRI relatifs doivent être résolus par rapport à un IRI de base pour les rendre absolus. Par conséquent, le graphe RDF sérialisé dans de telles syntaxes nâest bien défini que si un IRI de base peut être établi [RFC3986].
Normalisation dâIRIâ¯: des problèmes dâinteropérabilité peuvent être évités en nâémettant que des IRI normalisés selon la section 5 de [RFC3987]. Les formes non normalisées qui sont à éviter de préférence comprennentâ¯:
http://example.com/
plutôt que http://example.com:80/
),http://example.com/
plutôt que http://example.com
),/./
â¯Â» ou «â¯/../
â¯Â» dans le chemin dâun IRI,%3F
â¯Â» plutôt que «â¯%3f
â¯Â»),Les littéraux sont utilisés pour des valeurs comme des chaînes de caractères, des nombres et des dates.
Un littéral dans un graphe RDF se compose de deux ou trois élémentsâ¯:
http://www.w3.org/1999/02/22-rdf-syntax-ns#langString
, une balise de langue non vide comme définie dans [BCP47]. La balise de langue DOIT être bien-formée selon la section 2.2.9 de [BCP47].Un littéral est une chaîne à balise de langue si le troisième élément est présent. Les représentations lexicales des balises de langues PEUVENT être converties en lettres minuscules. Lâespace de valeurs des balises de langues est toujours en minuscules.
Veuillez noter que des syntaxes concrètes PEUVENT prendre en charge les littéraux simples, constitués dâune forme lexicale seule, sans aucun IRI de type de données ni balise de langue. Les littéraux simples sont traités comme un raccourci syntaxique pour la syntaxe abstraite des littéraux avec lâIRI de type de données http://www.w3.org/2001/XMLSchema#string
. De même, la plupart des syntaxes concrètes représentent les chaînes à balise de langue sans lâIRI de type de données car il est toujours égal à http://www.w3.org/1999/02/22-rdf-syntax-ns#langString
.
La valeur littérale associée à un littéral estâ¯:
Ãgalité de littéraux en termeâ¯: deux littéraux sont égaux en terme (sont le même littéral) si et seulement si les deux formes lexicales, les deux IRI de type de données, et les deux balises de langues (le cas échéant) sont égaux, caractère par caractère. Ainsi, deux littéraux peuvent avoir la même valeur sans être le même terme RDF. Par exempleâ¯:
"1"^^xs:integer "01"^^xs:integer
dénotent la même valeur, mais ne sont pas les mêmes termes RDF littéraux car leur forme lexicale diffère.
3.4 NÅuds videsLes nÅuds vides sont disjoints des IRI et des littéraux. Sinon, lâensemble des nÅuds vides possibles est arbitraire. RDF ne fait référence à aucune structure interne des nÅuds vides.
Note
Les identifiants de nÅuds vides sont des identifiants locaux qui sont utilisés dans certaines syntaxes RDF concrètes ou des implémentations de dépôts RDF. Ils sont toujours à portée locale au fichier ou au dépôt RDF, et ne sont pas des identifiants persistant ou portables pour les nÅuds vides. Les identifiants de nÅuds vides ne font pas partie de la syntaxe abstraite RDF, mais sont entièrement dépendants de la syntaxe concrète ou de la mise en Åuvre. Les restrictions syntaxiques sur les identifiants de nÅuds vides, sâil y en a, sont par conséquent aussi dépendantes de la syntaxe RDF concrète ou de la mise en Åuvre. Les implémentations qui manipulent des identifiants de nÅuds vides dans des syntaxes concrètes doivent veiller à ne pas créer le même nÅud vide à partir de multiples occurrences du même identifiant de nÅud vide sauf dans les situations prises en charge par la syntaxe.
3.5 Remplacement des nÅuds vides par des IRILes nÅuds vides nâont pas dâidentifiants dans la syntaxe abstraite de RDF. Les identifiants de nÅuds vides introduits par certaines syntaxes concrètes nâont quâune portée locale et sont purement des artefacts de la sérialisation.
Dans des situations où une identification plus forte est nécessaire, les sytèmes PEUVENT systématiquement remplacer certains ou tous les nÅuds vides dâun graphe RDF avec des IRI. Les systèmes qui souhaitent faire cela DEVRAIENT émettre un nouvel IRI globalement unique (un IRI de Skolem) pour chaque nÅud vide remplacé.
Cette transformation ne change pas sensiblement le sens dâun graphe RDF, à condition que les IRI de Skolem nâapparaissent nulle part ailleurs. Cela permet toutefois à dâautres graphes dâutiliser par la suite les IRI de Skolem, ce qui nâétait pas possible lorsque le nÅud était vide.
Des systèmes peuvent souhaiter émettre un IRI de Skolem de telle manière quâils puissent reconnaître les IRI introduits seulement pour remplacer des nÅuds vides. Ceci permet au système de faire correspondre les IRI aux nÅuds vides, si nécessaire.
Les systèmes qui veulent pouvoir reconnaître des IRI de Skolem hors de leur limite DEVRAIENT utiliser un IRI bien-connu [RFC5785] avec le nom enregistré genid
. Il sâagit dâun IRI qui utilise le schéma HTTP ou HTTPS, ou un autre schéma utilisant les IRI bien-connus, et dont le composant chemin commence par /.well-known/genid/
.
Par exemple, lâautorité responsable du domaine example.com
pourrait émettre lâIRI de Skolem reconnaissable suivanteâ¯:
http://example.com/.well-known/genid/d26a2d0e98334696f4ad70a677abc1f6
Note
RFC 5785 [RFC5785] ne spécifie que des URI bien-connus, pas des IRI. Pour les besoins de ce document, un IRI bien-connu est nâimporte quel IRI qui se traduit par un URI bien-connu après la transformation IRI-vers-URI [RFC3987].
3.6 Comparaison de graphesDeux graphes RDF G et G' sont isomorphes (câest-à -dire, ils sont de formes identiques) sâil existe une bijection M entre les deux ensembles de nÅuds des deux graphes, telle queâ¯:
Voir aussiâ¯: lâégalité dâIRI, lâégalité de littéraux en terme.
Avec cette définition, M montre comment chaque nÅud dans G peut être remplacé par un autre nÅud pour donner G'. Lâisomorphisme de graphe est nécessaire pour définir la spécification des cas de tests RDF [RDF11-TESTCASES].
4. Jeu de données RDFUn jeu de données RDF est une collection de graphes RDF, et comprendâ¯:
Les nÅuds vides peuvent être partagés entre graphes dâun même jeu de données RDF.
Note
Malgré lâutilisation du mot «â¯nomâ¯Â» dans «â¯graphe nomméâ¯Â», le nom du graphe ne dénote pas formellement le graphe. Il est seulement apparié syntaxiquement avec le graphe. RDF ne pose aucune restriction formelle sur la ressource que le nom de graphe dénote, ni sur la relation entre la ressource et le graphe. Une présentation de différentes sémantiques des jeux de données RDF peut être trouvée dans [RDF11-DATASETS].
Certaines implémentations des jeux de données RDF ne tiennent pas compte des graphes nommés vides. Les applications peuvent éviter des problèmes dâintéropérabilité en nâaccordant pas dâimportance à la présence ou lâabsence de graphes nommés vides.
SPARQL 1.1 [SPARQL11-OVERVIEW] définit également le concept de jeu de données RDF. La définition dâun jeu de données RDF dans SPARQL 1.1 et cette spécification diffèrent légèrement car cette spécification permet dâidentifier un graphe RDF en utilisant soit un IRI, soit un nÅud vide. Le langage de requête SPARQL 1.1 ne permet que dâidentifier un graphe RDF en utilisant un IRI. Des implémentations existantes de SPARQL pourraient ne pas autoriser lâutilisation de nÅuds vides pour identifier des graphes RDF pendant quelque temps, donc leur utilisation peut poser des problèmes dâinteropérabilité. La skolémisation des nÅuds vides utilisés comme noms de graphes peut être utilisée pour surmonter ces problèmes dâinteroperabilité.
4.1 Comparaison de jeux de données RDFDeux jeux de données RDF (le jeu de données D1 avec le graphe par défaut DG1 et les graphes nommés NG1 et le jeu de données D2 avec le graphe par défaut DG2 et les graphes nommés NG2) sont jeu-de-données-isomorphes si et seulement si il existe une bijection M entre les nÅuds, triplets et graphes dans D1 et ceux dans D2 telle queâ¯:
Cette section nâest pas normative.
Des ressources Web peuvent avoir de multiples représentations rendues disponibles par négociation de contenu [WEBARCH]. Une représentation peut être rendue dans un format de sérialisation RDF qui prend en charge à la fois lâexpression de jeux de données RDF et de graphes RDF. Si un jeu de données RDF est rendu et que le consommateur attend un graphe RDF, il est attendu que le consommateur utilise le graphe par défaut du jeu de données RDF.
5. Types de donnéesLes types de données sont utilisés avec des littéraux pour représenter des valeurs comme des chaînes de caractères, des nombres et des dates. Lâabstraction de type de données utilisée dans RDF est compatible avec XML Schema [XMLSCHEMA11-2]. Toute définition de type de données conforme à cette abstraction PEUT être utilisée en RDF, même si elle nâest pas définie en termes de schéma XML. RDF réutilise beaucoup des types de données prédéfinis de XML Schema, et fournit deux autres types de données prédéfinis, rdf:HTML
et rdf:XMLLiteral
. La liste des types de données supportés par une implémentation est déterminée par ses IRI de types de données reconnus.
Un type de données se compose dâun espace lexical, un espace de valeurs et une fonction lexique-valeur, et est dénoté par un ou plusieurs IRI.
Lâespace lexical dâun type de données est un ensemble de chaînes de caractères Unicode [UNICODE].
La fonction lexique-valeur dâun type de données est un ensemble de paires dont le premier élément appartient à un espace lexical, et le second élément appartient à lâespace de valeurs dâun type de données. Chaque membre de lâespace lexical est associé à exactement une valeur, et est une représentation lexicale de cette valeur. Elle peut être vue comme une fonction de lâespace lexical vers lâespace de valeurs.
Par exemple, le type de données de XML Schema xsd:boolean
, où chaque élément de lâespace de valeurs a deux représentations lexicales, est défini ainsiâ¯:
true
â¯Â», «â¯false
â¯Â», «â¯1
â¯Â», «â¯0
â¯Â»}
true
â¯Â», vrai>, <«â¯false
â¯Â», faux>, <«â¯1
â¯Â», vrai>, <«â¯0
â¯Â», faux>, }
Les littéraux pouvant être définis en utilisant ce type de données sontâ¯:
Cette table liste les littéraux de type xsd:boolean. Littéral Valeur <«â¯true
â¯Â», xsd:boolean
> vrai <«â¯false
â¯Â», xsd:boolean
> faux <«â¯1
â¯Â», xsd:boolean
> vrai <«â¯0
â¯Â», xsd:boolean
> faux 5.1 Les types de données prédéfinis XML Schema
Les IRI de la forme http://www.w3.org/2001/XMLSchema#xxx
, où xxx
est le nom dâun type de données, dénotent le type de données prédéfinis dans XML Schema 1.1 Part 2: Datatypes [XMLSCHEMA11-2]. Les types prédéfinis de XML Schema listés dans la table suivante sont les types XSD compatibles avec RDF. Leur utilisation est RECOMMANDÃE.
Les lecteurs pourraient noter que les types de données xsd:hexBinary
et xsd:base64Binary
sont les seuls types de données sûrs pour transférer de lâinformation binaire.
Les autres types de données prédéfinis de XML Schema ne conviennent pas pour des raisons diverses et NE DEVRAIENT PAS être utilisés.
xsd:QName
et xsd:ENTITY
ont besoin dâun contexte de document XML englobant.xsd:ID
et xsd:IDREF
sont utilisés pour des références croisées dans un document XML.xsd:NOTATION
nâest pas destiné à être utilisé directement.xsd:IDREFS
, xsd:ENTITIES
et xsd:NMTOKENS
sont des types de données dont les valeurs sont des séquences qui ne correspondent pas au modèle de type de données de RDF.rdf:HTML
Cette section nâest pas normative.
RDF peut fournir du contenu HTML comme possible valeur littérale. Cela permet dâinclure des balises dans les valeurs littérales. Un tel contenu est indiqué dans un graphe RDF en utilisant un littéral dont le type de données est rdf:HTML
. Ce type de données est défini comme non-normatif parce quâil dépend de [DOM4], une spécification qui nâa pas encore atteint le statut de recommandation du W3C.
Le type de données rdf:HTML
est défini comme suitâ¯:
http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML
.
DocumentFragment
. Deux nÅuds de type DocumentFragment
A et B sont considérés comme égaux si et seulement si la méthode DOM A.isEqualNode(B)
[DOM4] renvoie true
.
Chaque membre de lâespace lexical est associé au résultat de lâapplication de lâalgorithme suivantâ¯:
domnodes
la liste de nÅuds DOM [DOM4] résultant de lâapplication de lâalgorithme dâanalyse de fragment HTML [HTML5] à la chaîne de caractères en entrée, sans élément de contexte.domfrag
le DocumentFragment
DOM [DOM4] dont lâattribut childNodes
est égal à domnodes
domfrag.normalize()
Note
Toute annotation de langue (lang="â¦"
) ou espace de noms XML (xmlns
) souhaités dans le contenu HTML doit être inclus explicitement dans le littéral HTML. Des URL relatifs dans les attributs tels que href
nâont pas dâURL de base bien défini et sont à éviter. Les applications RDF peuvent utiliser des relations dâéquivalence supplémentaires, telles que celle qui relie une chaîne de caractères xsd:string
à un littéral rdf:HTML
correspondant à un seul nÅud texte de la même chaîne.
rdf:XMLLiteral
Cette section nâest pas normative.
RDF peut fournir du contenu XML comme possible valeur littérale. Un tel contenu est indiqué dans un graphe RDF en utilisant un littéral dont le type de données est rdf:XMLLiteral
. Ce type de données est défini comme non-normatif parce quâil dépend de [DOM4], une spécification qui nâa pas encore atteint le statut de recommandation du W3C.
Le type de données rdf:XMLLiteral
est défini comme suitâ¯:
http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
.
DocumentFragment
. Deux nÅuds de type DocumentFragment
A et B sont considérés comme égaux si et seulement si la méthode DOM A.isEqualNode(B)
[DOM4] renvoie true
.
Chaque membre de lâespace lexical est associé au résultat de lâapplication de lâalgorithme suivantâ¯:
domfrag
un DocumentFragment
DOM [DOM4] correspondant à la chaîne de caractères en entréedomfrag.normalize()
rdf:XMLLiteral
est la méthode de canonisation XML exclusive (avec les commentaires, et une InclusiveNamespaces PrefixList vide) [XML-EXC-C14N].
Note
Toutes les déclarations dâespace de noms XML (xmlns
), les annotations de langue (xml:lang
) ou les déclarations dâURI de base (xml:base
) souhaitées dans le contenu XML doivent être incluses explicitement dans le littéral XML. Notez que certaines syntaxes RDF concrètes peuvent définir des mécanismes pour les hériter du contexte (par exemple, @parseType="literal"
en RDF/XML [RDF-SYNTAX-GRAMMAR]).
Les types de données sont identifiés par des IRI. Si D est un ensemble dâIRI utilisés pour se référer à des types de données, alors les éléments de D sont appelés IRI de types de données reconnus. Les IRI reconnus ont des référants fixés. Si un quelconque IRI de la forme http://www.w3.org/2001/XMLSchema#xxx
est reconu, il DOIT se référer au type XSD compatible avec RDF nommé xsd:xxx
pour chaque type XSD listé dans la section 5.1. En outre, les IRI suivants sont alloués aux types de données non-normatifsâ¯:
http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
se réfère au type de données rdf:XMLLiteral
â¯;http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML
se réfère au type de données rdf:HTML
.Des extensions sémantiques de RDF pourraient choisir de reconnaître dâautres IRI de type de données et imposer quâils se réfèrent à des types de données fixés. Se référer à la spécification de la sémantique de RDF [RDF11-MT] pour plus dâinformations sur les extensions sémantiques.
Un processeur RDF nâest pas obligé de reconnaitre des IRI de types de données. Tout littéral typé avec un IRI non-reconnu est traité comme un IRI inconnu, c.-à .-d. comme se référant à une chose inconnue. Les applications PEUVENT donner un message dâavertissement si elles ne sont pas capables de déterminer le référant dâun IRI utilisé dans un littéral typé, mais NE DEVRAIENT PAS rejeter un tel RDF comme erreur de syntaxe ou de sémantique.
Dâautres spécifications PEUVENT imposer des contraintes supplémentaires sur les IRI de types de données, par exemple, lâobligation de supporter certains types de données.
6. Identifiants de fragmentCette section nâest pas normative.
RDF utilise des IRI, pouvant inclure des identifiants de fragment, comme identifiants de ressource. La sémantique des identifiants de fragment est définie dans RFC 3986 [RFC3986]â¯: ils identifient une ressource secondaire qui est habituellement une partie ou une vue définie ou décrite dans la ressource primaire, et sa sémantique précise dépend de lâensemble de représentations qui pourrait résulter de lâaction de récupération de la ressource primaire.
Cette section traite de la manipulation des identifiants de fragment dans les représentations qui encodent des graphes RDF.
Dans des représentations RDF dâune ressource primaire <foo>
, la ressource secondaire identifiée par un fragment bar
est la ressource dénotée par lâIRI <foo#bar>
dans le graphe RDF. Puisque les IRI dans des graphes RDF peuvent dénoter nâimporte quoi, la ressource peut être quelque chose dâextérieure à la représentation, ou même extérieur au Web.
De cette manière, la représentation RDF agit comme un intermédiaire entre la ressource primaire accessible par le Web, et un certain ensemble dâentités potentiellement non-Web ou abstraite que le graphe RDF peut décrire.
Dans les cas où dâautres spécifications limitent la sémantique des identifiants de fragment dans des représentations RDF, le graphe RDF encodé devrait utiliser les identifiants de fragment en accord avec ces contraintes. Par exemple, dans un document HTML+RDFa [HTML-RDFA], le fragment chapter1
peut identifier une section de document via la sémantique des attributs @name
ou @id
de HTML. LâIRI <#chapter1>
devrait alors dénoter cette même section dans tout triplets encodés en RDFa dans le même document. De même, les identifiants de fragment devraient être utilisés de façon cohérente avec la négociation de contenu [WEBARCH]. Par exemple, si le fragment chapter1
identifie une section de document dans une représentation HTML de la ressource primaire, alors lâIRI <#chapter1>
devrait dénoter la même section dans toute les représentations RDF de la même ressource primaire.
Cette section nâest pas normative.
Il est parfois commode de réduire les exigences sur les triplets RDF. Par exemple, la complétude des règles dâimplication RDFS est plus facile à montrer avec des triplets RDF généralisés.
Un triplet RDF généralisé est un triplet ayant un sujet, un prédicat et un objet qui peuvent chacun être un IRI, un nÅuds vides ou un littéral. Un graphe RDF généralisé est un ensemble de triplets RDF généralisés. Un jeu de données RDF généralisé comprend un graphe RDF généralisé distingué et zéro ou plus paires associant chacune un IRI, un nÅud vide ou un littéral à un graphe RDF généralisé.
Les triplets, graphes et jeux de données RDF généralisés diffèrent des triplets, graphes et jeux de données RDF uniquement en autorisant les IRI, les nÅuds vides et les littéraux à apparaître à nâimporte quelle position, câest-à -dire comme sujet, prédicat, objet ou nom de graphe.
Les utisateurs des triplets, graphes ou jeux de données généralisés doivent être conscients que ces notions sont des extensions non standards de RDF et peuvent causer des problèmes dâinteropérabilité. Il nây a aucune obligation de la part des outils RDF dâaccepter, de traiter, ou de produire quoi que ce soit au delà des triplets, graphes et jeux de données RDF réguliers.
8. RemerciementCette section nâest pas normative.
Les rédacteurs reconnaissent les précieuses contributions de Thomas Baker, Tim Berners-Lee, David Booth, Dan Brickley, Gavin Carothers, Jeremy Carroll, Pierre-Antoine Champin, Dan Connolly, John Cowan, Martin J. Dürst, Alex Hall, Steve Harris, Sandro Hawks, Pat Hayes, Ivan Herman, Peter F. Patel-Schneider, Addison Phillips, Eric Prudâhommeaux, Nathan Rixham, Andy Seaborne, Guus Schreiber, Leif Halvard Silli, Dominik Tomaszuk et Antoine Zimmermann.
Les membres du groupe de travail RDF incluaient Thomas Baker, Scott Bauer, Dan Brickley, Gavin Carothers, Pierre-Antoine Champin, Olivier Corby, Richard Cyganiak, Souripriya Das, Ian Davis, Lee Feigenbaum, Fabien Gandon, Charles Greer, Alex Hall, Steve Harris, Sandro Hawke, Pat Hayes, Ivan Herman, Nicholas Humfrey, Kingsley Idehen, Gregg Kellogg, Markus Lanthaler, Arnaud Le Hors, Peter F. Patel-Schneider, Eric Prud'hommeaux, Yves Raimond, Nathan Rixham, Guus Schreiber, Andy Seaborne, Manu Sporny, Thomas Steiner, Ted Thibodeau, Mischa Tuffield, William Waites, Jan Wielemaker, David Wood, Zhe Wu et Antoine Zimmermann.
A. Changements entre RDFÂ 1.0 et RDFÂ 1.1Cette section nâest pas normative.
Un résumé détaillé des différences entre la version 1.0 et 1.1 de RDF se trouve dans Whatâs New in RDF 1.1 (Quoi de neuf dans RDF 1.1) [RDF11-NEW].
C. Références C.1 Références normativesRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4