日期:2021年4月23日
地位:DCMI社区规范 - 评论草案
编辑
Karen Coyle.
贡献者
汤克,DCMI
Phil Barker,Cetis LLP
艾伯塔大学约翰哈克
Ben Riesenberg,华盛顿大学
筑波大学Nishad Thalhath
本文档是该文件的产品DCMI应用程序配置文件兴趣组。该组的此类和其他工作产品可以在此处找到DC Tap GitHub存储库。特别是,本文档得到了支持词汇申报A.12个元素的文件在表格和电子表格友好的CSV格式。
利益小组希望收到对所有有关各方的工作的意见。可以通过开幕问题提出意见或疑问DC Tap GitHub存储库或通过集团的电子邮件列表。发布到电子邮件列表仅限于已订阅的人(以避免垃圾邮件),所以您被鼓励加入列表参加讨论。请注意,如果您不想加入该列表,则管理员将消息转发到列表,但您可能无法接收响应电子邮件。
从可用的开放词汇表创建一个新的元数据架构创建了可以称为应用程序配置文件的内容,在本文档中通常缩短为“配置文件”。创建配置文件以定义和约束元数据中使用的属性/值对来描述资源,并提供管理元数据的创建和重用的规则。它可能列出属性,其基数,有效值类型,并提供标签帮助读者的读者提供资料的笔记。配置文件功能既可以解释元数据,也潜在地限制元数据,以便可以确定正确的使用情况。单个配置文件可以提供各种需求:元数据创建支持,元数据验证,元数据交换,元数据选择和来自不同源的元数据之间的映射。
需要可共享的应用程序配置,以便进行练习社区之间的数据交换。DC Tap提供词汇表和用于创建基于表的应用程序配置文件的格式。点按表或电子表格中的每一行都是单个元数据语句,并且这些语句可以被分组以形成称为“形状”的单位,该单元描述由元数据覆盖的资源。例如,在描述书籍及其作者的元数据中,书籍和作者都可以使用各自的描述性陈述(标题,姓名)来进行资源;在大学课程的元数据中,课程,教授和学生(课程号码,教授名称,学生证)可能会有独立的形状。
在水龙头中,所有列都是可选的,除了propertyid.
。列的顺序并不重要,因为它们由它们的列标题标识。TAP允许一个创建非常简单的配置文件,但也应该允许在需要的地方扩展。
最简单的配置文件是将在元数据中使用的属性列表。属性必须是先前在词汇中定义的属性,最好是与IRI识别它。属性的例子是http://purl.org/dc/terms/title.和http://xmlns.com/foaf/0.1/familyname.。
这propertyid.
是水龙头中所需的配置文件的唯一元素。
元素:propertyid.
属性ID必须是其他地方定义的词汇项的标识符。它是强制性的。
propertyid. |
---|
https://schema.org/creator. |
http://purl.org/dc/terms/title. |
http://purl.org/dc/terms/date. |
请注意,对于虹膜的使用,对于水龙头中的值,它是常见的,以使用前缀或yie方法缩短它们。这是更详细的命名空间声明附录中的部分。在本文件的其余部分中,我们将使用缩短的这些虹膜形式:
字首 | iri. |
---|---|
sdo. | https://schema.org/ |
DCT. | http://purl.org/dc/terms/ |
摘要 | http://xmlns.com/foaf/ |
XSD. | https://www.w3.org/tr/xmlschema11-2/ |
元素:propertylabel.
属性标签是可用于可用于文档和显示的元素的人为标签。标签是可选的,但强烈推荐,以便显示器是人类友好的。
propertyid. | propertylabel. |
---|---|
DCT:创造者 | 作者 |
DCT:标题 | 书名 |
DCT:出版商. | 发行商 |
DCT:日期 | 发布日期 |
元素:强制的
元素:可重复的
在许多元数据中,设计某些字段,而其他字段则不需要,而某些字段则是可重复的,而其他字段则不可重复。这可以使用列在简单的配置文件中包含强制的
和可重复的
。这些被定义为仅采取布尔值。布尔值是一个值表示的一对值真的要么错误的。为布尔元素定义了两个标准值集:
这些值通常是已知的,并且将被许多编程语言和例程识别。使用数字1和0避免用户符合“真实”和“假”的英语语言条款。但是,许多不熟悉这种1和0的人可能无法发现这些值自然。只要选择所选择的值为下游用户,就没有原因不使用像个人资料创建者和用户的语言中的其他二进制值或等效的其他二进制值。
根据需要,可以包括在轮廓中的任何一个或两个元素。在没有这些基数约束的情况下,使用此配置文件的应用程序将需要假设自己选择的默认值。建议在概况中指出这些要求,以避免对元数据的性质的误解。
propertyid. | propertylabel. | 强制的 | 可重复的 |
---|---|---|---|
DCT:创造者 | 作者 | 错误的 | 真的 |
DCT:日期 | 发布日期 | 真的 | 错误的 |
DCT:范围 | 页面 | 错误的 | 错误的 |
价值真的
和错误的
被视为区分大小写。其他基数选项,如“推荐”或“强制性”,如果适用“可能包含在内笔记
柱子。或者,社区可能希望通过添加列和元素来表达这些,以扩展水龙头。
元数据中的每个属性都有一个值。这些值可以是未征求的,因此不受验证的影响,或者可以在配置文件中定义它们,然后它们可以检查元数据以符合配置文件规则。文字数据类型给出valuedatatype.
在配置文件中定义RDF数据valuenodetype.
可能用过了。
请注意,如果不包含值类型,则可以在元数据上执行很少的有效性检查。
元素:valuedatatype.
值数据类型是文字数据类型,如XML Schema数据类型规范中所定义(XML Schema定义语言(XSD)1.1第2部分:数据类型)。包含“基元”的数据类型列表涵盖许多最常见的元数据数据类型,包括:细绳
那布尔基
那十进制
那漂浮
那双倍的
那期间
那约会时间
那时间
那日期
那Gyearmonth.
那gyear.
那八夜
那GDY
那g
那奥里瑞
这些通常以前缀(通常为“xsd:”),它将它们定义为XML模式词汇表的成员。
这些数据类型也适用于文字的RDF节点,如RDF概念规范所定义。(RDF概念 - 数据类型)
propertyid. | propertylabel. | valuedatatype. |
---|---|---|
DCT:日期 | 发布日期 | XSD:日期 |
DCT:范围 | 页面 | XSD:十进制 |
元素:valuenodetype.
值节点类型是RDF三联的对象位置的RDF节点的类型。该值可以是IRI,空白节点或文字,并且有效的关键字是“IRI”,“BNODE”和“文字”。(这是不区分大小写的)。该元素通常用于该元素valuedatatype.
当。。。的时候valuenodetype.
是“字面”。
propertyid. | propertylabel. | valuenodetype. | valuedatatype. |
---|---|---|---|
DCT:创造者 | 作者 | iri. | |
DCT:日期 | 发布日期 | 文字 | XSD:日期 |
DCT:范围 | 页面 | 文字 | XSD:十进制 |
元素:笔记
在许多情况下,希望包括配置文件的用户的一些解释信息,例如属性的定义或需要表达的任何其他信息,指令或约束。
propertyid. | propertylabel. | 笔记 |
---|---|---|
DCT:创造者 | 作者 | 每个作者在单独的陈述中给出 |
DCT:标题 | 书名 | 这本书的标题和副标题 |
DCT:出版商. | 发行商 | 出版商的名称或来自标题页的印记 |
DCT:日期 | 发布日期 | 刊登日期通常是四位数年份 |
截至目前,我们描述了一个应用程序配置文件,该应用程序配置文件是单个属性和其约束。单个元数据属性列表描述了单个实体或事物。在实践中,元数据通常会描述它们之间的关系。一个常见的例子是书目元数据可以单独描述书籍和作者,他们之间的关系。另一个例子是产品,客户和发票的示例。另一个人定义了学习环境中的共同实体:教授,学生,课程。这些通常表示为数据图中的矩形:
描述命名资源的一组属性称为a形状在水龙头。形状定义了在一段数据上提供视图的结构。
元素:形状
元素:Shapelabel.
在RDF实例数据中,每个形状锚定为IRI或空白节点。在个人资料中,任何独特的价值形状
配置文件中的列可以识别形状。为了可读性并帮助为元数据开发人员和用户创建有用的显示器,每个形状也可以具有可读性标签。
因为通常存在多个属性的属性,因为必须有每个属性的模板行,因此重复配置文件中的形状标识符和标签是可选的。假设包括形状标识符的行之后的所有属性行都是该形状内的属性。
使用上图中,我们可以将每个矩形作为我们的配置文件模板中的每个矩形代码。这是“导师”形状:
形状 | Shapelabel. | propertyid. | propertylabel. |
---|---|---|---|
导师 | 导师 | FOAF:邮箱 | 电子邮件 |
FOAF:AccountName. | 用户名 | ||
SDO:Accesscode. | 密码 | ||
FOAF:鉴于名称 | 名 | ||
FOAF:FALLYNAME. | 姓 | ||
SDO:性别 | 性别 |
请注意,此表相当于上面的一个,尽管它重复了形状
和每行的标签:
形状 | Shapelabel. | propertyid. | propertylabel. |
---|---|---|---|
导师 | 导师 | FOAF:邮箱 | 电子邮件 |
导师 | 导师 | FOAF:AccountName. | 用户名 |
导师 | 导师 | SDO:Accesscode. | 密码 |
导师 | 导师 | FOAF:鉴于名称 | 名 |
导师 | 导师 | FOAF:FALLYNAME. | 姓 |
导师 | 导师 | SDO:性别 | 性别 |
元素:valueshape.
这valueshape.
元素用于连接配置文件的形状。这valueshape.
将属性值及其属性约束到命名形状。在上面的例子,学生和课程,课程的形状有一个属性SDO:教练
那有这一点导师
形状作为一个值。
形状 | Shapelabel. | propertyid. | propertylabel. | valueshape. |
---|---|---|---|---|
课程 | 课程 | DCT:标题 | 课程名 | |
DCT:描述 | 课程描述 | |||
SDO:教练 | 导师 | 导师 | ||
导师 | 导师 | FOAF:邮箱 | 电子邮件 | |
FOAF:AccountName. | 用户名 |
这些字符串valueshape.
列必须完全匹配,唯一的形状内容。具有ValueShape的行也可以包括基数限制,定义“呼叫”和“被称为”形状之间关系的要求。
形状 | Shapelabel. | propertyid. | propertylabel. | valueshape. | 强制的 | 可重复的 |
---|---|---|---|---|---|---|
课程 | 课程 | DCT:标题 | 课程名 | 真的 | 错误的 | |
DCT:描述 | 课程描述 | 真的 | 错误的 | |||
SDO:教练 | 导师 | 导师 | 真的 | 错误的 | ||
导师 | 导师 | FOAF:邮箱 | 电子邮件 | 真的 | 真的 | |
FOAF:AccountName. | 用户名 | 真的 | 错误的 |
元素:估值
这估值
进一步约束属性,ValueNodeType和ValueDataType已定义的值。这必须是特定值,例如文字或IRI,或者值列表。
财产 | valuenodetype. | valuedatatype. | 估值 |
---|---|---|---|
RDF:类型 | iri. | sdo:comicissue. | |
DCT:主题 | iri. | http://id.loc.gov/authorities/subjects/sh85141948. | |
DCT:主题 | 文字 | XSD:String. | 吸血鬼 |
因为可以提供不同类型的约束,所以必须提供一个valueConstrainttype.
这将允许估值
被解释。TAP包括一小组通常使用的一小组预定义类型,但如果需要,它不会排除使用其他类型。
预定义的valeConstraintTypes是:选择列表
那IRISTEM
那图案
(正则表达式),languagaTag.
。
valueConstrainttype.
是选择列表
。valueConstrainttype.
是IRISTEM
和估值
为列表提供基础IRI令人痛假
可以表示为诸如正则表达式等模式,以及valueConstrainttype.
是图案
valueConstrainttype.
languagaTag.
。这valueConstrainttype.
定义所有值估值
单元格,无论是单个值还是列表。ValueConstraint单元中的多个值以逻辑的“或”关系处理。因此字符串:A,B,C
被处理为一种
要么B.
要么C
值约束及其类型的示例是:
单字符串值
propertyid. | valuedatatype. | 估值 | valueConstrainttype. |
---|---|---|---|
DCT:主题 | XSD:String. | 历史 |
的价值DCT:主题
将永远是“历史”。
字符串值列表
propertyid. | valuedatatype. | 估值 | valueConstrainttype. |
---|---|---|---|
DCT:主题 | XSD:String. | 历史,科学,艺术 | 选择列表 |
的价值DCT:主题
将是“历史”要么“科学”要么“艺术”。
在语句约束中定义的约束类型
形状 | propertyid. | valuenodetype. | 估值 | valueConstrainttype. |
---|---|---|---|---|
作者 | RDF:类型 | iri. | FOAF:人 |
这RDF:类型
形状“作者”是FOAF:人
。不valueConstrainttype.
是必要的。
一个或多个IRI茎
propertyid. | valuenodetype. | valuedatatype. | 估值 | valueConstrainttype. |
---|---|---|---|---|
DCT:主题 | iri. | https://id.loc.gov/authororities/subjects/,http://vocab.getty.edu/ | IRISTEM |
的价值DCT:主题
将是来自“https://id.loc.gov/authorities/subjects/”或“http://vocab.getty.edu”列表的识别术语,例如“https://id.loc.gov/当局/主题/ sh85038796.html“。
图案
propertyid. | valuenodetype. | valuedatatype. | 估值 | valueConstrainttype. |
---|---|---|---|---|
架构:典型的 | 文字 | XSD:String. | / ^ [0-9] {1,2} - ?[0-9] {0,2} $ / | 图案 |
给定的模式定义了字符串的规则。模式可用于定义诸如上部和较低数字的值,如此,日期范围或字符串的其他约束。
语言标记
propertyid. | valuedatatype. | 估值 | valueConstrainttype. |
---|---|---|---|
DCT:主题 | XSD:String. | @ en,@ fr,@ de | languagaTag. |
使用具有值的语言标记时,该约束列出了允许的值,例如“histoire”@fr以海龟格式使用的RDF数据。
表格应用程序配置文件格式通常将被视为表或电子表格。在程序中使用,假设表将存储为逗号分隔值或CSV。许多编程语言具有接受CSV作为输入格式的函数。以下是两台表和CSV格式的小型轮廓的示例:
表格格式
形状 | Shapelabel. | propertyid. | propertylabel. | valueshape. |
---|---|---|---|---|
课程 | 课程 | DCT:标题 | 课程名 | |
DCT:描述 | 课程描述 | |||
SDO:教练 | 导师 | 导师 | ||
导师 | 导师 | FOAF:邮箱 | 电子邮件 | |
FOAF:AccountName. | 用户名 |
CSV格式
Stupeid,ShapeLabel,PropertyId,PropertyLabel,ValueShape
课程,课程,DCT:标题,课程名称,
,DCT:描述,课程描述,
,, SDO:教练,导师,导师
导师,导师,FOAF:邮箱,电子邮件,
,foaf:accountname,用户名,
请注意,CSV不是唯一可能的格式;表通常可以以其他表格格式保存,例如Tab分隔值。Tap旨在与...兼容CSV标准但不限于此。
当使用IRIS作为表格轮廓的单元格中的标识符时,通过提供表示标识符(命名空间)的基础的本地名称(一个前缀)来缩短IRI,例如:
DCT:主题
=http://purl.org/dc/terms/subject.
FOAF:名称
=http://xmlns.com/foaf/0.1/name.
虽然有一些常用词汇的短名称惯例,但总是优选使用所选择的练习为您的数据提供,以便缩短虹膜的扩展将是正确的。前缀和命名空间声明的实际格式因编程语言而异,尽管基本内容没有变化。表格可以伴随表格轮廓与基本信息,并且应用程序处理配置文件可以以他们所需的格式包含此信息。前缀和命名空间表的建议格式是:
字首 | 命名空间 |
---|---|
摘要 | http://xmlns.com/foaf/0.1// |
DCT. | http://purl.org/dc/terms/ |
其他方法可用于以与您的预期编程环境兼容的方式来传达这一基本信息。
对于正确的解释表格配置文件,建议使用配置文件提供此信息。