Print

Print


Hi Stuart,

On Mon, Aug 31, 2009 at 08:15:48AM -0700, Stuart Sutton wrote:
> I hope you do not mind if I press the example a bit further.
> Setting aside the wisdom of having a property with "both
> allowed", it does happen.  For example, a project I am working
> on wants to make it possible to include "subjects" in a form I
> might call 'keywords' (free text--i.e., no URI) AND/OR terms
> drawn from specific VES (some VES with Value URI and some others
> with VES URI and no Value URI).  And, let's assume, that we
> intend those keywords to be legitimate literals in terms of the
> Abstract Model as you just described, Mikael.  Now,
> (unfortunately?) the scenario I just described is not a case of
> "no further constraining".  When it comes to the VES, there are
> several constraints.  In such a case, how can I represent this
> in a DSP?  Am I talking about two separate statements
> representing subject (one literal and another nonliteral with
> VES constraints)?  With DC creator in your example, Mikael, a
> similar scenario might be handled by using both the dc:creator
> (for literal) and dcterms:creator (for nonliteral) if I wanted
> data that modeled true to the Abstract Model.  But I do not seem
> to have the same luxury with dc:subject/dcterms:subject.  Or do
> I?  Or  have I again wandered off base?  Or is my scenario
> absolutely untenable?

This reminds me of an issue that the Usage Board encountered in
its review of the Scholarly Works Application Profile [1] (see
excerpt below).

The problem we found was that SWAP, as written, could be used to
make statements that would match not just one statement
template, but (in this case) two statement templates -- a
condition that violated the matching algorithm outlined in
Section 3 of the DSP draft.

In the discussion, Mikael wrote [2]:

> To begin with, SWAP is the authority here, not the DSP model. Don't
> adjust SWAP to reflect DSP quirks unless the changes are well motivated
> by other arguments.
>
> Second, SWAP is obviously stretching the processing model of the DSP.
> This is to be expected - the DSP processing model was intentionally made
> simple so as not to need a full SPARQL-like query processor to work.
>
> Third, if the DSP model is not useful for important use cases, that is a
> failure of the DSP model. I'm not surprised by that either, to be honest
> - there's a reason we left the DSP model in Workin Draft status: so we
> could gather this kind of feedback.
>
> So: I think the right conclusion is that you're running into limitations
> of the DSP model that we will need to feed back into improvements of the
> DSP model itself.

Stuart, I see your requirement as related because you also want
to have two distinct statement templates using the same property
constraint.  I'm not sure the SWAP case helps answer your
question, but it does shine more light on an aspect of DSP that
clearly needs further discussion.

Tom

[1] http://dublincore.org/usage/reviews/2009/swap/index.shtml
[2] https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind0901&L=DC-USAGE&P=4493

---------------------------------------------------------------------
Excerpt from: http://dublincore.org/usage/reviews/2009/swap/index.shtml

A discrepancy between the DSP specification and the SWAP profile

The reviewers found a discrepancy between the SWAP profile and
the DSP specification with implications for "conformance".

The DSP working draft (2008-08-31) defines an approach to
describing the structure of a description set in terms of a set
of constraints against which an individual description set can
be "matched" -- i.e.  analyzed to test whether the description
set satisfies those constraints or not.

Section 3 of the DSP draft describes how that matching process
works.  The process has three stages:

    * First, each description in the description set is compared
      with the description templates in the DSP. A match is
      detected if the description satisfies the Resource
      Constraint in a description template.  Each description must
      match one description template.

    * If a single match is found, the process moves on to
      comparing the statements within the description and the
      statement templates within the matched description template.
      A match is detected when a statement satisfies the Property
      Constraint in a statement template.  Each statement must
      match one statement template.

    * If a single match is found, the process then moves on to
      comparing the value surrogate within the statement and the
      value constraints.

The version of SWAP submitted for review provides a DSP
containing five description templates.

The "Expression" description template contains sixteen statement
templates.  Of these sixteen statement templates, two templates
(the template labeled "Entity Type" and the template labeled
"Type") use an identical Property Constraint -- a Property List
Constraint referring to a single property
http://purl.org/dc/elements/1.1/type.  The consequence of this
is that when a statement using the dc:type property is analyzed,
it will always result in matches against two statement
templates, i.e.  it is impossible for step 2 of the process
above to complete successfully; it will always fail to match the
statement to a single statement template.

In light of this discrepancy, the Usage Board was obliged to
conclude that the review criteria do not match the reviewed
application profile on this point, and that SWAP therefore
cannot be said to conform with the criteria.

Possible revisions to SWAP which might have resolved the
discrepancy, such as combining the two statement templates into
one single, "weaker" statement, or changing one of the statement
templates to use a different property list constraint (e.g., by
using rdf:type for one of the two) were, in the end, considered
to be outside the boundaries of "minor editorial correction" and
more properly an issue for the SWAP maintenance community.
Indeed, it was suggested that the matching algorithm defined in
the draft DSP specification itself be re-evaluated in light of
the SWAP example -- a task for the DCMI Architecture Forum.
While the Usage Board review did not produce a "positive"
result, it had the effect of uncovering an issue of more general
significance for the automated processing of metadata.

--
Thomas Baker <[log in to unmask]>