W3C home > Mailing lists > Public > www-rdf-interest@w3.org > September 2001

RE: Standard way to qualify occurrences of resources as objects?

From: <Patrick.Stickler@nokia.com>
Date: Mon, 24 Sep 2001 08:56:20 +0300
Message-ID: <2BF0AD29BC31FE46B78877321144043114BFD8@trebe003.NOE.Nokia.com>
To: sean@mysterylights.com, aswartz@upclink.com
Cc: www-rdf-interest@w3.org, barstow@w3.org


> -----Original Message-----
> From: ext Sean B. Palmer [mailto:sean@mysterylights.com]
> Sent: 23 September, 2001 22:04
> To: Aaron Swartz; Stickler Patrick (NRC/Tampere)
> Cc: www-rdf-interest@w3.org; Art Barstow
> Subject: Re: Standard way to qualify occurrences of resources as
> objects?
> 
> 
> > The correct way to do this is:
> >
> >    <x:foo>
> >       <rdf:Description>
> >          <rdf:value rdf:resource="urn:abc:xyz"/>
> >          <x:bar>jkl</x:bar>
> >       </rdf:Description>
> >    </x:foo>

Great. This works for me. Don't know why I didn't think of
it before -- perhaps relating rdf:value and literals too 
closely together in my own head...

I guess the restricted interpretation of rdf:value in contracted forms 
such as <x:foo rdf:value="..."/> taking only literal values threw 
me there. I can see now that the ocurrence of rdf:value as an
element name allows a broader set of forms.

> Actually, I think that Patrick was asking how the following 
> is represented
> in XML RDF:-
> 
>    [ rdf:resource <urn:abc:xyz>; x:bar "jkl" ] .
> 
> According to the RDF BNF production [1], propName is just a 
> QName: it does
> not exclude any of the syntactic elements of RDF, and therefore the
> following *is* legal RDF, and if the RDF validator produces 
> an error, then
> it is incorrect:-
> 
>      <rdf:Description>
>        <rdf:resource rdf:resource="urn:abc:xyz"/>
>        <x:bar>jkl</x:bar>
>     </rdf:Description>

Fair enough. Though, now that I can see what I was missing and that
rdf:value can be used in precisely the same way for both qualified
literal values and qualified resource values, your alternate form
is to be preferred as it achieves greater consistency.
 
> However, I'm not sure why anyone would want to refer to the 
> URI reference:-
> 
>    http://www.w3.org/1999/02/22-rdf-syntax-ns#resource
> 
> in the RDF model anyway, because it is a part of the syntax 
> and not the
> model. Patrick being the king of QName doom is probably 
> pointing out that
> RDF confuses syntactic and semantic QNames by kludging them into one
> namespace, and indeed people (DanC?) have expressed that the 
> two should be
> separated.

Actually I had no such ulterior motive, and my inquiry can and
should have been taken at face value. I don't play word games
with political undercurrents. If I think something is wrong
or non-optimal, trust me, I'll say so quite frankly ;-)

In fact, I hadn't really thought about the fact that rdf:value
(http://www.w3.org/1999/02/22-rdf-syntax-ns#value) is really
a creature of the serialization semantics and not the graph semantics,
so the issue you mention, about not having "artifacts" from the
serialization explicit in the graph is one that I would agree
with.

I guess that ideally, the serialization fragment

     <x:foo>
        <rdf:Description>
           <rdf:value rdf:resource="urn:abc:xyz"/>
           <x:bar>jkl</x:bar>
        </rdf:Description>
     </x:foo>
     <x:boo>
        <rdf:Description>
           <rdf:value>def</rdf:value>
           <x:bar>pqr</x:bar>
        </rdf:Description>
     </x:boo>

really might better map (?) to something like

   [ rdfs:Resource <urn:abc:xyz>; x:bar "jkl" ] 
   [ rdfs:Literal "def"; x:bar "pqr" ] 

Perhaps the key question is to what degree, if any, the serialization
and graph semantics intersect, and that intersection should govern
if instances of rdf:value, rdf:resource, etc. should have explicit
realization in the graph.

My ultimate goal in all of this is simply to have a means to consistently,
explicitly, and portably associate properties with occurrences of values,
whether they be resources or literals, using vocabulary and semantics
defined solely in the RDF (or possibly RDFS) specs, and not having to resort
to a custom ontology.

Though I can see now that the presence of rdf:value in an RDF graph may
be questionable (depending on that serialization/graph semantics
intersection),
thanks anyway to Sean for at least pointing out a better way to do that
in both a more consistent manner than I had myself conceived, and in a way
that RDF parsers don't complain ;-)

Cheers,

Patrick


--
Patrick Stickler                      Phone:  +358 3 356 0209
Senior Research Scientist             Mobile: +358 50 483 9453
Software Technology Laboratory        Fax:    +358 7180 35409
Nokia Research Center                 Video:  +358 3 356 0209 / 4227
Visiokatu 1, 33720 Tampere, Finland   Email:  patrick.stickler@nokia.com
 
Received on Monday, 24 September 2001 01:56:29 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:51 GMT