- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Tue, 02 Jul 2002 10:11:17 +0300
- To: ext Brian McBride <bwm@hplb.hpl.hp.com>, Jeremy Carroll <jjc@hplb.hpl.hp.com>, RDF Core <w3c-rdfcore-wg@w3.org>
On 2002-07-01 20:37, "ext Brian McBride" <bwm@hplb.hpl.hp.com> wrote: >> + containers cannot contain globally typed literals (i.e. the literals are >> either self-denoting or untyped) > > Hmm, the question is which. The later seems to imply, if one puts a > literal in a container, then one doesn't know what it denotes. What is needed, and has been needed for a long time, is a new range property for containers. E.g. rdfs:memberRange a rdf:Property ; rdfs:domain rdfs:Container ; rdfs:comment "Used to indicate the class(es) that the members of an instance of the container class will be members of." . where the following closure rule apply IF ?x a rdfs:Container . ?x a ?c . ?c rdfs:memberRange ?r . ?x rdfs:member ?m . THEN ?m rdf:type ?r . So, if we had some container type 'foo:WidgetScores': foo:WidgetScores rdfs:subClassOf rdf:Bag . foo:WidgetScores rdfs:memberRange xsd:integer . then given an instance of foo:WidgetScores: _:i a foo:WidgetScores ; rdf:_1 "10" ; rdf:_2 "9288" ; rdf:_3 "821" ; rdf:_4 "4" ; which, given the above closure rule for rdfs:memberRange semantics, means that each of the literal node members of the collection denote integer values. The datatyping is not associated with the property, but with the collection. Of course, the above presumes (a) untidy literal semantics and (b) literals (at least implicitly) as subjects. I.e. it equates to the following interpretation: _:i a foo:WidgetScores ; rdf:_1 _:a"10" ; rdf:_2 _:b"9288" ; rdf:_3 _:c"821" ; rdf:_4 _:d"4" ; _:a"10" rdf:type xsd:integer . _:b"9288" rdf:type xsd:integer . _:c"821" rdf:type xsd:integer . _:d"4" rdf:type xsd:integer . And of course, the memberRange need not be a datatype. It can be any RDF class whatsoever. And also, we need not introduce literals as subjects at this time in order to adopt such an approach as above. The rdf:type'ing can simply be left implicit in the interpretation. But, if/when literals can be subjects, it all fits right in perfectly with untidy literals and rdfs:range based datatyping. Patrick -- Patrick Stickler Phone: +358 50 483 9453 Senior Research Scientist Fax: +358 7180 35409 Nokia Research Center Email: patrick.stickler@nokia.com
Received on Tuesday, 2 July 2002 03:11:17 UTC