元数据设计、实施和最佳实践方面的创新

使用资源描述框架(RDF)表达Dublin Core™元数据

创造者: 米凯尔尼尔森
KMR集团,NADA,KTH(皇家理工学院),瑞典
安迪·包威尔
英国爱德华夫基金会
皮特·约翰斯顿
英国爱德华夫基金会
Ambjörnnaeve.
KMR集团,NADA,KTH(皇家理工学院),瑞典
发布日期: 2008-01-14
标识符: //www.voudr.com/specifications/dublin-core/dc-rdf/2008-01-14/
取代: //www.voudr.com/specifications/dublin-core/dc-rdf/2007-06-04/
取代: //www.voudr.com/specifications/dublin-core/dcmes-xml/2002-07-31/
取代: //www.voudr.com/specifications/dublin-core/dcq-rdf-xml/2002-05-15/
最新版本: //www.voudr.com/specifications/dublin-core/dc-rdf/
文件的状态: 这是一个dcmi建议
描述文档: 本文件提供了表达都柏林核心的建议™ 元数据使用资源描述框架RDF。

表的内容

  1. 介绍
  2. RDF概念模型概述
  3. 名称的缩写
  4. 使用RDF模型表示DCAM构造
  5. 语义上的一些注意事项

参考文献>确认>附录A:示例


1.介绍

本文档提供了使用RDF(资源描述框架)表示DC元数据的建议。它通过描述如何使用RDF模型(或抽象语法)表示DCMI抽象模型[Abstract-Model]的功能来实现这一点,如RDF概念和抽象语法规范[RDF-Concepts]所定义。虽然附录A中提供了使用RDF/XML语法规范[RDF-syntax-GRAMMAR]的示例,但它不依赖于任何特定的RDF语法编码。这允许Dublin Core™ 在任何RDF编码语法或其他RDF表示系统(如RDF数据库)中使用此规范编码的元数据。

本建议取代以下DCMI文件:

  • 表达合格的都柏林核心™ 在RDF/XML[DCQ-RDF-XML]中,DCMI于2002年5月提出了一项建议。该建议使以下DCMI文件过时(但不与之相矛盾):

  • 用RDF/XML表达简单的Dublin Core™[DCMES-XML],2002年7月的DCMI推荐。

文档“关于RDF中的DCMI规范的DCMI规范[DC-RDF-NOTE]的DCMI规范说明了该草案如何涉及早期规范的详细信息。

本文档中的许多示例都使用了DCMI元数据术语[DCMI-terms]。有关DCMI术语[DCMI-Schemas],请参见DCMI RDF模式。

2.RDF概念模型概述

RDF概念模型在RDF概念和抽象语法规范[RDF- Concepts]中指定。它是一个相对简单的模型,由以下基本要素组成:

  • RDF图是一组RDF三元组

  • RDF三元组有三个组件:

    • RDF主题,它是RDF URI引用或空白RDF节点

    • RDF谓词,它是RDF URI引用

    • 一个RDF对象,它是RDF URI参考,空白RDF节点或RDF文字

  • RDF文字可以分为两种:

    • RDF Plain Literal是一个字符串,具有可选的相关语言标记,描述字符串的语言

    • RDF类型化文字是具有关联RDF数据类型URI的字符串。RDF数据类型定义了一组字符串的语法和语义,这些字符串表示布尔值、整数、日期等数据。这些RDF三元组被连接到RDF图中,因此一个RDF三元组的非文字RDF对象可能是另一个三元组的RDF主题。

我们将使用图表来说明RDF图(关于名称空间的缩写,请参阅第3节)。一个简单的三元组如下图所示:

RDF三重例子"src=
RDF三元组的结构。在该图中,RDF对象是RDF类型化的文字

而由三个三元组组成的图可能如下所示:

RDF图"src=
一个由三个三元组成的RDF图,通过空白RDF节点连接。

有关RDF的更多信息,请参见RDF概念和抽象语法规范[RDF- Concepts]、RDF词汇描述语言[RDF- schema]和http://www.w3.org/rdf/

3.名称的缩写

本文档中将使用以下名称空间缩写:

名称空间缩写 完整的名称空间URI
直流 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#
前任 http://www.example.org/ns#(名称空间示例)

有关DCMI术语[DCMI- Schemas],请参见DCMI RDF Schemas。

4.使用RDF模型表示DCAM构造

本节介绍DCAM中的每个构造在RDF中。这里使用的RDF概念在RDF概念和抽象语法[RDF-概念]和RDF词汇描述语言[RDF-Schema]中定义。

4.1描述和资源

