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

描述集配置文件:都柏林核心™应用程序配置文件的约束语言

创造者: 米凯尔尼尔森
KMR集团,NADA, KTH(皇家理工学院),瑞典
发行日期: 2008-03-31
标识符: //www.voudr.com/specifications/dublin-core/dc-dsp/2008-03-31/
替换: 不适用
最新版本: //www.voudr.com/specifications/dublin-core/dc-dsp/
文件状态: 这是DCMI工作草案
文件描述: 本规范描述了“描述集概要文件”(DSP)的信息模型和XML表达式。DSP描述描述集上的结构约束,允许对Dublin Core™应用配置文件的约束进行正式表达。

目录表

  1. 介绍
  2. 基本结构
  3. 基本的语义
  4. 用法示例
  5. 描述模板
  6. 声明模板
  7. XML结构
  8. RDF变体
  9. 例子

1.介绍

DCMI描述集概要文件规范描述了“描述集概要文件”(DSP)的信息模型和XML表达式。这个词描述组和本规范中使用的相关概念的定义见DCMI抽象模型[DCAM].

DSP是在描述集上描述结构约束的一种方法。它限制了可能由描述集中的描述描述的资源、可能使用的属性以及可能给出值代理的方式。

DSP可以用于许多不同的目的,例如:

  • 作为都柏林核心™应用程序配置文件的约束的正式表示
  • 作为数据库的配置
  • 作为元数据编辑工具的配置

DSP可以解决以下问题:

  • 人类可读的文档。
  • 词汇的定义。
  • 版本控制。

DSP只包含正式的语法约束,并且需要与人类可读的信息、使用指南、版本管理等相结合,才能用作应用程序配置文件。然而,DSP信息模型的设计旨在促进DSP信息和上述类型的外部信息的合并,例如通过为Dublin Core™应用程序配置文件生成人类可读文档的工具。

Dublin Core™应用程序概要文件是一个文档或一组文档,它将描述集概要文件置于更广泛的上下文中,包括功能需求、领域模型、语法和用法指南,以及可能的数据格式。看到都柏林核心™应用配置文件的新加坡框架从更广泛的角度来看。

2.基本结构

DSP通过使用“模板”和“约束”的概念来描述描述集的结构。模板描述了符合标准的记录中可能的元数据结构。

在Description Set Profile中有两个级别的模板:

  • 描述模板,其中包含应用于单一类型描述的语句模板以及对所描述资源的约束。

  • 声明模板,其中包含适用于单一类型语句的属性、值字符串、词汇表编码方案等的所有约束。

模板用于表达结构,而约束用于限制这些结构。下图描述了该结构的基本元素。

3.基本的语义

DSP的基本使用模型是检查元数据记录是否存在匹配DSP。

描述集的匹配定义如下:

描述绑定到描述模板
方法将每个描述绑定到描述模板资源约束每个描述模板对应于所描述的资源。每个描述必须绑定到一个描述模板。
语句绑定到语句模板
对于每个描述,每个语句通过求值来绑定到相应描述模板中的语句模板产权约束.每个语句必须精确地绑定到一个语句模板。
评估约束
既然描述集中的所有元数据都已绑定到模板,那么就可以验证所有约束了。
< / dl >

4.用法示例

4.1.例1:约束资源

下面的DSP与单个资源匹配描述。的实例foaf:人

<?>   http://xmlns.com/foaf/0.1/Person   . xml version="1.0"

目前,这个DSP不允许对资源的描述包含任何语句,因此它不是很有用。

4.2.例2:约束属性

下面的DSP在前面的示例中添加了一个强制的foaf:name属性,该属性带有一个文字值。

<?>   http://xmlns.com/foaf/0.1/Person  http://xmlns.com/foaf/0.1/name    . xml版本="1.0"

4.3.例3:约束值

下面的DSP将值限制为没有语言的文字。

<?xml version="1.0" ?>   http://xmlns.com/foaf/0.1/Person  http://xmlns.com/foaf/0.1/name  disallowed    . html< / DescriptionSetTemplate >

4.4.例4:两个资源

下面的DSP允许两种资源:单个“文档”和多个“作者”。类的值可能只出现Person资源使用dc:创造者财产,不是独立的。该值只能在单独的带有强制值的描述中描述foaf: name财产。

<?>   http://purl.org/dc/terms/Text  http://purl.org/dc/terms/creator  disallowed . xml版本="1.0"disallowed      http://xmlns.com/foaf/0.1/Person  http://xmlns.com/foaf/0.1/name  disallowed   

5.描述模板

描述模板包含以下属性。

XML元素名称
DescriptionTemplate
< / dl >

5.1.标识符

< < dt >总结/ dt >
可在值约束中使用的字符串,用于引用应用于值资源的描述模板。
允许的值
一个有效的XML ID字符串。
默认的
N/A
XML属性名称

