元数据设计,实施和最佳实践的创新

描述设置配置文件:Dublin Core™应用程序配置文件的约束语言

创作者: Mikael Nilsson.
KMR集团,纳达,Kth(皇家理工学院),瑞典
发行日期: 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 Variant.
  9. 例子

1.介绍

DCMI描述设置配置文件规范描述了“描述设置配置文件”(DSP)的信息模型和XML表达式。期限描述集并且本说明书中使用的相关概念定义为DCMI摘要模型中[dcam.].

DSP是描述设置的结构约束的一种方法。它限制了描述集合中可以描述的资源,可以使用可以使用的属性,以及可以给出价值代理的方式。

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

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

DSP做了不是地址如下:

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

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

Dublin Core™应用程序配置文件是一个文档或一组文档,它将描述设置为更广泛的功能要求,域模型,语法和使用指南的更广泛的上下文以及可能的数据格式。看看新加坡都柏林核心™应用程序配置文件框架为了更广阔的图景。

2.基本结构

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

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

  • 描述模板,它包含适用于单个描述的语句模板以及所描述的资源的约束。

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

虽然模板用于表达结构,但使用约束来限制这些结构。下图描绘了结构的基本元素。

3.基本语义

DSP的基本用法模型是检查元数据记录火柴DSP。

描述集的匹配定义如下:

描述描述模板的描述
每个描述通过评估来绑定到描述模板资源约束对每个描述模板的描述资源。每个描述必须精确地绑定到一个描述模板。
语句绑定到语句模板
对于每个描述,每个语句都绑定到相应的描述模板中的语句模板通过评估产权约束。每个陈述必须绑定到一个语句模板。
评估约束
现在,描述集中的所有元数据都绑定到模板,可以验证所有约束。

4.使用例子

4.1。示例1:约束资源

以下DSP将描述与单个资源进行匹配。资源必须是一个实例FOAF:人

<?xml版本=“1.0”?>    http://xmlns.com/foaf/0.1/person   

正如它所致,此DSP不允许对该资源的描述包含任何语句,因此它不是很有用。

4.2.例2:约束属性

以下DSP将强制性FOAF添加到前一个示例中具有文字值的名称属性。

<?xml版本=“1.0”?>    http://xmlns.com/foaf/0.1/person   http://xmlns.com/foaf/0.1/name    

4.3。示例3:约束该值

以下DSP将该值约束为没有语言的文字。

<?xml版本=“1.0”?>    http://xmlns.com/foaf/0.1/person   http://xmlns.com/foaf/0.1/name  disallowed    

4.4。例4:两个资源

以下DSP允许两种资源:单个“文档”和多个“作者”。人资源只能作为价值观dcterms:创造者财产,不独立。该值只能在单独的描述中描述强制性的描述FOAF:名称财产。

<?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元素名
描述技术板

5.1。标识符

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

ID

5.2。独立

< < dt >总结/ dt >
是否允许与此模板匹配的描述发生独立,即,而不是属性的值。
允许的值
“是”/“否”/“两者”
默认的

“两个都”

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

5.3。最小的发生限制

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

5.4。最大发生约束

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

5.5。资源类成员资格约束

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

没有约束

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

6.声明模板

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

XML元素名
desexedtemplate.

6.1。最小的发生限制

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

0.

条件
必须等于或小于最大发生
XML属性名称
minoccurs.

6.2。最大发生约束

< < dt >总结/ dt >

这类语句允许在附带的Description中出现的最大次数。

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

6.3。类型约束

< < dt >总结/ dt >
此语句中允许的值代理的类型(文字/非文字)。
允许的值
“字面”/“非竞技”
默认的
两者都允许
条件
如果没有给出值,则不能对值代理进行进一步的约束。
XML属性名称
类型

笔记:Type Constraint应遵循用于使用属性的任何范围。

6.4。财产限制

有两种方法可以在声明中限制属性:

  • 通过提供允许属性的显式列表

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

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

6.4.1。属性列表的约束

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

6.4.2。Sub-property约束

< < dt >总结/ dt >
此语句模板中仅允许给定属性的子属性。请注意,给定属性包含在此列表中(所有属性都是本身的子属性)。
允许的值

属性URI.

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

6.5。字面价值限制

在声明中约束文字价值代理。只允许在类型约束具有“文字”的情况下。

XML元素名称
literalconstraint.

6.5.1。文字列表约束

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

6.5.2。文字语言限制

< < dt >总结/ dt >
是否允许文字使用语言
允许的值
“强制性”/“可选”/“不允许”
默认的

“可选的”

条件
如果“强制性”,则自动禁止语法编码方案。
XML元素名称
ligualoccurlence.

6.5.3。字面语言列表约束

< < dt >总结/ dt >

语言允许的语言

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

6.5.4。语法编码方案约束

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

6.5.5。Syntax Encoding模式列表约束

< < dt >总结/ dt >
语法编码方案允许文字
允许的值
由语法编码方案URIS组成的列表
默认
没有约束
XML元素名称
语法编码化学

6.6。Non-literal价值约束

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

XML元素名称
nonliteralconstraint.

6.6.1。描述模板参考

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

6.6.2。班级成员限制

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

类uri的列表

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

笔记:这不是句法约束,因此可能不会被所有处理器评估。如果需要类型语句,则应创建一个用于值资源的描述模板中的显式语句模板。

6.6.3。价值URI约束

6.6.3.1。值URI发生约束
< < dt >总结/ dt >
是否必须给出一个值URI
允许值
“不允许”/“可选”/“强制”
默认的
“可选的”
条件
XML元素名称
价值愈合
6.6.3.2。价值URI列表约束
< < dt >总结/ dt >
允许作为价值URIS的URI。
允许的值

URIS列表

默认的
没有约束
条件
如果给出了值URI,则必须从此列表中获取。如果值为“不允许”,则无法指定
XML元素名称
ValueURI

6.6.4。词汇编码方案约束

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

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

默认的
“可选的”
条件
XML元素名称
VocabularyEncodingSchemeOccurrence
6.6.4.2。词汇编码方案列表约束
< < dt >总结/ dt >
允许作为词汇编码方案的URI。
允许的值
URIS列表
默认的
没有约束
条件
如果给出了词汇表编码方案,则必须从这个列表中获取。如果“不允许”词汇表编码方案出现,则无法指定。
XML元素名称
词汇表达化学

6.6.5。值字符串约束

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

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

XML元素名
ValueStringConstraint
6.6.5.1。最小的发生限制
< < dt >总结/ dt >
这类值字符串必须出现在外围语句中的最小次数。
允许值
非负整数
默认的
0.
条件
必须等于或小于最大发生
XML属性名称
minoccurs.
6.6.5.2。最大发生约束
< < dt >总结/ dt >
允许此类值字符串的最大次数出现在括号语句中。
允许的值

非负整数或“无穷大”

默认的
“无穷”
条件
必须等于或大于最小出现次数
XML属性名称
maxOccurs
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 Variant.

<?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“简单”都柏林核心™

<?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简单的Faaf

<?XML版本=“1.0”?>    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