yoyodesign.orgdocuments ‣ Expression des métadonnées Dublin Core avec le cadre de description de ressource (RDF)
Avertissement — Ce document est une traduction d'un document original du Dublin Core Metadata Initiative (DCMI) qui seul fait autorité. La traduction peut comporter des erreurs ou en introduire de nouvelles.
Original Traduction
  • Titre : Expressing Dublin Core metadata using the Resource Description Framework (RDF)
  • Éditeur : Dublin Core Metadata Initiative
  • Date de publication : 2008-01-14
  • Adresse URL : http://dublincore.org/documents/2008/01/14/dc-rdf/
  • Copyright © 1995-2008 Dublin Core Metadata Initiative
  • Titre : Expression des métadonnées Dublin Core avec le cadre de description de ressource (RDF)
  • Traducteur : J.J.SOLARI
  • Date de publication : 2008-12-25
  • Adresse URL : http://yoyodesign.org/doc/dcmi/dc-rdf/
  • Copyright © 2008 yoyodesign.org

Expression des métadonnées Dublin Core avec le cadre de description de ressource (RDF)

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).

Table des matières

  1. Introduction
  2. Résumé du modèle conceptuel RDF
  3. Abréviations des espaces de noms
  4. Représentation des constructions DCAM à l'aide du modèle RDF
  5. Quelques remarques à propos de la sémantique

1. Introduction

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].

2. Résumé du modèle conceptuel RDF

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 :

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 :

Exemple de triplet RDF
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
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/.

3. Abréviations des espaces de noms

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].

4. Représentation des constructions DCAM à l'aide du modèle RDF

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].

4.1 Descriptions et ressources

Les descriptions et ressources DCAM sont représentées de la manière suivante :

4.2 Déclarations, propriétés et valeurs

Une déclaration DCAM est représentée par un triplet RDF comprenant :

4.3 Substituts des valeurs non littérales

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 )
      )
    )
  )
)
Exemple de graphe RDF
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.

4.4 Adresses URI des valeurs

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.

4.5 Adresses URI des schémas de codage de vocabulaire

Un schéma de codage de vocabulaire (vocabulary encoding scheme) DCAM est représenté par un triplet RDF comprenant :

4.6 Chaînes de valeur, langues des chaînes de valeur et adresses URI des schémas de codage de syntaxe

Une chaîne de valeur DCAM est représentée par un triplet RDF comprenant :

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.

4.7 Substituts des valeurs littérales

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" )
      )
    )
  )
)
Valeurs littérales RDF
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 )
      )
    )
  )
)
Littéral RDF typé
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.

4.8 Ensembles de description

Un ensemble de description DCAM est représenté par un graphe RDF qui inclut une ou plusieurs descriptions DCAM comme décrit plus haut.

4.9 Description des valeurs

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.

5. Quelques remarques à propos de la sémantique

5.1 Sémantique RDF et modèle abstrait DCMI

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.

5.2 Classes des valeurs

La classe ou le type d'une valeur peuvent être inférés de plusieurs façons :

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.

Références

ABSTRACT-MODEL
Modèle abstrait DCMI
<http://dublincore.org/documents/abstract-model/>
DC-RDF-NOTES
Notes sur les spécifications du DCMI pour les métadonnées Dublin Core en RDF
<http://dublincore.org/documents/2008/01/14/dc-rdf-notes/>
DCMES-XML
Expression du Dublin Core simple en RDF/XML
<http://dublincore.org/documents/dcmes-xml/>
DCQ-RDF-XML
Expression du Dublin Core qualifié en RDF/XML
<http://dublincore.org/documents/dcq-rdf-xml/>
DCMI-TERMS
Termes de métadonnées DCMI
<http://dublincore.org/documents/dcmi-terms/>
DCMI-SCHEMAS
Les déclarations de terme DCMI représentés dans le langage RDF Schema
<http://dublincore.org/schemas/rdfs/>
DC-TEXT
DC-TEXT — Une syntaxe textuelle pour les métadonnées Dublin Core
<http://dublincore.org/documents/dc-text/>
RDF-CONCEPTS
Cadre de description de ressource (RDF) — Concepts et syntaxe abstraite
<http://www.w3.org/TR/rdf-concepts/>
RDF-SCHEMA
Langage de description de vocabulaire RDF 1.0 — RDF Schema
<http://www.w3.org/TR/rdf-schema/>
RDF-VALIDATOR
Service de validation RDF du W3C
<http://www.w3.org/RDF/Validator/>
RDF-SYNTAX-GRAMMAR
Spécification de la syntaxe RDF/XML (révisée)
<http://www.w3.org/TR/rdf-syntax-grammar/>
RDF-SEMANTICS
Sémantique RDF
<http://www.w3.org/TR/rdf-mt/>

Remerciements

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.

Annexe A — Exemples

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 http://example.org/123 a son sujet identifié par l'adresse URI http://example.org/taxonomy/D003.53 ».

@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 http://example.org/123 tient son sujet intitulé "Ornitology" du schéma de codage de vocabulaire http://example.org/taxonomy/MyVocab ».

@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 http://example.org/123 a son titre "Learning Biology" en anglais ».

@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 http://example.org/person123 a un âge de 43 ».

@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 http://example.org/123 tient son sujet du schéma de codage de vocabulaire http://example.org/taxonomy/MyVocab nommé "Biology" en anglais et "Biologi" en suédois, qui peut être représenté par la chaîne "EA32" conformément au schéma de codage de syntaxe http://example.org/taxonomy/SubjectEncoding, et qui est identifié par l'adresse URI http://example.org/subject32 ».

@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" )
) ValueString ( "Biologi" Language ( "sv" ) ) ValueString ( "EA32" SyntaxEncodingSchemeURI ( ex:SubjectEncoding ) ) ) ) )
<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 http://example.org/123 a son créateur identifié par http://example.org/person45, représenté par la chaîne "John Smith". La ressource http://example.org/person45 est une personne dont le numéro de téléphone est identifié par tel:+358-555-1234567 (cf. le document RFC 3966) ».

@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 http://example.org/taxonomy/D003.53 ».

@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 http://example.org/123 a un créateur représenté par la chaîne "John Smith". Le créateur est une personne dontle numéro de téléphone est identifié par tel:+358-555-1234567 (cf. le document RFC 3966) ».

@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.