Richard, et al.,
I developed those few 'design patterns' while working on the DCAP
document, not DCAM. I would expect that there would be a progression
from DCAM to DCAP -- from "simple" and basic patterns to patterns with
more complexity and application-like constraints. Maybe something like
going from atoms to molecules to simple organisms.
My particular interest was in providing examples of commonly needed
structures that people could copy and adapt while creating APs. I still
think this would be a good idea, I just haven't had time for it.
kc
On 2/28/12 11:54 AM, Richard Urban wrote:
> Hi everyone,
>
> Tom are you suggesting that Karen's "patterns" for DSPs are a *model*
> that we can follow for coming up with DCAM patterns, or that these *are*
> DCAM patterns?
>
> Currently Description Set Profiles seem very oriented towards syntaxes
> that should be used in particular contexts or "applications." But I find
> that many of the things that DSPs want to do is provide some ontological
> distinctionsabout the kinds of things described and which properties
> (and classes of values/vocabularies) that should be used to describe
> them. This seems close to the idea of *interpretations* that Alistair
> alludes to in several of his e-mails and is part of the model-theoretic
> semantics of RDF[1].
> In some ways this feels like it turns the conversation on it's head, we
> are still talking about constraints, but by presenting an account of
> what is allowed (or licensed) rather than what is prohibited.
>
> For a simple language like RDF, this interpretation is mainly about
> specifying some baseline classes and relationships between classes (such
> as what constitute other classes - i.e. subjects, predicates, and
> objects make up a statement, etc.
>
> But once we've specified the ability to create classes and
> relationships, we might also want interpretations that are particular to
> a particular domain by specifying the kinds of things we wish to talk
> about and what properties those things might have.
>
> I see DCAM as trying to achieve the first part of this - what are the
> sentences we can use, what are the classes, and what relationships are
> allowed. In Karen's patterns they are similar to the idea that there are
> statements and "strings" (or literal values that refer to themselves).
> But some of the other patterns here and in Gordon's list seem to be
> better situated in the ontological part of an interpretation. What kinds
> of things are in the world and what properties do they have? (Isn't this
> what we really mean when we say "mandatory if applicable"? - i.e. if
> something is an x, then it must have property y" The Dublin Core Terms
> provide a basic set of properties that get us started on specifying this
> part of an interpretation, but don't say much about how we use them to
> construct statements.
>
> In order to do more complicated things, we may also need to add
> additional rules to an interpretation, for example the idea of
> disjointedness (x cannot be a y). Depending on what kinds of rules we
> need, we need different levels of expressivity. I think that the list of
> patterns we have so far could be divided by some of these requirements.
> For example:
>
> * "a statement with strings" is handled by the simplest tools that RDF
> provides: RDFS
> * "mandatory" would require the specification of some class of resources
> that universally has some property. To do this would require a more
> expressive tool, like OWL.
> * "mandatory if applicable" is a tough one, because it means that some
> things do have a property and some things don't - but it usually boils
> down to then explicitly specifying which things do and which things
> don't. (not whether a record has it or not, but which THINGS)
>
> I'll see if I can come up with a quick categorization of the patterns we
> have so far along these lines.
>
> What does this mean for DCAM then, in a way that is more than an
> abstract syntax?
>
> DCAM should provide the basic tools for constructing statements and sets
> of statements.
> DCAM should provide the mechanisms that allow a particular domain (an
> application?) to specify a valid interpretation (what kinds of things am
> i concerned with, what properties do those things have, and what
> concepts do I use to describe them (i.e a vocabulary or encoding scheme)).
> Of course, all of this is colored by my understanding of what RDF is
> trying to do. The challenge here seems to do it in a way that is not
> entirely dependent on just RDF, but allows other ways to express
> interpretations that may be more flexible for domains/applications that
> are less formal.
>
> Is this a helpful/holistic way to look at the relationship between DCAM
> and DSP?
>
> Richard Urban
>
>
> [1] http://www.w3.org/TR/rdf-mt/#interp
>
> On Feb 21, 2012, at 9:46 PM, Thomas Baker wrote:
>
>> In 2008, Karen started to enumerate some common design patterns. We have
>> provisionally concluded that a revised DCAM would need to be be based
>> on, and
>> illustrated with, examples. Here -- minus the DSP angle-bracket
>> examples -- is
>> the starter set of patterns. They are similar in nature to the
>> examples that
>> Alistair penciled into his draft.
>>
>> Can we take this as a start, or does anyone want to propose a
>> different type of
>> examples (or patterns)? As Antoine has suggested, the effort of just
>> trying it
>> might be less than the effort of discussing it in the abstract...
>>
>> Tom
>>
>> ----------------------------------------------------------------------
>> http://dublincore.org/dcmirdataskgroup/apDesigns
>>
>> Some Application Profile Design Patterns
>> These design patterns are based on the Dublin Core Description Set
>> Profile (DSP). The DSP structure is a single description set that
>> contains one or more descriptions, each of which contains one or more
>> metadata statements. Both the description and the metadata statements
>> can define constraints on usage.
>>
>> Statement: A Simple String
>> The simplest metadata statement describes a property that takes a
>> simple string value ("literal"), with no constraints.
>> [... example ...]
>>
>> Mandatory and Repeatable
>> Both description templates and statement templates can be coded as
>> mandatory/optional and repeatable/not repeatable. This is done
>> using the values "minimum" and "maximum". The most commonly used
>> values are:
>> [... example values ...]
>>
>> The following code defines a property ("title") that is required
>> and not repeatable:
>> [... example ...]
>>
>> Using Controlled Lists
>> One way to assure consistency of metadata use is to require that
>> values be taken from a controlled list. Controlled lists can be
>> short ("yes" "no" "maybe") or they can be long (such as the Library
>> of Congress Subject Headings, which number about 250,000).
>>
>> To define a property as taking a member of a controlled list as its
>> value using the terms of the DC Application Profile, the controlled
>> list is called a "Vocabulary Encoding Scheme" and the list itself
>> is represented with its identifier, a URI. Use of a list can be
>> mandatory or optional.
>>
>> This code illustrates a "subject" property that optionally can use
>> terms from the LC Subject Heading list.
>> [... example ...]
>>
>> This code shows a subject property that requires the use of a term
>> from the LCSH list:
>> [... example ...]
>>
>> If you have a short list that you wish to embed in the DSP you can
>> do that using the "LiteralOption". Each term is listed, and values
>> must be taken from the list:
>> [... example ...]
>>
>> You can support multiple languages with the LiteralOption by
>> including the XML "lang" attribute:
>> [... example ...]
>>
>> --
>> Tom Baker <[log in to unmask]>
>>
>
--
Karen Coyle
[log in to unmask] http://kcoyle.net
ph: 1-510-540-7596
m: 1-510-435-8234
skype: kcoylenet
|