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

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

创造者: 米凯尔尼尔森
KMR集团,NADA,瑞典皇家理工学院
发行日期: 2008-03-31
最新版本: //www.voudr.com/specifications/dublin-core/dc-dsp/
发布历史: //www.voudr.com/specifications/dublin-core/dc-dsp/release_history/
描述: 本规范描述了“描述集概要文件”(DSP)的信息模型和XML表达式。DSP描述描述集上的结构约束,允许都柏林核心应用程序概要的约束的形式化表达。

表的内容

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

1.介绍

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

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

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

  • 作为Dublin Core™应用程序概要文件约束的正式表示
  • 作为数据库的配置
  • 作为元数据编辑工具的配置

一个DSP地址如下:

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

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

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  

正如它的立场,这个DSP不允许对资源的描述包含任何语句,所以它不是很有用。

4.2.例2:约束属性

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

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

4.3.例3:约束值

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

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

4.4。示例4:两个资源

以下DSP允许两种资源:一个“文档”和多个“作者”。的值可能只会出现Person资源使用dc:创造者财产,而不是独立的。该值只能在单独的描述中加上mandatoryfoaf: name财产。

<?xml version = " 1.0 " ? > < DescriptionSetTemplate xmlns = " //www.voudr.com/xml/dc-dsp/2008/03/31 " > < DescriptionTemplate ID =“文档”minOccurs = " 1 " maxOccurs = " 1 "独立= " yes " > < ResourceClass > http://purl.org/dc/terms/Text < / ResourceClass > < StatementTemplate minOccurs = " 1 " type = "非字面" >房地产> < http://purl.org/dc/terms/creator > < /属性< NonLiteralConstraint descriptionTemplateID = "人" > < ValueURIOccurrence >不允许< / ValueURIOccurrence > < VocabularyEncodingSchemeOccurrence >不允许< / VocabularyEncodingSchemeOccurrence > < ValueStringConstraint maxOccur = " 0 " / > < / NonLiteralConstraint > < / StatementTemplate > < / DescriptionTemplate > < DescriptionTemplate ID = "人"独立= "不" >< ResourceClass > http://xmlns.com/foaf/0.1/Person < / ResourceClass > < StatementTemplate minOccurs = " 1 " maxOccurs = " 1 "类型=“文字”> <属性> http://xmlns.com/foaf/0.1/name < /财产> < LiteralConstraint > < LanguageOccurrence >不允许< / LanguageOccurrence > < / LiteralConstraint > < / StatementTemplate > < / DescriptionTemplate > < / DescriptionSetTemplate >

5.描述模板

描述模板具有以下属性。

XML元素名
DescriptionTemplate
< / dl >

5.1。标识符

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

ID

< / dl >

5.2。独立的

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

“两个”

条件
如果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 >
此语句中允许的值代理的类型(文字/非文字)。
允许的值
“文字”/“非字面”
默认的
都允许
条件
如果没有给出值,则不能对值代理进行进一步的约束。
XML属性名称
类型
< / dl >

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

6.4。产权约束

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

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

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

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

6.4.1。属性列表的约束

< < dt >总结/ dt >
此语句模板中允许的一组属性。
< < 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",则自动禁用语法编码方案。
XML元素名称
LanguageOccurrence
< / dl >

6.5.3。文字语言列表约束

< < dt >总结/ dt >

语言允许文字

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

6.5.4。语法编码方案约束

< < dt >总结/ dt >
是否允许文本使用语法编码模式
允许的值
“强制”/“可选”/“不允许”
默认的
“可选的”
条件
如果是“强制”,则自动禁用语言标记。
XML元素名称
SyntaxEncodingSchemeOccurrence
< / dl >

6.5.5。Syntax Encoding模式列表约束

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

6.6。Non-literal价值约束

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

XML元素名称
NonLiteralConstraint

6.6.1。描述模板参考

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

6.6.2。类成员约束

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

类uri的列表

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

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

6.6.3。URI值约束

6.6.3.1。值URI发生约束
< < dt >总结/ dt >
是否必须给出一个值URI
< < dt >允许值/ dt >
“不允许”/“可选”/“强制”
默认的
“可选的”
条件
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 >
是否必须给出词汇编码方案
允许的值

“不允许”/“可选”/“强制”

默认的
“可选的”
条件
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 >
这类值字符串必须出现在外围语句中的最小次数。
< < dt >允许值/ dt >
非负整数
默认的
0
条件
必须等于或小于最大出现次数
XML属性名称
minOccurs
< / dl >
6.6.5.2。最大发生约束
< < dt >总结/ dt >
允许在封闭语句中出现这种值字符串的最大次数。
允许的值

