Standard way to qualify occurrences of resources as objects? New issue for resolution?

Hi folks,

I'm trying to figure out how one might create an anonymous
node object which points to a resource via the standard
RDF property rdf:resource and which can be assigned additional
properties relating to the occurrence of that resource as
the value of a property.

I.e., I want to do something analogous to 

  <x:foo rdf:value="xyz" x:bar="jkl"/>

which results in an anonymous node object for the
property x:foo having itself values for the properties
rdf:value and x:bar.

You can't simply exchange rdf:value with rdf:resource, e.g.

  <x:foo rdf:resource="urn:abc:xyz" x:bar="jkl"/>

as that assignes the property/value pair x:bar="jkl" to
the resource itself, and not to the occurrence of the resource.

I thought that I could do something like the following

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

but as pointed out by Art Barstow, rdf:resource can only be
an attribute, not an element. So even though the W3C RDF
validator produces the desired graph with the intended
semantics, it of course also issues a warning about the
invalid use of rdf:resource as an element name.

Note that I can't do the following

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

as this is simply equivalent to the fully contracted form
above and defines a statement about the resource, not about
its occurrence as a property value.

It is very important (IMHO) that it be possible to do this in a way 
that does not rely on a custom ontology, for the sake of maximal 
portability. Being able to qualify the occurrence of any object
should IMO be doable using only RDF/RDFS constructs.

I'm hoping that there is a straightforward way to accomplish this
using only RDF or RDFS constructs/semantics, but I can't see it.

Perhaps the above (presently invalid) construct using the form
'<rdf:resource rdf:resource="..."/>' could be made legal, as a
standard way to accomplish such qualified resource occurrences?

Or is there a better way that I'm just missing at the moment....?

Thanks,

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 Friday, 21 September 2001 02:38:42 UTC