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

用XML实现Dublin Core™的指南

创造者: 安迪•鲍威尔
UKOLN,巴斯大学
皮特·约翰斯顿
UKOLN,巴斯大学
发行日期: 2003-04-02
最新版本: //www.voudr.com/specifications/dublin-core/dc-xml-guidelines/
发布历史: //www.voudr.com/specifications/dublin-core/dc-xml-guidelines/release_history/
描述: 本文档为使用XML实现Dublin Core元数据应用程序的人员提供了指导方针。它同时考虑简单(不合格)直流和合格直流应用。在每种情况下,都会描述底层元数据模型(以语法中立的方式),然后是一些XML实现的特定指导方针。还提供了一些关于在DC元数据应用程序中使用非DC元数据的指导。

1.介绍

本文档为使用XML [XML]实现Dublin Core™[DCMI]元数据应用程序的人员提供了指南。它同时考虑简单(不合格)直流和合格直流应用。在每种情况下,都会描述底层元数据模型(以语法中立的方式),然后是一些XML实现的特定指导方针。还提供了一些关于使用非dc元数据的指导。

这个文档提供将Dublin Core™编码为RDF/XML [RDF]的指南。它也没有对用“纯”XML而不是RDF/XML编码元数据的相对优点采取立场。本文档为那些认为RDF/XML不合适的情况提供了指导方针。用RDF/XML编码Dublin Core™元数据的机制正在其他地方开发[DCARCH]。

2.术语

资源
一个资源是任何具有同一性的东西。熟悉的例子包括电子文档、图像、服务(例如,“洛杉矶今天的天气报告”)和其他集合资源.并不是所有的资源网络“复原”;例如,人、公司和图书馆里的装订书也可以考虑资源
财产
一个财产一个特定的方面、特征、属性或关系是用来描述事物的吗资源
记录
一个记录是否有关于a的结构化元数据资源,包括一个或多个属性及其相关

请注意,Dublin Core™元数据元素是属性(如上所述)。还要注意,术语“元素”和“属性”的XML用法与这些术语在更通用的元数据上下文中的用法之间可能存在混淆。

3.总体实施细则

建议1。实现者应该将他们的XML应用程序建立在XML schema [XMLSCHEMA]而不是XML dtd之上。基于XML schema的方法更灵活,更容易在其他XML应用程序中重用。在某些情况下,为应用程序同时提供XML Schema和DTD可能是明智的。在不使用XML schema的地方,应该提供DTD。DCMI维护使用DCMI元数据[DCXMLS]的项目或产品中使用的XML模式列表。

建议2。实现者应该使用XML名称空间[XMLNS]来唯一地标识DC元素、元素细化和编码方案。DC命名空间在DCMI命名空间建议[DCMINS]中定义。

注意,这是预期的记录将被编码在一个或多个容器XML元素中。本文档没有对任何容器元素的名称提出建议,也没有对元素应该取自的名称空间提出建议。候选容器元素名称包括< dc >< dublinCore ><资源><记录>< >元数据

4.简单的都柏林核心™

4.1抽象模型

  • 一个简单的直流记录是由一个或多个组成的属性及其相关
  • 每一个财产是属性资源被描述。
  • 每一个财产必须是15个DCMES [DCMES]元素之一。
  • 属性可能重复。
  • 每一个价值是一个字面值字符串。
  • 每个文字字符串价值可能有相关的语言(例如en-GB)。

注意,a和a之间没有正式的联系简单的直流记录资源被描述。的URI可以通过编码来实现这样的链接资源随着价值的DC Identifier元素,但这不是强制的。

注意,当价值财产可能是一个URI,在简单的DC模型中没有任何东西表明是这种情况。实现可能选择猜测,但风险自负是uri,哪些不是。

4.2实现指南

(实施者应遵循一般准则。)

推荐3。实现者应该编码属性作为XML元素作为这些元素的内容。XML元素的名称应该是一个XML限定名称(QName),它将元素名称与适当的DCMI命名空间名称关联起来。例如,使用

Dublin Core™in XML

而不是

推荐4。的财产15个DC元素的名称都应该是小写的。例如,使用

Dublin Core™in XML

而不是

Dublin Core™in XML

建议5。多个属性值应该通过重复XML元素进行编码吗财产例如:

第一个标题 第二标题

4.3举例:一条简单的DC记录

<?xml version = " 1.0 " ?> <元数据xmlns = " http://example.org/myapp/ " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation = " http://example.org/myapp/ http://example.org/myapp/schema.xsd " xmlns: dc = " http://purl.org/dc/elements/1.1/ " > < dc: title > UKOLN < / dc:名称> < dc: description > UKOLN是国家集中在数字信息管理的专业知识。它为英国图书馆、信息和文化遗产社区提供政策、研究和意识服务。UKOLN总部设在巴斯大学。  UKOLN, University of Bath   http://www.ukoln.ac.uk/  