非负整数或“无穷大”

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

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

7.XML结构

<?>< DescriptionSetTemplate>         < ValueClass > < / ValueClass > < ValueClass > < / ValueClass > < ValueURIOccurrence > < / ValueURIOccurrence > < ValueURI > < / ValueURI > < ValueURI > < / ValueURI > < VocabularyEncodingSchemeOccurrence > < / VocabularyEncodingSchemeOccurrence > < VocabularyEncodingScheme > < / VocabularyEncodingScheme > < VocabularyEncodingScheme > < / VocabularyEncodingScheme >< ValueStringConstraint minOccurs = " " maxOccurs = " " > < LiteralOption lang = " SES = " " > < / LiteralOption > < LiteralOption lang = " SES = " " > < / LiteralOption > < LanguageOccurrence > < / LanguageOccurrence > <语言> < /语言> <语言> < /语言> < SyntaxEncodingSchemeOccurrence > < / SyntaxEncodingSchemeOccurrence > < SyntaxEncodingScheme > < / SyntaxEncodingScheme >              

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:资源= " / > < dsp: resourceClass rdf: resource = " / > < dsp: statementTemplate > < dsp: LiteralStatementTemplate > < dsp: minOccur rdf:数据类型=“xsd: nonNegativeInteger”> 0 < / dsp: minOccur > < dsp: maxOccur rdf:数据类型=“xsd: nonNegativeInteger”> 0 < / dsp: maxOccur > < dsp:财产rdf: resource = " / > < dsp:财产rdf: resource = " / > < dsp: subPropertyOf       < / dsp:语言> < dsp: syntaxEncodingSchemeOccurrence rdf:数据类型=“dsp:发生" > < / dsp: syntaxEncodingSchemeOccurrence > < dsp: syntaxEncodingScheme rdf: resource = " / > < dsp: syntaxEncodingScheme rdf: resource = " / > < / dsp: LiteralConstraint > < / dsp: LiteralConstraint > < / dsp: LiteralStatementTemplate > < / dsp: statementTemplate >< dsp: statementTemplate > < dsp: NonLiteralStatementTemplate > < dsp: nonLiteralConstraint > < dsp: nonLiteralConstraint > < dsp: descriptionTemplate rdf: resource = " / > < dsp: valueClass rdf: resource = " / > < dsp: valueClass rdf: resource = " / > < dsp: valueURIOccurrence rdf:数据类型=“dsp:发生" > < / dsp: valueURIOccurrence > < dsp: valueURIrdf:数据类型= " xsd: URI " > < / dsp: valueURI > < dsp: valueURI rdf:数据类型= " xsd: URI " > < / dsp: valueURI > < dsp: vocabularyEncodingSchemeOccurrence rdf:数据类型=“dsp:发生" > < / dsp: vocabularyEncodingSchemeOccurrence > < dsp: vocabularyEncodingScheme rdf: resource = " / > < dsp: vocabularyEncodingScheme rdf: resource = " / > < dsp: valueStringConstraint > 0 0    < / dsp: languageOccurrence > < dsp:语言rdf:数据类型=“xsd:语言”> < / dsp:语言> < dsp:语言rdf:数据类型=“xsd:语言”> < / dsp:语言> < dsp: syntaxEncodingSchemeOccurrence rdf:数据类型=“dsp:发生" > < / dsp: syntaxEncodingSchemeOccurrence > < dsp: syntaxEncodingScheme rdf: resource = " / > < dsp: syntaxEncodingScheme rdf:resource=""/>        

9.例子

9.1“Simple”Dublin Core™

<?xml version = " 1.0 " ? > < DescriptionSetTemplate xmlns = " //www.voudr.com/xml/dc-dsp/2008/03/31 " > < DescriptionTemplate > < StatementTemplate > <属性> http://purl.org/dc/terms/title < /属性> < / StatementTemplate > < StatementTemplate > <属性> http://purl.org/dc/terms/creator < /属性> < / StatementTemplate > < !——etc——>  

9.2简单FOAF

<?xml version = " 1.0 " ? > < DescriptionSetTemplate xmlns = " //www.voudr.com/xml/dc-dsp/2008/03/31 " > < DescriptionTemplate ID = "人" minOccur =“1”maxOccur = " 1 " > < ResourceClass > http://xmlns.com/foaf/0.1/Person < / ResourceClass > < StatementTemplate minOccurs = " 1 " maxOccurs = " 1 "类型=“文字”>房地产> < 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