ID

< / dl >

5.2.独立的

< < dt >总结/ dt >
是否允许匹配此模板的描述独立出现,即不作为属性的值。
允许的值
“yes”/“no”/“both”
默认的

“两个”

条件
如果standalone为“yes”,则匹配的描述可能不是DSP中其他地方发生的值的描述。
如果standalone为“no”,则匹配的描述*必须*是DSP中其他地方发生的值的描述。
如果standalone为“both”,则两者都允许。
如果在值约束中引用了此描述模板,则standalone不能为“yes”。
XML属性名称
独立的
< / dl >

5.3.最小出现约束

< < dt >总结/ dt >
这种描述必须在描述集中出现的最小次数。
允许的值
非负整数
默认的
0
条件
必须等于或小于最大出现次数
XML属性名称
minOccurs
< / dl >

5.4.最大出现约束

< < dt >总结/ dt >
这种描述在描述集中允许出现的最大次数。
允许的值
非负整数或“无穷大”
默认< dt > < / dt >
“无穷”
条件
必须大于或等于最小出现次数
XML属性名称
maxOccurs
< / dl >

5.5.资源类成员约束

< < dt >总结/ dt >
资源可能是其实例的类
允许的值
类uri列表
默认的

没有约束

条件
如果给定,则资源必须是给定类之一的实例。
XML元素名称
ResourceClass
< / dl >

6.声明模板

语句模板具有以下可能的约束。

XML元素名称
StatementTemplate
< / dl >

6.1.最小出现约束

< < dt >总结/ dt >
此类语句必须在封闭的描述中出现的最少次数。
允许的值
非负整数
默认的

0

条件
必须等于或小于最大出现次数
XML属性名称
minOccurs
< / dl >

6.2.最大出现约束

< < dt >总结/ dt >

此类语句允许在封闭的Description中出现的最大次数。

允许的值
非负整数或“无穷大”
默认的
“无穷”
条件
必须大于或等于最小出现次数
XML属性名称
maxOccurs
< / dl >

6.3.类型约束

< < dt >总结/ dt >
此语句中允许的值代理的类型(文字/非文字)。
允许的值
"literal" / "nonliteral"
默认的
都允许
条件
如果未给出值,则不能对值代理进行进一步约束。
XML属性名称
类型
< / dl >

注意:类型约束应该遵循为所使用的属性给定的任何范围。

6.4.产权约束

在语句中有两种约束属性的方法:

  • 通过给出允许的属性的显式列表

  • 通过要求属性是给定属性的子属性。

在单个语句模板中必须使用上述方法中的一个。

6.4.1.属性列表约束

< < dt >总结/ dt >
此语句模板中允许的一组属性。
允许值
属性uri列表
默认的
N/A
条件
不能与子属性约束一起发生
XML元素名称
财产
< / dl >

6.4.2.Sub-property约束

< < dt >总结/ dt >
在这个语句模板中只允许给定属性的子属性。注意,给定的属性包含在这个列表中(所有属性都是它们自己的子属性)。
允许的值

属性URI

默认的
N/A
条件
不能与属性列表约束一起发生
XML元素名称
SubPropertyOf
< / dl >

6.5.文字值约束

约束语句中的文字值代理。只有在类型约束值为"literal"的情况下才允许。

XML元素名称
LiteralConstraint

6.5.1.文字列表约束

< < dt >总结/ dt >
允许作为值的字面值。
允许的值
字面量列表,即(字符串,语言标记)或(字符串,语法编码方案URI)对。
默认< dt > < / dt >
没有约束
条件
如果给出,则不能给出其他文字约束
XML元素名称
LiteralOption
< / dl >

6.5.2.文字语言约束

< < dt >总结/ dt >
是否允许语言的字面意思
允许的值
"mandatory" / "optional" / "disallowed"
默认的

“可选的”

条件
如果"mandatory",则自动禁用语法编码方案。
XML元素名称
LanguageOccurrence
< / dl >

6.5.3.文字语言列表约束

< < dt >总结/ dt >

语言允许字面意思

允许的值
由语言标签组成的列表
默认的
没有约束
XML元素名称
语言
< / dl >

6.5.4.语法编码方案约束

< < dt >总结/ dt >
是否允许字面量使用语法编码方案
允许的值
"mandatory" / "optional" / "disallowed"
默认的
“可选的”
条件
如果为“mandatory”,语言标签将自动被禁用。
XML元素名称
SyntaxEncodingSchemeOccurrence
< / dl >

6.5.5.语法编码方案列表约束

< < dt >总结/ dt >
允许的字面量的语法编码方案
允许的值
由语法编码模式uri组成的列表
默认< dt > < / dt >
没有约束
XML元素名称
SyntaxEncodingScheme
< / dl >

6.6.非文字值约束

约束语句中的值代理。仅在类型约束值为“nonliteral”的情况下允许。

