dcmi / dctap

DC Tabular Application Profile

Home Page:https://dcmi.github.io/dctap/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mandatory/repeatable and the vocabulary definitions

kcoyle opened this issue · comments

Phil pointed out that the definitions of mandatory and repeatable in the vocabulary file limit them to the property itself:

mandatory

Indicates whether or not the property must be present in the metadata. This is a Boolean value: "true" or "false", or "1" or "0".

repeatable

Indicates whether or not the property can be repeated in the metadata. This is a Boolean value: "true" or "false", or "1" or "0".

This conflicts with the idea of the statement constraint being taken as a whole, both as defined and in validation. Thus, a statement constraint such as:

shapeID shapeLabel propertyID propertyLabel mandatory repeatable valueNodeType valueDataType valueConstraint valueConstraintType valueShape note
subject dct:subject subject true true LITERAL xsd:string @en,@fr languageTag
dct:subject subject false true IRI http://id.loc.gov IRIstem

would mean that a literal with language tag @de would not match the statement constraint, and that a subject with an IRIstem other than id.loc.gov would also not match. The statement in the vocabulary definition would result in dct:subject being mandatory regardless of the constraints on the value.

If we agree that the TAP unit which defines the instance metadata is the statement constraint, not the propertyID, then I would change the vocabulary file to read:

mandatory

Indicates whether or not the metadata must contain a statement that is consistent with this statement constraint. This is a Boolean value: "true" or "false", or "1" or "0".

repeatable

Indicates whether or not the metadata may contain multiple instances of statements that are consistent with this statement constraint. This is a Boolean value: "true" or "false", or "1" or "0".

I'm also thinking that one section of the cookbook should talk about the relationship between TAP and validation. Although first we need to figure that out.

Change made and approved at November 11 meeting.