DCAM描述和资源以以下方式表示:

  • 一个dcam.描述使用源自单个RDF对象的RDF图表示。
  • 描述资源的DCAM由此RDF图根处的RDF主题表示。
  • 如果是DCAM描述资源URI在说明中可用,它应该用作RDF图的根目录下RDF对象的RDF URI引用。否则,RDF主题应该是空白RDF节点。语法可以选择使用匿名标识符(例如RDF:NodeID构造)来实现此目的。

4.2语句、属性和值

一个dcam.陈述使用RDF三元组表示:

  • 表示DCAM资源的RDF主题
  • 作为DCAM的RDF谓词属性URI
  • 与DCAM值代理相对应的RDF对象。该RDF节点将在下文中称为RDF节点值

4.3非文字值代理

当DCAM值代理是非文字值代理时,值RDF节点是RDF URI引用或空白RDF节点,具有下面给出的特征。

下图说明了非文字值代理的RDF表示的主要功能。

DC-TEXT表示 RDF图形
@prefix dcterms: 
@前缀ex:

DescriptionSet (
描述(
资源URI( )
语句(
楼毛(DCTERMS:主题)

VocabularyEncodingSchemeURI(例如:examplessubjects)
ValueString(“生物学”
语言(“en”)

估值(“EA32”
SyntaxencodingsChemeuri(例如:受体码)



示例RDF图形"src=
在非文字值代理的情况下,DCAM构造的表示。
符号“@en”表示RDF语言标记,而“^^ ex:wearmentoding”表示RDF数据类型。

4.4价值URI

一个dcam.URI值使用RDF URI引用表示RDF节点值.如果没有给出URI值,则RDF节点值为空节点。

4.5词汇编码方案uri

一个dcam.词汇编码方案使用RDF三元组表示:

  • RDF主题是RDF节点值

  • 作为RDF URI引用的RDF谓词dcam: memberOf

  • 具有相应RDF URI的RDF对象是DCAM词汇编码方案URI

4.6值字符串、值字符串语言和语法编码方案URI

一个dcam.值字符串使用RDF三元组表示:

  • RDF主题是RDF节点值

  • RDF谓词,它是RDF URI引用' 'rdf:价值

  • 一个RDF对象,它是RDF文字节点' ' (RDF纯文字或RDF类型化文字),包含DCAM值字符串。

DCAM _value字符串language_使用与作为这个RDF三元组的RDF对象出现的RDF普通文字相关联的语言标记表示。语言标记按照RFC-3066定义的方式构造,并规范化为小写。

一个dcam.语法编码方案URI使用与此RDF三联的RDF对象发生的RDF键入的文字相关联的RDF数据类型URI表示。

4.7字面值代理

当DCAM值代理是文字值代理时,值RDF节点是RDF文字节点,具有与上面DCAM值字符串完全相同的特征。

下图说明了文本值代理的RDF表示的主要功能。

DC-TEXT表示 RDF图形
@prefix dcterms: 

DescriptionSet (
描述(
资源URI( )
语句(
PropertyURI (dcterms:title)
“学习生物学”
语言(“en”)



RDF字面价值"src=
DCAM构造在具有语言标记的文字值代理的情况下的表示。
符号“@en”表示RDF语言标记。

下图说明了使用RDF键入的文字的第二种情况:

DC-TEXT表示 RDF图形
@ prefix xsd: <http://www.w3.org/2001/XMLSchema> .
@prefix ex:

DescriptionSet (
描述(
资源uri ()
语句(
PropertyURI(例如:年龄)
LiteralValueString(“43”
syntaxencodingschemeuri(xsd:int)



类型化RDF文本"src=
对于具有语法编码方案URI的文本值代理,DCAM构造的表示形式。
的符号
“^^ xsd:int”表示RDF数据类型。

4.8描述集

一个dcam.描述组表示为RDF图,其中包括如上所述的一个或多个DCAM描述。

4.9描述值

DCAM值可以在同一DCAM描述集中的单独DCAM描述中进一步描述。这通过让值RDF节点成为表示该值的DCAM描述中任何DCAM语句的RDF图的根来用RDF表示。因此,值RDF节点将成为表示该值的一组三元组的RDF主题CAM值的描述。

5.语义上的一些注意事项

5.1 RDF语义和DCMI抽象模型

DCMI抽象模型的RDF表达在DCMI编码规范中具有特殊的地位。由于概念DCMI抽象模型的语义基于RDF中相应概念的语义(由[RDF- semantics]定义),RDF表达保留DCAM的任何语义是非常重要的。此外,使用RDF语义可以做出的任何有效推断在根据DCMI抽象模型进行解释时都必须是有效的。这些要求尚未正式确定,但被认为是合理的和相对直接的。在其他方面,形成它们需要定义一个从RDF到DCMI抽象模型的反向映射。

5.2值类

可以通过以下几种方式推断值的类或类型:

  • 使用相应属性的范围。例如,如果属性的范围例:老板例:人,可以推断例:老板属性是类型的例:人

  • 使用显式rdf:类型关于价值的陈述。例如,如果资源具有rdf:类型与价值例:人,则该值可推断为该类型例:人

  • 使用来自应用程序上下文的知识。例如,应用程序可能知道它只管理某种类型的资源前:书,尽管这不是元数据本身的一部分。

建议RDF应用程序使用显式rdf:类型三元组,即使这意味着创建值的单独DCAM描述。

房地产dcterms:类型有非常相似的语义rdf:类型.在撰写本文时,这些财产之间的确切关系尚未确定。
建议实现此规范的RDF应用程序主要使用和理解rdf:类型在的地方dcterms:类型当用RDF表示Dublin Core™元数据时,因为大多数RDF处理器都具有关于rdf:类型

参考

抽象模型
DCMI抽象模型
<//www.voudr.com/specifications/dublin-core/abstract-model/>
DC-RDF-Notes
关于RDF格式的Dublin Core™元数据的DCMI规范说明
<//www.voudr.com/specifications/dublin-core/dc-rdf-notes/2008-01-14//2008-01-14/>
DCMES-XML
在RDF / XML中表达简单的Dublin Core™
<//www.voudr.com/specifications/dublin-core/dcmes-xml/>
DCQ-RDF-XML
用RDF / XML表示Qualified Dublin Core™
<//www.voudr.com/specifications/dublin-core/dcq-rdf-xml/>
dcmi术语
DCMI元数据项
<//www.voudr.com/specifications/dublin-core/dcmi-terms/>
DCMI模式
用RDF模式语言表示的DCMI术语声明
<//www.voudr.com/schemas/rdfs/>
dc-text.
DC-Text:Dublin Core™元数据的文本语法
<//www.voudr.com/specifications/dublin-core/dc-text/>
RDF概念
资源描述框架(RDF):概念和抽象语法
<http://www.w3.org/TR/rdf-concepts/>
rdf schema
RDF词汇描述语言1.0:RDF模式
<http://www.w3.org/TR/rdf-schema/>
RDF-VALIDATOR
W3C RDF验证服务
<http://www.w3.org/RDF/Validator/>
RDF语法
RDF/XML语法规范(修订版)
<http://www.w3.org/tr/rdf-syntax-grammar/>
RDF-SEMANTICS
RDF语义
<http://www.w3.org/TR/rdf-mt/>

确认

感谢DC使用委员会成员Tom Baker和DC架构工作组成员对本文档以前版本的评论。

附录A:示例

以下示例使用DC-TEXT语法[DC-TEXT]来描述Dublin Core™元数据示例。然后使用RDF/XML语法[RDF- syntax - grammar]给出相应的RDF图。假设您熟悉“条纹的”RDF/XML语法。可以使用W3C RDF Validator [RDF- Validator]服务将这些RDF/XML示例转换为三元组和图表。

描述 DC-TEXT表示 RDF / XML表示
带有单个语句的描述,该语句使用值URI来标识值。

“资源http://example.org/123有URI识别的主题http://example.org/taxonomy/D003.53."
@prefix dcterms: 

DescriptionSet (
描述(
资源URI( )
语句(
楼毛(DCTERMS:主题)
ValueURI( )


< rdf: rdf xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:使用dc = " http://purl.org/dc/terms/ " >


<使用dc:主题rdf: resource = " http://example.org/taxonomy/D003.53 " / >


< / rdf: rdf >
使用单个语句的描述,该语句使用单个值字符串和词汇表编码方案来描述值。

“资源http://example.org/123“鸟类学”这门课是否来自词汇编码方案http://example.org/taxonomy/MyVocab
@prefix dcterms: 
@前缀ex: .

DescriptionSet (
描述(
资源URI( )
语句(
楼毛(DCTERMS:主题)
VocabularyEncodingSchemeURI(例如:MyVocab)
ValueString ("Ornitology")


< rdf: rdf xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:使用dc = " http://purl.org/dc/terms/ "
XMLNS:EX =“http://example.org/taxonomy/”
xmlns:dcam=”http://purl.org/dc/dcam/">





鸟类学




< / rdf: rdf >
带有单个语句的描述,该语句使用带有语言标记的文字值。

“资源http://example.org/123以英语命名为“学习生物学”
@prefix dcterms: 

DescriptionSet (
描述(
资源URI( )
语句(
PropertyURI (dcterms:title)
“学习生物学”
语言(“en”)



< rdf: rdf xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:使用dc = " http://purl.org/dc/terms/ " >


学习生物学


< / rdf: rdf >
使用单个语句的描述,它使用具有语法编码方案的文字值。

“资源http://example.org/person123有43岁"
@prefix dcterms: 
@prefix ex:
@前缀xsd:> .

DescriptionSet (
描述(
资源uri ()
语句(
PropertyURI(例如:年龄)
LiteralValueString(“43”
syntaxencodingschemeuri(xsd:int)



< rdf: rdf xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:使用dc = " http://purl.org/dc/terms/ "
xmlns:前任= " http://example.org/ns " >

< rdf:描述rdf: about = " http://example.org/person123 " >
http://www.w3.org/2001/XMLSchema#int">
43 > < / ex:年龄


< / rdf: rdf >
使用单个语句的描述,该语句使用两个值字符串,一个带有语言标记,另一个使用语法编码方案、用于值的词汇表编码方案和标识值的值URI。

“资源http://example.org/123有词汇编码方案的主题吗http://example.org/taxonomy/MyVocab根据语法编码方案,可以用字符串“EA32”表示http://example.org/taxonomy/SubjectEncoding,由URI标识http://example.org/subject32
@prefix dcterms: 
@前缀ex: .

DescriptionSet (
描述(
资源URI( )
语句(
楼毛(DCTERMS:主题)

VocabularyEncodingSchemeURI(例如:examplessubjects)
ValueString(“生物学”
语言(“en”)

ValueString(“Biologi”
语言(“sv”)

估值(“EA32”
SyntaxEncodingSchemeURI(例如:SubjectEncoding)



< rdf: rdf xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:使用dc = " http://purl.org/dc/terms/ "
XMLNS:EX =“http://example.org/taxonomy/”
xmlns:dcam=”http://purl.org/dc/dcam/">




< dcam: memberOf
RDF:Resource =“http://example.org/taxonomy/examplesubjects”/>
< rdf:价值xml: lang =“en”>生物学价值> < / rdf:
< rdf:价值xml: lang = >“sv Biologi > < / rdf:价值
rdf:数据类型= "http://example.org/taxonomy/SubjectEncoding " >
EA32 > < / rdf:价值




< / rdf: rdf >
带有单个语句的描述,该语句使用单个值字符串和值URI,以及值的描述。值的描述有两条语句,每条语句只有一个值URI。

“资源http://example.org/123创建者是否已通过http://example.org/person45,由字符串“John Smith”表示。资源http://example.org/person45是一个电话号码由电话:+ 358-555-1234567(RFC 3966)。”
@prefix dcterms: 
@ prefix foaf: <http://xmlns.com/foaf/0.1/> .

DescriptionSet (
描述(
资源URI( )
语句(
PropertyURI (dcterms:creator)

ValueString ("John Smith")



描述(
资源URI( )
语句(
职物业(FOAF:电话)
<电话:+358-555-1234567>

语句(
PropertyURI (dcterms:type)
ValueURI(foaf:个人)


< rdf: rdf xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:使用dc = " http://purl.org/dc/terms/ "
xmlns: foaf = "http://xmlns.com/foaf/0.1/">




John Smith

> < / foaf:人
< /使用dc:创造者>


< / rdf: rdf >
具有单个语句的描述,它使用值URI但未描述资源URI。

“所描述的资源具有由URI识别的主题http://example.org/taxonomy/D003.53."
@prefix dcterms: 

DescriptionSet (
描述(
语句(
楼毛(DCTERMS:主题)
ValueURI( )


< rdf: rdf xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:使用dc = " http://purl.org/dc/terms/ " >


<使用dc:主题rdf: resource = " http://example.org/taxonomy/D003.53 " / >


< / rdf: rdf >
带有单个语句的描述,该语句使用值字符串,但不使用值URI。值的描述没有描述的资源URI,但是有两条语句,这两条语句都使用值URI。

“资源http://example.org/123有一个由字符串“John Smith”表示的创建者。造物主是一个电话号码由电话:+ 358-555-1234567(RFC 3966)。”
@prefix dcterms: 
@ prefix foaf: <http://xmlns.com/foaf/0.1/> .

DescriptionSet (
描述(
语句(
PropertyURI (dcterms:creator)
ValueId(“约翰”)
ValueString ("John Smith")



描述(
ResourceId(“john”)
语句(
职物业(FOAF:电话)
<电话:+358-555-1234567>

语句(
PropertyURI (dcterms:type)
ValueURI(foaf:个人)


< rdf: rdf xmlns: rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:使用dc = " http://purl.org/dc/terms/ "
xmlns: foaf = "http://xmlns.com/foaf/0.1/



< foaf:人>
John Smith

> < / foaf:人
< /使用dc:创造者>


< / rdf: rdf >
勘误表1 - 2010-06-21。在附录A,第五个例子中,在DC-TEXT例子中的@prefix ex: declaration后面添加了缺少的点。在第六个示例中,向rdf: rdf元素添加了右括号。