请注意,http://example.org/myapp/schema.xsdXML模式不存在——这是一个虚构的例子。

5.合格的都柏林核心™

5.1抽象模型

  • 一个合格的直流记录是由一个或多个组成的属性及其相关
  • 每一个财产是属性资源被描述。
  • 每一个财产必须:
    • 15种直流元件之一
    • DCMI推荐的其他元素之一(例如,观众)[DCTERMS],
    • 其中的一个元素细化在DCMI元数据术语推荐[DCTERMS]中列出。
  • 属性可能重复。
  • 每一个价值是一个字面值字符串。
  • 每一个价值可能有相关的编码方案
  • 每一个编码方案有一个的名字
  • 每个文字字符串价值可能有相关的语言(例如en-GB)。

注意,对于DCMI当前推荐的编码方案,名称在DCMI元数据术语推荐DCTERMS中指定(列为“术语名称”,而不是“标签”)。预计DCMI今后将为计划的商定名称制定其他登记机制。

5.2实现指南

(实现者应遵循一般指南和简单的Dublin Core™指南。)

推荐6。元素细化应该和其他的一样对待吗属性XML元素的名称应该是一个XML限定名称(QName),它将元素细化名称与适当的DCMI命名空间名称关联起来。例如:

<使用dc:可用> 2002 - 06年> < /使用dc:可用

元素细化本身就是元素,因此最好以类似于其他DC元素的方式进行编码。特别要注意的是,元素细化可能有自己的进一步细化(例如:细化。'format'由'extent'修饰,'extent'可能还会由'duration'进一步修饰)。

请参阅下面的注释1。

建议7。编码方案应该使用XML元素的'xsi:type'属性来实现财产编码模式的名称应该作为属性值给出,并且应该以XML限定名(QName)的形式给出,该限定名将模式名称与适当的名称空间名称相关联。例如:

< dc:标识符xsi: type = "使用dc: URI”> http://www.ukoln.ac.uk/ < / dc:标识符>

请参阅下面的注释2。

推荐8。元素细化编码方案应使用DCMI元数据术语推荐DCTERMS中指定的名称(列为“术语名称”,而不是“标签”)。作为一般规则,元素和元素细化名称可以混合大小写,但首字母必须总是小写;编码方案名称可以混合大小写,但必须始终以大写字母开头;编码方案名称通常都是大写的。例如:

 http://www.bbc.co.uk/   name= "大萧条";开始= 1929;结束= 1939;< /使用dc:时间>

推荐9。哪里的语言价值,则应该使用'xml:lang'属性进行编码。例如:

seafood fruits de mer .

5.3举例—符合条件的DC记录

<?xml version = " 1.0 " ?> <元数据xmlns = " http://example.org/myapp/ " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation = " http://example.org/myapp/ http://example.org/myapp/schema.xsd " xmlns: dc = " http://purl.org/dc/elements/1.1/ " xmlns:使用dc = " http://purl.org/dc/terms/ " > < dc: title > UKOLN < / dc:名称> <使用dc:另类>英国图书馆和办公室国家中心,网络信息支持,图书馆社区,意识,研究,信息服务,公共图书馆网络,书目管理,分布式图书馆系统,元数据,资源发现,会议,讲座,  062   061(410)   UKOLN是一个全国性的数字信息管理专家。它为英国图书馆、信息和文化遗产社区提供政策、研究和意识服务。UKOLN总部设在巴斯大学。< / dc: description > < dc:描述xml: lang =“fr”> UKOLN est联合国中心国家d 'expertise在治理的的信息的。< / dc: description > < dc:出版商> UKOLN,英国巴斯大学< / dc:出版商> <使用dc: isPartOf xsi: type = "使用dc: URI " > http://www.bath.ac.uk/ < /使用dc: isPartOf > < dc:标识符xsi: type = "使用dc: URI " > http://www.ukoln.ac.uk/ < / dc:标识符> <使用dc:修改xsi: type = "使用dc: W3CDTF " > 2001-07-18 < /使用dc:修改> < dc:格式xsi: type = "使用dc: IMT > text / html < / dc:格式> <使用dc:程度> 14 Kbytes  

6.将DC元数据与其他元数据模式混合使用

许多元数据应用程序将Dublin Core™元数据与属性取自其他元数据模式。这样做有几个原因,包括需要基于dc的元数据应用程序合并DCMES中不可用的语义,以及希望在其他元数据应用程序中合并DCMES元素。

在可能的情况下,XML中所有DC元数据的使用都应该遵循上面的指导原则。

非DC属性可以与DC元素一起编码为XML元素。这里有两个简单的例子:

