Original | Traduction |
---|---|
|
|
Créateur : | Mikael Nilsson KMR Group, NADA, KTH (Royal Institute of Technology), Sweden |
---|---|
Créateur : | Andy Powell Eduserv Foundation, UK |
Créateur : | Pete Johnston Eduserv Foundation, UK |
Créateur : | Ambjörn Naeve KMR Group, NADA, KTH (Royal Institute of Technology), Sweden |
Date de publication : | 2008-01-14 |
Identificateur : | http://dublincore.org/documents/2008/01/14/dc-rdf/ |
Remplace : | http://dublincore.org/documents/2007/06/04/dc-rdf/ |
Remplace : | http://dublincore.org/documents/2002/07/31/dcmes-xml/ |
Remplace : | http://dublincore.org/documents/2002/05/15/dcq-rdf-xml/ |
Dernière version : | http://dublincore.org/documents/dc-rdf/ |
Statut du document: | Ceci est une recommandation du DCMI (N.d.T. Ce document-ci en est une traduction). |
Description du document : | Ce document fait des recommandations pour l'expression de métadonnées Dublin Core avec RDF (Resource Description Framework). |
Ce document fait des recommandations pour l'expression de métadonnées Dublin Core en utilisant le cadre de description de ressource RDF. Il montre comment les caractéristiques du modèle abstrait DCMI (DCMI Abstract Model) [ABSTRACT-MODEL] sont représentées à l'aide du modèle RDF (ou syntaxe abstraite), tel que défini par la spécification des concepts et de la syntaxe abstraite RDF [RDF-CONCEPTS]. Il ne repose pas sur un codage de syntaxe RDF spécifique, même si l'annexe A fournit des exemples utilisant la spécification de la syntaxe RDF/XML [RDF-SYNTAX-GRAMMAR]. Cela permet de coder les métadonnées Dublin Core, en utilisant cette spécification, dans n'importe quelle syntaxe de codage RDF ou dans un autre système de représentation RDF, tel que les bases de données RDF.
Cette recommandation remplace le document DCMI suivant :
Cette recommandation rend obsolète le document DCMI suivant (sans le contredire) :
Le document Notes sur les spécifications du DCMI pour les métadonnées Dublin Core en RDF [DC-RDF-NOTES] décrit plus en détails comment cette version est liée aux spécifications précédentes.
Beaucoup d'exemples dans ce document font appel à des termes de métadonnées DCMI [DCMI-TERMS]. Cf. également les schémas RDF du DCMI pour les termes DCMI [DCMI-SCHEMAS].
Le modèle conceptuel RDF est défini dans la spécification des concepts et de la syntaxe abstraite RDF [RDF-CONCEPTS]. Ce modèle relativement simple repose sur les fondamentaux suivants :
Un graphe RDF (RDF graph) est un ensemble de triplets RDF (RDF triples).
Un triplet RDF se compose de :
un sujet RDF, qui est une référence URI RDF (RDF URI reference) ou un nœud RDF anonyme (blank RDF node) ;
un prédicat RDF (RDF predicate), qui est une référence URI RDF ;
un objet RDF (RDF object), qui est une référence URI RDF, un nœud anonyme RDF ou un littéral RDF (RDF literal).
Un littéral RDF peut être de deux sortes :
un littéral ordinaire RDF (RDF plain literal) est une chaîne de caractères à laquelle est associée une étiquette de langue optionnelle qui décrit la langue de la chaîne de caractères ;
Ces triplets RDF sont connectés en graphes RDF, de telle sorte que l'objet RDF non littéral d'un triplet RDF peut être le sujet RDF d'un autre triplet.
Nous utiliserons des diagrammes pour illustrer les graphes RDF (pour les abréviations des espaces de noms, cf. la section 3). Un triplet simple se présente comme dans la figure suivante :
![]() |
La structure d'un triplet RDF. Ici l'objet RDF est un littéral typé RDF |
Tandis qu'un graphe comprenant trois triplets les présente comme dans cette figure-ci :
![]() |
Un graphe RDF composé de trois triplets, connectés via un nœud anonyme RDF. |
Pour davantage de renseignements sur RDF, cf. la spécification des concepts et de la syntaxe abstraite RDF [RDF-CONCEPTS], le langage de description de vocabulaire RDF [RDF-SCHEMA] et http://www.w3.org/RDF/.
Nous emploierons les abréviations d'espace de noms suivantes dans ce document :
Abréviation d'espace de noms | Adresse URI d'espace de noms complète |
---|---|
dc |
http://purl.org/dc/elements/1.1/ |
dcterms |
http://purl.org/dc/terms/ |
dcam |
http://purl.org/dc/dcam/ |
rdf |
http://www.w3.org/1999/02/22-rdf-syntax-ns# |
xsd |
http://www.w3.org/2001/XMLSchema# |
ex |
http://www.example.org/ns# (un espace de noms d'exemple) |
Voir également les schémas RDF du DCMI pour les termes DCMI [DCMI-SCHEMAS].
Cette section décrit comment chaque construction du modèle abstrait DCMI (DCAM) est représentée en RDF. Les notions RDF utilisées ici sont définies dans la spécification des concepts et de la syntaxe abstraite RDF [RDF-CONCEPTS] et le langage de description de vocabulaire RDF [RDF-SCHEMA].
Les descriptions et ressources DCAM sont représentées de la manière suivante :
rdf:nodeID
)
pour le mettre en œuvre.Une déclaration DCAM est représentée par un triplet RDF comprenant :
Lorsque le substitut de valeur DCAM est un substitut de valeur non littérale, le nœud RDF de valeur est une référence URI RDF ou un nœud RDF anonyme, dont les caractéristiques sont données plus loin.
Le diagramme suivant illustre les aspects principaux de la représentation RDF des substituts de valeurs non littérales.
Représentation DC-TEXT | Graphe RDF |
---|---|
@prefix dcterms: <http://purl.org/dc/terms/> . @prefix ex: <http://www.example.org/ns#> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/123> ) Statement ( PropertyURI ( dcterms:subject ) ValueURI ( <http://example.org/subject32> ) VocabularyEncodingSchemeURI ( ex:ExampleSubjects ) ValueString ( "Biology" Language ( "en" ) ) ValueString ( "EA32" syntaxEncodingSchemeURI ( ex:SubjectEncoding ) ) ) ) ) |
![]() |
La représentation des constructions DCAM dans le
cas d'un substitut de valeur non littérale. La notation "@en" représente une étiquette de langue RDF, et "^^ex:SubjectEncoding" un type de données RDF. |
Une adresse URI de valeur DCAM est représentée par la référence URI RDF du nœud RDF de valeur. S'il n'y a pas d'adresse URI de valeur, le nœud RDF de valeur est un nœud anonyme.
Un schéma de codage de vocabulaire (vocabulary encoding scheme) DCAM est représenté par un triplet RDF comprenant :
un sujet RDF qui est le nœud RDF de valeur ;
un prédicat RDF qui est la référence URI RDF dcam:memberOf
;
un objet RDF avec une référence URI RDF qui est l'adresse URI du schéma de codage de vocabulaire DCAM.
Une chaîne de valeur DCAM est représentée par un triplet RDF comprenant :
un sujet RDF qui est le nœud RDF de valeur ;
un prédicat RDF qui est la référence URI RDF rdf:value
;
un objet RDF qui est un nœud littéral RDF (soit un littéral ordinaire RDF, soit un littéral typé RDF), contenant la chaîne de valeur DCAM.
Une langue de la chaîne de valeur DCAM est représentée par une étiquette de langue associée à un littéral ordinaire RDF apparaissant comme objet RDF de ce triplet RDF. L'étiquette de langue est construite selon le document RFC 3066, et normalisée en lettres minuscules.
Une adresse URI de schéma de codage de syntaxe DCAM est représentée par l'adresse URI de type de données RDF associée à un littéral typé RDF apparaissant comme objet RDF de ce triplet RDF.
Lorsque le substitut de valeur DCAM est un substitut de valeur littérale, le nœud RDF de valeur est un nœud littéral RDF, ayant exactement les mêmes caractéristiques que dans le cas des chaînes de valeur DCAM ci-dessus.
Les diagrammes suivants illustrent les aspects principaux de la représentation RDF des substituts de valeur littérale.
Représentation DC-TEXT | Graphe RDF |
---|---|
@prefix dcterms: <http://purl.org/dc/terms/> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/123> ) Statement ( PropertyURI ( dcterms:title ) LiteralValueString ( "Learning Biology" Language ( "en" ) ) ) ) ) |
![]() |
La représentation des constructions DCAM dans le cas d'un substitut de valeur littérale avec une étiquette de langue. La notation "@en" représente une étiquette de langue RDF. |
Le diagramme suivant illustre le deuxième cas, avec des littéraux typés RDF :
Représentation DC-TEXT | Graphe RDF |
---|---|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix ex: <http://example.org/ns#> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/person123> ) Statement ( PropertyURI ( ex:age ) LiteralValueString ( "43" SyntaxEncodingSchemeURI ( xsd:int ) ) ) ) ) |
![]() |
La représentation des constructions DCAM dans le cas d'un substitut de valeur littérale
avec une adresse URI de schéma de codage de syntaxe. La notation "^^xsd:int" représente un type de données RDF. |
Un ensemble de description DCAM est représenté par un graphe RDF qui inclut une ou plusieurs descriptions DCAM comme décrit plus haut.
Une valeur DCAM peut être décrite plus encore dans une description DCAM séparée au sein du même ensemble de description DCAM. On le représente en RDF en laissant le nœud RDF de valeur être la racine d'un graphe RDF représentant les déclarations DCAM dans la description DCAM de la valeur. Le nœud RDF de valeur sera donc le sujet RDF d'un ensemble de triplets représentant la description DCAM de la valeur.
L'expression RDF du modèle abstrait DCMI revêt un statut particulier parmi les spécifications de codage du DCMI. Puisque la sémantique des notions du modèle abstrait DCMI est fondée sur celle des notions correspondantes en RDF (comme défini par [RDF-SEMANTICS]), il est d'importance fondamentale que l'expression RDF préserve la sémantique du modèle abstrait DCMI. Également, toutes les inférences valides réalisables avec la sémantique RDF doivent être valides lors de leur interprétation en fonction du modèle abstrait DCMI. Ces exigences n'ont pas encore été formalisées mais sont considérées comme raisonnables et relativement simples. Entre autres, leur formulation nécessiterait de définir une application inverse, de RDF vers le modèle abstrait DCMI.
La classe ou le type d'une valeur peuvent être inférés de plusieurs façons :
En utilisant l'image (range) de la propriété correspondante. Par exemple, si l'image de la
propriété ex:owner
est ex:Person
, on peut inférer que toutes les valeurs de la propriété ex:owner
sont de type ex:Person
;
En utilisant une déclaration rdf:type
explicite sur la valeur. Par exemple, si une ressource a la propriété rdf:type
avec la valeur ex:Person
, on peut inférer la valeur comme étant de type ex:Person
;
En utilisant la connaissance du contexte d'application. Par exemple, une application pourrait savoir qu'elle ne traite que les
ressources de type ex:Book
, même si cela ne fait pas partie de la métadonnée en question.
Il est recommandé pour les applications RDF d'utiliser des triplets rdf:type
explicites, même si cela suppose
de créer une description DCAM séparée de la valeur.
La propriété dcterms:type
possède une sémantique très semblable à rdf:type
. Au moment de la rédaction,
les relations précises entre ces propriétés ne sont pas encore arrêtées.
Il est recommandé pour les applications RDF mettant en œuvre cette spécification de principalement utiliser et comprendre
rdf:type
au lieu de dcterms:type
pour exprimer les métadonnées Dublin Core en RDF, étant donné
que la plupart des processeurs RDF intègrent la connaissance de rdf:type
.
Merci à Tom Baker, aux membres du Comité d'utilisation Dublin Core et aux membres du groupe de travail Architecture du Dublin Core pour leurs commentaires sur les versions précédentes de ce document.
Les exemples suivants utilisent la syntaxe DC-TEXT [DC-TEXT] pour décrire des métadonnées Dublin Core. Le graphe RDF correspondant est présenté ensuite en utilisant la syntaxe RDF/XML [RDF-SYNTAX-GRAMMAR]. Le lecteur est censé connaître la syntaxe RDF/XML « en bandes » (striped). On peut utiliser le service de validation RDF du W3C [RDF-VALIDATOR] pour convertir ces exemples RDF/XML en triplets et graphes.
Description | Représentation DC-TEXT | Représentation RDF/XML |
---|---|---|
Une description avec une seule déclaration, qui utilise une adresse URI de valeur pour identifier la valeur. « La ressource |
@prefix dcterms: <http://purl.org/dc/terms/> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/123> ) Statement ( PropertyURI ( dcterms:subject ) ValueURI ( <http://example.org/taxonomy/D003.53> ) ) ) ) |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/"> <rdf:Description rdf:about="http://example.org/123"> <dcterms:subject rdf:resource="http://example.org/taxonomy/D003.53"/> </rdf:Description> </rdf:RDF> |
Une description avec une seule déclaration, qui utilise une seule chaîne de valeur et un schéma de codage de vocabulaire pour décrire la valeur. « La ressource |
@prefix dcterms: <http://purl.org/dc/terms/> . @prefix ex: <http://example.org/taxonomy/> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/123> ) Statement ( PropertyURI ( dcterms:subject ) VocabularyEncodingSchemeURI ( ex:MyVocab ) ValueString ( "Ornitology" ) ) ) ) |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:ex="http://example.org/taxonomy/" xmlns:dcam="http://purl.org/dc/dcam/"> <rdf:Description rdf:about="http://example.org/123"> <dcterms:subject> <rdf:Description> <dcam:memberOf rdf:resource="http://example.org/taxonomy/MyVocab"/> <rdf:value>Ornitology</rdf:value> </rdf:Description> </dcterms:subject> </rdf:Description> </rdf:RDF> |
Une description avec une seule déclaration, qui utilise un valeur littérale avec une étiquette de langue. « La ressource |
@prefix dcterms: <http://purl.org/dc/terms/> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/123> ) Statement ( PropertyURI ( dcterms:title ) LiteralValueString ( "Learning Biology" Language ( "en" ) ) ) ) ) |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/"> <rdf:Description rdf:about="http://example.org/123"> <dcterms:title xml:lang="en">Learning Biology</dcterms:title> </rdf:Description> </rdf:RDF> |
Une description avec une seule déclaration, qui utilise une valeur littérale avec un schéma de codage de syntaxe. « La ressource |
@prefix dcterms: <http://purl.org/dc/terms/> . @prefix ex: <http://example.org/ns#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/person123> ) Statement ( PropertyURI ( ex:age ) LiteralValueString ( "43" SyntaxEncodingSchemeURI ( xsd:int ) ) ) ) ) |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:ex="http://example.org/ns#"> <rdf:Description rdf:about="http://example.org/person123"> <ex:age rdf:datatype="http://www.w3.org/2001/XMLSchema#int">43</ex:age> </rdf:Description> </rdf:RDF> |
Une description avec une seule déclaration, qui utilise deux chaînes de valeur, l'une avec une étiquette de langue et l'autre avec un schéma de codage de syntaxe, un schéma de codage de vocabulaire pour la valeur et une adresse URI de valeur identifiant la valeur. « La ressource |
@prefix dcterms: <http://purl.org/dc/terms/> . @prefix ex: <http://example.org/taxonomy/> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/123> ) Statement ( PropertyURI ( dcterms:subject ) ValueURI ( <http://example.org/subject32> ) VocabularyEncodingSchemeURI ( ex:ExampleSubjects ) ValueString ( "Biology" Language ( "en" ) |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:dcterms="http://purl.org/dc/terms/" xmlns:ex="http://example.org/taxonomy/" xmlns:dcam="http://purl.org/dc/dcam/"> <rdf:Description rdf:about="http://example.org/123"> <dcterms:subject> <rdf:Description rdf:about="http://example.org/subject32"> <dcam:memberOf rdf:resource="http://example.org/taxonomy/ExampleSubjects"/> <rdf:value xml:lang="en">Biology</rdf:value> <rdf:value xml:lang="sv">Biologi</rdf:value> <rdf:value rdf:datatype="http://example.org/taxonomy/SubjectEncoding"> EA32</rdf:value> </rdf:Description> </dcterms:subject> </rdf:Description> </rdf:RDF> |
Une description avec une seule déclaration, qui utilise une seule chaîne de valeur et une adresse URI de valeur, avec une description de la valeur. La description de la valeur contient deux déclarations, chacune n'a qu'une adresse URI de valeur. « La ressource |
@prefix dcterms: <http://purl.org/dc/terms/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . DescriptionSet ( Description ( ResourceURI ( <http://example.org/123> ) Statement ( PropertyURI ( dcterms:creator ) ValueURI ( <http://example.org/person45> ) ValueString ( "John Smith" ) ) ) Description ( ResourceURI ( <http://example.org/person45> ) Statement ( PropertyURI ( foaf:phone ) ValueURI ( <tel:+358-555-1234567> ) ) Statement ( PropertyURI ( dcterms:type ) ValueURI ( foaf:Person ) ) ) ) |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <rdf:Description rdf:about="http://example.org/123"> <dcterms:creator> <foaf:Person rdf:about="http://example.org/person45"> <rdf:value>John Smith</rdf:value> <foaf:phone rdf:resource="tel:+358-555-1234567"/> </foaf:Person> </dcterms:creator> </rdf:Description> </rdf:RDF> |
Une description avec une seule déclaration, qui utilise une adresse URI de valeur mais pas d'adresse URI de ressource décrite. « La ressource décrite a son sujet identifié par l'adresse URI |
@prefix dcterms: <http://purl.org/dc/terms/> . DescriptionSet ( Description ( Statement ( PropertyURI ( dcterms:subject ) ValueURI ( <http://example.org/taxonomy/D003.53> ) ) ) ) |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/"> <rdf:Description> <dcterms:subject rdf:resource="http://example.org/taxonomy/D003.53"/> </rdf:Description> </rdf:RDF> |
Une description avec une seule déclaration, qui utilise une chaîne de valeur, mais pas d'adresse URI de valeur. La description de la valeur n'a pas d'adresse URI de ressource décrite, mais a deux déclarations qui utilisent toutes deux une adresse URI de valeur. « La ressource |
@prefix dcterms: <http://purl.org/dc/terms/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . DescriptionSet ( Description ( Statement ( PropertyURI ( dcterms:creator ) ValueId ( "john" ) ValueString ( "John Smith" ) ) ) Description ( ResourceId ( "john" ) Statement ( PropertyURI ( foaf:phone ) ValueURI ( <tel:+358-555-1234567> ) ) Statement ( PropertyURI ( dcterms:type ) ValueURI ( foaf:Person ) ) ) ) |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" <rdf:Description> <dcterms:creator> <foaf:Person> <rdf:value>John Smith</rdf:value> <foaf:phone rdf:resource="tel:+358-555-1234567"/> </foaf:Person> </dcterms:creator> </rdf:Description> </rdf:RDF> |
Copyright © 1995-2008 DCMI. All Rights Reserved.