W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > March 2002

rdfs:Literal not rdfs:subClassOf rdfs:Resource

From: Patrick Stickler <patrick.stickler@nokia.com>
Date: Fri, 08 Mar 2002 21:00:12 +0200
To: RDF Core <w3c-rdfcore-wg@w3.org>
Message-ID: <B8AED6DC.105CA%patrick.stickler@nokia.com>

OK, folks, I'm deciding still to stand my ground on this
one...  ;-)

At the f2f, I bowed to pressure to surrender my view that
literals are not resources, figuring that perhaps I was
not aware of some deicsions or general enlightenment of
the WG since publication of RDFS 1.0.

Though, in re-re-reading the RDFS rec, it remains clear to me,
at least insofar as the original language is concerned, that
members of the class rdfs:Literal are not members of the
class rdfs:Resource.

The key criteria for being a member of rdfs:Resource appears
to be the ability to occur as the subject of a statement.

Since literals cannot be subjects, they cannot be members of
rdfs:Resource.

Right? If that has changed, please tell me when, where and why.

That's not to say that literals are not things in the universe,
only that literals are not members of the RDF class rdfs:Resource.

--

If that hasn't changed, then...

One very direct benefit of upholding this disjunction and
keeping literal nodes outside of rdfs:Resource is that, in
conjunction with my proposed union-interpretation of datatype
classes, it provides a very nice and intuitive means of
restricting property values to either the lexical space or
value space of the datatype.

E.g.

   :p rdfs:range xsd:integer .
   :p rdfs:range rdfs:Resource .

restricts property values to datatype values (the datatype
triple idiom) of xsd:integer, and

   :p rdfs:range xsd:integer .
   :p rdfs:range rdfs:Literal .

restricts property values to lexical forms (the inline
idiom) of xsd:integer.

Thus, if folks really, really want to restrict usage to
one or the other idiom, they have a clear and straightforward
means to do so.

And furthermore, one can more precisely define the nature
of implied value and lexical space classes, and the fact
that the range of a datatype property is its lexical space
and its domain is its value space. E.g.

{
   :d rdf:type rdfs:Datatype .
}
log:implies
{
   :d rdfs:hasValueSpace :V .
   :V rdf:type rdfs:DatatypeValueSpace .
   :V rdfs:subClassOf :d .
   :V rdfs:subClassOf rdfs:Resource .

   :d rdfs:hasLexicalSpace :L .
   :L rdf:type rdfs:DatatypeLexicalSpace .
   :L rdfs:subClassOf :d .
   :L rdfs:subClassOf rdfs:Literal .

   :d rdfs:domain :V .
   :d rdfs:range :L .
} .

which captures the semantics of datatype classes quite nicely, I
think.

Eh?

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 Friday, 8 March 2002 13:58:19 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:46:15 EDT