Re: Critical literal semantics issue

Summary:  There is no requirement that ICEXT(I(rdfs:Literal)) is a subset
of or equal to LV in either the LCC or 12 November 2002 versions of RDF
Semantics.  Even the 29 April 2002 version of RDF Semantics is missing this
relationship in its body, although the relationship does show up in
Appendix A. 


From: Patrick.Stickler@nokia.com
Subject: RE: Critical literal semantics issue
Date: Tue, 14 Jan 2003 11:20:07 +0200

[...]

> Some comments to Peter's posting:
>  
> > It appears to me that RDF(S) literals are now broken.  (I'm working from
> > the LCC candidate at http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-mt-200030117/) 
> > 
> > The only semantic constraints that mention rdfs:Literal are
> > 1/ I(rdfs:Literal) is a member of IC
> > 2/ rdfs:comment rdfs:range rdfs:Literal.
> > 2/ rdfs:label rdfs:range rdfs:Literal.
> > 
> > All this means is that rdfs:Literal denotes a class, but it says nothing
> > about the class extension of rdfs:Literal.  
> 
> The class extension of rdfs:Literal is understood to be a subset of LV
> (see further comments below), i.e. all resources which are denoted by a 
> plain (untyped) literal or a valid typed literal are in LV and hence
> instances of rdfs:Literal.

This is not in the LCC version of the document at
http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-mt-20030117/.

> If a syntactically well formed typed literal is semantically invalid, 
> i.e. if the lexical form does not belong to the lexical space of the 
> datatype, then whatever that invalid typed literal denotes is not a
> member of LV and hence not an instance of rdfs:Literal. 

This is not true in the LCC version of the document.

> It seems to me that this is where the problem lies. See below.
> 
> > In particular, the denotation
> > of untyped literals do not have to be instances of rdfs:Literal, 
> 
> Yes they do, and are. It may be the MT doc is insufficiently clear
> on this point.

The LCC version of the document is perfectly clear on this point.  There is
no requirement there whatsoever that the denotation of an untyped literal
need be an instance of rdfs:Literal.

> The things denoted by plain literals (in fact, themselves) are
> members of LV and hence instances of rdfs:Literal. This is (or
> rather, should be) provided for by the MT, given the fixed
> interpretation of all plain literals.

Again, the LCC version of the document does not require that
ICEXT(I(rdfs:Literal)) is a subset of LV.

> Perhaps section 3.3.1 could be expanded to help clarify that, while
> we cannot explicitly say in the MT that ICEXT(I(rdfs:Literal)) is 
> in fact a subset of LV, it is nonetheless understood to be.

It is easy in the MT to require that ICEXT(I(rdfs:Literal)) is 
a subset of LV.  All that is needed is a semantic condition like
	ICEXT(I(rdfs:Literal)) <= LV
perhaps just after
	IC = ICEXT(I(rdfs:Class))
	IR = ICEXT(I(rdfs:Resource))
In fact it would be also possible to have the class extension of
rdfs:Literal be the same as
	ICEXT(I(rdfs:Literal)) <= LV

> > nor need
> > there be *any* instances of rdfs:Literal at all.  
> 
> Need there be?

Well, if the class extension of rdfs:Literal is supposed to contain the
denotations of untyped literals, I would hope that there would necessarily
be lots of instances of rdfs:Literal.  To have the situation otherwise
would mean the contingent existence of certain (or all) strings.

> > Further, comments and
> > labels are not necessarily literals (typed or untyped).
> 
> If denoted by untyped literals, or by semantically valid typed
> literals, they are.

Not in the LCC version of the semantics.  All that is required there is
that they are instances of rdfs:Literal.

[...]

> > 2/ The following RDFS closure rule is not valid:
> > 
> >    rdfs11: xxx rdf:type rdfs:Datatype . -> xxx rdfs:subClassOf rdfs:Literal .
> 
> This rule is still valid, since any semantically valid typed literal
> denotes a member of LV and hence an instance of rdfs:Literal.
> If one has a semantically invalid but well formed typed literal, the
> resource it denotes is not a member of the class extension of the datatype.

In the LCC version of the semantics document LV is not necessarily a
subset of ICEXT(I(rdfs:Literal)), so even semantically well-typed literals
are not necessarily instances of rdfs:Literal.  However, the problem
mentioned above has nothing directly to do with literals at all, but
instead has to do with the class extension of datatypes.

> The value space of the datatype is garunteed to be a subset of LV, and if
> a typed literal is semantically invalid, it falls outside the scope of
> that datatype and hence also outside the scope of the closure rule in
> question.

But, in the LCC version of the semantics, there is no relationship between
LV and ICEXT(I(rdfs:Literal)).

> Cheers,
> 
> Patrick

Peter F. Patel-Schneider
Bell Labs Research
Lucent Technologies

Received on Tuesday, 14 January 2003 09:00:29 UTC