Hi Mikael,
see below
Mikael Nilsson wrote:
> On tis, 2007-02-13 at 09:47 +0000, Ivan Herman wrote:
>
>>Third mail from a RDF geek...
>>
>>I understand there is a subtle complication between the DC abstract model
>>and RDF for properties. In DC-Text syntax, one can say:
>>
>>DescriptionSet (
>> Description (
>> ResourceURI ( <http://dublincore.org/pages/home> )
>> Statement (
>> PropertyURI ( dc:publisher )
>> ValueURI ( <http://example.org/agents/DCMI> )
>> ValueString ( "Dublin Core Metadata Initiative" )
>> )
>> )
>>
>>ie, a property *may* have a string value *and* a URI at the same time, so to
>>say. The way I would translate that into RDF is something like
>>
>>dc:publisher [
>> # maybe some type information would be in order here
>> rdf:value "Dublin Core Metadata Initiative";
>> dc:somepropertyhere <http://example.org/agents/DCMI>.
>>].
>
>
> Well, except the Value URI will be the uri of the object node (object of
> the dc:publisher property)
>
>
>>The caveat is when one wants to define the range of the dc:publisher.
>>Indeed, this should be defined as a union, namely a union of a literal *and*
>>some other type that is used above. Alternatively, the range has to stay a
>>general resource, ie, nothing is really said about the range.
>>
>>Being a bit of an outsider to the core DC discussions, this is all fine with
>>me, but it should be explicitly said and documented...
>>
>>(dc:publisher may be a wrong example here; it seems that the new document
>>for ranges defines its range to be an Agent, ie, no direct Literal is
>>allowed anyway. But the issue may come up for other properties...)
>
>
> The intention of the new domains and ranges indeed tries to address this
> very problem - DCMI is moving away from "Literal or resource" to a more
> precise range, relying on rdf:value to provide value strings.
>
> So, this should be read together with the domains/ranges document, AND,
>
> http://dublincore.org/documents/dc-rdf/
>
Thanks for this pointer. I looked through the examples, so let me ask
the following. I understand that you can write
<rdf:Description rdf:about="http://example.org/123">
<dc:subject rdf:resource="http://example.org/subject32"/>
</rdf:Description>
or it can become more complicated, like:
<rdf:Description rdf:about="http://example.org/123">
<dc:subject>
<ex:ExampleSubjects rdf:about="http://example.org/subject32">
<dcrdf:valueString xml:lang="en">Biology</dcrdf:valueString>
<dcrdf:valueString
rdf:datatype="http://example.org/taxonomy/SubjectEncoding">
EA32
</dcrdf:valueString>
</ex:ExampleSubjects>
</dc:subject>
</rdf:Description>
But does it mean that you will no longer be allowed to use:
<rdf:Description rdf:about="http://example.org/123">
<dc:subject
rdf:datatype="http://example.org/taxonomy/SubjectEncoding">EA32</dc:subject>
</rdf:Description>
Or, as a really simple case:
<rdf:Description rdf:about="http://example.org/123">
<dc:subject>something</dc:subject>
</rdf:Description>
The problem I have is that *most* (non-librarian) users of DC will still
use the pure and simple literal. How will you accomodate with that?
Maybe you should have dc:subject and dc:complexSubject when necessary.
For other predicates, some sort of an owl:unionOf might be hand to
define precise range. I am not sure. But what I know that for *lot* of
people the combination with the value String is a little bit too
complicated.
[Actually, I have the impression that what you are fighing with here is
the fact that one cannot use a literal in a subject position in RDF.
Some would like to remove this restriction, but, well, when and how this
issue will be reopened nobody knows...]
Ivan
> which is still not fully up-to-date with these DCAM modifications, but
> gives you an idea of the direction.
>
> In short, we want DC to fully interoperate in an RDF world, while still
> being just as useful in other contexts (OAI etc),
>
> /Mikael
>
>
--
Ivan Herman, W3C Semantic Web Activity Lead
URL: http://www.w3.org/People/Ivan/
PGP Key: http://www.cwi.nl/%7Eivan/AboutMe/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf
|