The Dublin Core Tabular Application Profile (DC TAP) deals with some pretty abstract stuff, this post is an attempt to address a couple of the abstract concepts in a TAP: Statement Templates and Shapes. It will probably only make sense if read alongside the DC TAP Primer.
If “metadata” is data about data, the DC TAP specification is about data about metadata. I prefer to think of metadata as structured descriptions of resources, so a TAP is data representing how to structure descriptions of resources. Not surprisingly, in the group that created DC TAP we often got ourselves lost not knowing what level of abstraction we were talking about (“when you say ‘the data…’ what do you mean by data”), so we spent time writing a “style guide” for Talking About Metadata and Application Profiles.
My view of metadata is that it is a collection of statements about the characteristics of things and the relationships of those things to other things. A DC TAP provides templates for these statements. Merriam Webster provides some definitions of Template that are useful in this context:
a gauge, pattern, or mold (such as a thin plate or board) used as a guide to the form of a piece being made
something that establishes or serves as a pattern
a transparent sheet containing graphic matter to be superimposed on another sheet
I also found (at Wordnik) template defined as
An overlay that fits over all or part of a keyboard and has labels describing the functions of each key within a particular application.
Those fit with our intended use cases for DC TAPs to serve for the creation, explanation and validation of metadata. A template can be used to trace out new patterns, label existing ones and be used to check examples, passing only those that match.
Here are some templates for tags that I found on the web:My visual metaphor statement templates is pretty similar to these. Imagine you wanted to state that the metadata should include a name and description—the name being a short label the description possibly being a longer piece of text—you might picture these as being suitable statement templates:
So now imagine you want to attach these statement templates to the same thing. You might imagine then fastening on like this:So name and description statements that match the templates we have will slot nicely into a description of something if it has a particular shape, which is currently looking something like this:
That’s the shape into which statements that match the name and description templates would attach, which is fine for metadata that describes characteristics, but what about metadata statements that show the relationships between things? For this we need a tag that attaches at both end, something a template like this might produce:
This you can imagine as producing statement that could link between two things (that may be differently shaped). Instead of the template having an area for the data you want to provide in the statement it has a second connector which is specific to the shape you want to connect it to:
Translating this into the terminology we use in the TAP, shapes are things that define which types of statements that may be used to describe some type of thing, and statement templates define the different tags that can be used to describe that type of thing. There in fact two different forms of statement template: those that define data types (think of it as stuff that can be written on the tag) to for characteristics of what you are describing, and those that define links to other types of thing, described their own shape. You see this in a tap as statement templates with a value type and a datatype and those with an IRI or BNode and a value shape:
shapeID | shapeLabel | propertyID | propertyLabel | valueShape | mandatory | repeatable |
---|---|---|---|---|---|---|
bookShape | Book | dct:title | Book title | TRUE | FALSE | |
dct:description | Book description | FALSE | TRUE | |||
dct:creator | Author | authorShape | TRUE | TRUE |
The post Templates and Shapes in Dublin Core Tabular Application Profile appeared first on Sharing and learning.