- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Tue, 02 Jul 2002 10:57:16 +0300
- To: Patrick Stickler <patrick.stickler@nokia.com>, 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-02 10:11, "ext Patrick Stickler" <patrick.stickler@nokia.com>
wrote:
>
> 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 ;
Hmmm.... actually, that's not quite right. The domain really
is a meta-class of which rdfs:Container is a member. Anyway,
I'm sure folks get the gist...
Patrick
> 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
>
>
>
--
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:57:15 UTC