on 12/6/02 8:05, Patrick Stickler at [log in to unmask] wrote:
> It seems to me that there are two primary uses of rdf:value in DC, one for
> datatyped values and another for controlled code sets. Typed literals in the
> new RDF specs handles the first case, and a URI based approach such as above
> would more optimally handle the second (since the values in question are
> resources about which additional statements must be made, such as label).
In my work on XMP at Adobe I see another use of rdf:value, one that is of
much more practical use to us. This is as a means to qualify or enrich
metadata without breaking old clients of the data. The use of rdf:value goes
a long way in supporting the notion of dumb-down.
For example, suppose some client handles multiple dc:creator elements,
expecting each to be a name. They can handle this for The Mikado:
<dc:creator>William S. Gilbert</dc:creator>
<dc:creator>Arthur S. Sullivan</dc:creator>
If someone else wants to know who did what, they might revise this to:
<dc:creator rdf:parseType="Resource">
<rdf:value>William S. Gilbert</rdf:value>
<xx:role>Librettist</xx:role>
</dc:creator>
<dc:creator rdf:parseType="Resource">
<rdf:value>Arthur S. Sullivan</rdf:value>
<xx:role>Composer</xx:role>
</dc:creator>
(I arbitrarily used xx:role to avoid getting sidetracked about the "right"
way to represent this particular qualifier.)
This changes the formal RDF model, but the original client is not interested
in that. Indeed, the original client would be most unhappy being forced to
be aware of the changed model. The old client simply wants to get the names.
The use of rdf:value provides the means for the RDF software to give that
old client the unadorned "values" for the dc:creator elements.
In addition, this provides a means for reasonable generic display of the
metadata. The names from rdf:value are listed with most prominence, the
roles with lesser prominence as qualification/annotation.
Alan Lillich
Adobe Systems
|