6.1示例—混合数据中心和IMS元数据

这个例子添加了一个IMS (IEEE LOM) [IMS] TypicalLearningTime属性到一个简单的DC记录:

<?xml version = " 1.0 " ?> <记录xmlns = " http://example.org/learningapp/ " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation = " http://example.org/learningapp/ http://example.org/learningapp/schema.xsd " xmlns: dc = " http://purl.org/dc/elements/1.1/ " xmlns: ims = " http://www.imsglobal.org/xsd/imsmd_v1p2 " > < dc: title >青蛙数学< / dc:名称> < dc:标识符>http://somewhere.com/frogmaths/  针对5-7岁儿童的简单数学游戏。   0000-00-00T00:15   

注意,元素名称的DC大小写约定可能不适用于其他元数据模式。

6.2示例—混合DC和ODRL元数据

这个示例向上面的示例添加了一个机器可读的Open Digital Rights Language [ODRL]语句和一个DC Rights元素:

<?xml version = " 1.0 " ?> <记录xmlns = " http://example.org/learningapp/ " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation = " http://example.org/learningapp/ http://example.org/learningapp/schema.xsd " xmlns: dc = " http://purl.org/dc/elements/1.1/ " xmlns:使用dc = " http://purl.org/dc/terms/ " xmlns: oex = " http://odrl.net/1.0/ODRL-EX "xmlns:odd="http://odrl.net/1.0/ODRL-DD" xmlns:ims="http://www.imsglobal.org/xsd/imsmd_v1p2">  Frog maths   http://somewhere.com/frogmaths/  针对5-7岁儿童的简单数学游戏。   0000-00-00T00:15   对任何人都有显示、复制、修改和注释该软件的权限。     http://somewhere.com/frogmaths/          

注意,ODRL使用的结构约定(即XML元素的嵌套)在本文档中提出的DC XML编码中没有使用。对于其他元数据应用程序(如IMS)来说也是如此。

笔记

[注1]建议6假设它是要求Qualified Dublin Core™元数据记录包含关于细化和它们细化的元素之间关系的显式信息。这种关系在其他地方都有很好的文档记录,并且可以在模式定义中以机器可理解的方式表达。

然而,有些实现者更喜欢在元数据记录中表示这种关系。

一些人建议使用“refines”属性。例如:

<使用dc:选择改进= " dc:标题“> foo替代> < /使用dc:

其他人建议使用元素包含,XML元素表示嵌套在XML元素内的细化,这些XML元素表示它们细化的元素。例如

< dc:名称> <使用dc:替代> foo < /使用dc:替代> < / dc:名称>

既不这些方法是由这些指南推荐的。然而,对于使用XML形式的DCQ的软件应用程序来说,接受这两种替代表示中的任何一种都是明智的,假设它被正确且一致地应用了。

[注2]建议7指定使用“xsi:type”在Qualified Dublin Core™中实现编码方案。这允许实现者利用W3C XML Schema规范[XMLSCHEMA]提供的数据类型功能。

一些实现者建议使用独立于特定模式定义语言的约定。其中一种约定是将XML元素的“scheme”属性用于属性。例如:

< dc:标识符方案= "使用dc: URI”> http://www.ukoln.ac.uk/ < / dc:标识符>

这种方法是由本指南推荐。然而,对于使用XML形式的DCQ的软件应用程序来说,接受这种替代表示可能是明智的,假设它被正确且一致地应用。

参考文献

(DCMI)
Dublin Core™元数据计划
//www.voudr.com/

(XML)
可扩展标记语言(XML)
http://www.w3.org/XML/

(dcm)
Dublin Core™元数据元素集,版本1.1:参考描述
//www.voudr.com/specifications/dublin-core/dces/

(使用dc)
DCMI元数据术语
//www.voudr.com/specifications/dublin-core/dcmi-terms/

(RDF)
资源描述框架(RDF)
http://www.w3.org/RDF/

(DCARCH)
DCMI体系结构工作组
//www.voudr.com/groups/architecture/

(XMLSCHEMA)
XML模式
http://www.w3.org/XML/Schema

(DCXMLS)
用XML模式语言表示的DCMI元数据
//www.voudr.com/schemas/xmls/

(XMLNS)XML名称空间
http://www.w3.org/TR/1999/REC-xml-names-19990114/

(DCMINS)
Dublin Core™元数据计划(DCMI)的命名空间策略
//www.voudr.com/specifications/dublin-core/dcmi-namespace/

(IMS)
IMS学习资源元数据信息模型-版本1.2最终规范
http://www.imsglobal.org/metadata/imsmdv1p2/imsmd_infov1p2.html

(ODRL)
开放数字权利语言倡议
http://odrl.net/