XML元素名称
NonLiteralConstraint

6.6.1.描述模板参考

< < dt >总结/ dt >
对可用于描述值的描述模板的引用
允许值
在描述模板中定义的标识符
默认的
不允许进行相关描述
条件
如果给出,则记录中值的任何相关描述必须与引用的描述模板匹配。如果引用的描述模板包含强制语句模板,则必须存在该值的描述。
XML属性名称
descriptionTemplateRef
< / dl >

6.6.2.类成员约束

< < dt >总结/ dt >
值可能是其实例的类
允许的值

类uri列表

默认的
没有约束
条件
如果给定,则该值必须是给定类之一的实例。
XML元素名称
ValueClass
< / dl >

注意:这不是一个语法约束,因此可能不会被所有处理器计算。如果需要类型语句,则应该在描述模板中为值资源创建显式语句模板。

6.6.3.值URI约束

6.6.3.1.值URI出现约束
< < dt >总结/ dt >
是否必须给出值URI
允许值
"disallowed" / "optional" / "mandatory"
默认的
“可选的”
条件
XML元素名称
ValueURIOccurrence
< / dl >
6.6.3.2.值URI列表约束
< < dt >总结/ dt >
允许作为值uri的uri。
允许的值

uri列表

默认的
没有约束
条件
如果给出了一个值URI,则必须从该列表中获取它。如果值出现是“不允许的”,则不能指定
XML元素名称
ValueURI
< / dl >

6.6.4.词汇编码方案约束

6.6.4.1.词汇表编码方案出现约束
< < dt >总结/ dt >
是否必须给出词汇表编码方案
允许的值

"disallowed" / "optional" / "mandatory"

默认的
“可选的”
条件
XML元素名称
VocabularyEncodingSchemeOccurrence
< / dl >
6.6.4.2.词汇表编码方案列表约束
< < dt >总结/ dt >
允许作为词汇表编码模式的uri。
允许的值
uri列表
默认的
没有约束
条件
如果给出了词汇表编码方案,则必须从该列表中选取。如果“不允许”出现词汇表编码模式,则无法指定
XML元素名称
VocabularyEncodingScheme
< / dl >

6.6.5.值字符串约束

如果给定了至少一个值字符串约束,则任何值字符串必须匹配至少一个约束。如果没有给出值字符串约束,则允许使用任何值字符串。

对于每个值字符串约束,可以指定以下内容。

XML元素名称
ValueStringConstraint
< / dl >
6.6.5.1.最小出现约束
< < dt >总结/ dt >
此类值字符串必须在封闭语句中出现的最小次数。
允许值
非负整数
默认的
0
条件
必须等于或小于最大出现次数
XML属性名称
minOccurs
< / dl >
6.6.5.2.最大出现约束
< < dt >总结/ dt >
这种值字符串允许在封闭语句中出现的最大次数。
允许的值

非负整数或“无穷大”

默认的
“无穷”
条件
必须大于或等于最小出现次数
XML属性名称
maxOccurs
< / dl >
6.6.5.3.其他约束

所有文字值约束(第6.5节)也可以用于值字符串。

7.XML结构

<?xml version="1.0" ?>                                       

8.RDF变体

<?xml version = " 1.0 " ?> < rdf: rdf xmlns: rdf = " http://www.w3.org/1999/02/22-rdf-syntax-ns " xmlns: dsp = " http://purl.org/dc/dsp/ " > < dsp: DescriptionTemplate rdf: about = " # d1 " > < dsp:独立的rdf:数据类型=“xsd: boolean”>真正< / dsp:独立的> < dsp: minOccur rdf:数据类型=“xsd: nonNegativeInteger”> 0 < / dsp: minOccur > < dsp: maxOccur rdf:数据类型=“xsd: nonNegativeInteger”> 0 < / dsp: maxOccur > < dsp: resourceClass rdf: resource = " / > < dsp: resourceClass rdf: resource = " / > < dsp: statementTemplate > < dsp: LiteralStatementTemplate > < dsp: minOccurrdf:datatype="xsd:nonNegativeInteger"> < dsp: maxoccurs rdf:datatype="xsd:nonNegativeInteger">0< dsp:property rdf:resource=""/>                      < dsp:valueURI rdf:datatype="xsd:URI">      0< dsp: maxoccurs rdf:datatype="xsd:nonNegativeInteger">0< dsp:literal xml:lang="" rdf:datatype="">             

9.例子

9.1“简单”都柏林核心™

<?>    http://purl.org/dc/terms/title   http://purl.org/dc/terms/creator    

9.2简单法

<?>   http://xmlns.com/foaf/0.1/Person  http://xmlns.com/foaf/0.1/name   http://xmlns.com/foaf/0.1/knows  http://xmlns.com/foaf/0.1/Person     

2014-10-26:参见dcmi-dsp.xsd