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

Re: The place of rdfs:Literal's in the world...

From: Patrick Stickler <patrick.stickler@nokia.com>
Date: Tue, 30 Apr 2002 09:26:49 +0300
To: Pat Hayes <phayes@ai.uwf.edu>
CC: RDF Core <w3c-rdfcore-wg@w3.org>
Message-ID: <B8F413D9.1438A%patrick.stickler@nokia.com>
On 2002-04-29 19:50, "ext Pat Hayes" <phayes@ai.uwf.edu> wrote:

>> On 2002-04-29 11:05, "ext jos.deroo.jd@belgium.agfa.com"
>> <jos.deroo.jd@belgium.agfa.com> wrote:
>>>  (the things are called 'resources', but no assumptions are made about
>>>  the nature of resources.)
>> Are all 'resources' in the MT members of rdf:Resource?
> Yes. That is, rdf:Resource denotes the universe IR in any interpretation.

Fine. That's what I thought.

>> If so, then literals are members of rdf:Resource, right,
> NOt necessarily, as the MT is currently set up. (We could do it
> differently so that all interpretations were required to contain all
> strings, but there doesnt seem to be any need for that.)
>>  in
>> which case, rdfs:Literal should be rdfs:subClassOf rdfs:Resource,
>> right?

So it is not the case that rdfs:Literal rdfs:subClassOf rdfs:Resource

>> If all 'resources' in the MT are not necessarily members of
>> rdf:Resource, then some further clarification is needed.
>>>  For example, a triple of the form
>>>  <ex:a> <rdf:type> <rdfs:Literal> .
>>>  is legal even though 'ex:a' is a uriref rather than a literal.
>>>  What it says is that I(ex:a) is a literal, ie that the uriref
>>>  'ex:a' denotes a literal.
>> This seems to conflict with what the Schema spec says, which
>> is that a member of rdfs:Literal is self-denoting.
> Does it say a member of rdfs:Literal, or a literal?

The schema spec defines rdfs:Literal as follows:

rdfs:Literal     This represents the set of atomic values, eg. textual


rdfs:Literal represents the self-denoting nodes called the 'literals' in the
RDF graph structure. Atomic values such as textual strings are examples of
RDF literals. 

which says to me that all literal nodes are members of the
class rdfs:Literal.

> Well, Im assuming it is a class, so it can't be the set of literals.
> That is my point. If y'all want it to actually be the set of
> literals, then we would need to re-think this whole issue.

Well, I'm happy calling it a class and treating the set of literals
as a subset of the members of that class.

And to be honest, even if we have a bnode or uriref that denotes
a literal as the statement object, I don't see how that invalidates
the proposed closure rule, it just means that the application can't
get at the actual lexical representation of the value from the
object node directly. That's a practical issue, not a technical

The 'thing' in the universe that is the member of rdfs:Literal is
an atomic string, which in the case of datatyping, is taken to be
a lexical form of some datatype. Whether that 'thing' in the
universe is denoted 'transparently' by a literal node or 'opaquely'
by a bnode or uriref does not change the semantics of the
datatyping interpretation. No?

Thus, if we have

   age rdfd:datatype xsd:integer .
   Jenny age _:x .
   _:x rdf:type rdfs:Literal .

then we can still infer

   Jenny age _:y .
   _:y rdfd:lex _:x .

even though _:x is not a literal string.

Perhaps all that is needed is adjusting the MT to speak
of a member of rdfs:Literal rather than a 'literal'?

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, 30 April 2002 02:23:39 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:24:12 UTC