W3C home > Mailing lists > Public > www-rdf-logic@w3.org > September 2001

Re: model theory for RDF/S

From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
Date: Thu, 27 Sep 2001 06:58:11 -0400
To: phayes@ai.uwf.edu
Cc: www-rdf-logic@w3.org
Message-Id: <20010927065811G.pfps@research.bell-labs.com>
From: Pat Hayes <phayes@ai.uwf.edu>
Subject: Re: model theory for RDF/S
Date: Wed, 26 Sep 2001 19:18:46 -0500

> Peter, some more comments on literals and literal values in the model theory.
> .....
> >8/ In the model theory for RDFS, there is the requirement that all literals
> >    have rdf:type of LITERAL.  This now requires that literals be allowed in
> >    the subject position of predicates, which is forbidden in M&S and in the
> >    document as probably being read, but not forbidden in the model theory
> >    itself, although it has the effect of making all literals be resources.
> .....
> >14/ The RDFS schema-closure rule 1a has the effect of making all literal
> >     values be resources as all literal values have an rdf:type property
> >     because they are in the class extension of rdfs:Literal.  This is valid
> >     in the RDFS model theory, as all literals must be resources there, but
> >     is probably not expected.
> I don't agree, though I would agree the matter needs to have a more 
> careful exposition.

OK, lets look at a slightly different derivation that shows that all
literal values are resources in the RDFS model theory.

Consider the following from Section 4 of your model theory document:

	ICEXT(I(rdfs:Literal)) = LV				

	<x,y> is in IEXT(I(rdf:type)) iff x is in ICEXT(y)

for any sv in LV we have 

        sv is in ICEXT(I(rdfs:Literal))


	<sv,I(rdfs:Literal)> is in IEXT(I(rdf:type))

so sv is in IR 
because IEXT maps IP into IR x (IR u LV).

Therefore all literal values must be resources.

None of the above talks about literals, so the syntactic prohibition does
not arise.

> One needs to draw some rather delicate distinctions here, as the RDF 
> syntactic constraint forbidding literals in subject position, and the 
> RDFS semantic constraint that rdfs:Literal be the class of literal 
> values, together mean that there are some 'unsayable truths', ie 
> sentences which are ill-formed, but which would be true if it were 
> possible to say them legally. These include all triples of the form
> xxx rdf:type rdfs:Literal .
> where xxx is a literal, in particular.  Now, these are all true, as 
> you point out (or, better, they *would* be true if one could say 
> them); but their truth does not have the inferential consequences 
> that you say they have, since they are simply not in the language, by 
> definition. The problem that you are claiming here is that these 
> things are true but unprovable, which would indeed be a problem for a 
> semantic theory.  But the situation is actually slightly crazier than 
> this: they would be true if one could say them, but it is forbidden 
> to say them. They don't even enter into the semantic picture, since 
> they aren't permitted by the syntax.

But see above, the model theory requires that all literal values be
resources.  So, maybe, there is the syntactic prohibition that the literal
cannot appear in the subject position even though this is semantically

> The semantic condition in RDFS which seems to cause the trouble in 
> fact does not. It is the one stated as
> ICEXT(I(rdfs:Literal)) = LV
> which could be restated thus:
> <x, I(rdfs:Literal)> is in IEXT(I(rdf:type)) iff x is in LV
> But notice that this is a rule of interpretation for a language, so 
> 'x' varies over the denotations of pieces of well-formed syntax, 

I don't see this at all.  Where is the requirement that x be a denotation
of a piece of syntax?  Why can't I make derivations for all literal values
or, for that matter, for all resources, including ones that have no URI in
the vocabulary?

> ie 
> the denotations of expressions xxx that can occur in a triple of the 
> form
> xxx rdf:type rdfs:Literal .
> where xxx is a URI or bNode, since these are the only syntactically 
> legal triples;  and all this says is that I(xxx), the entity denoted 
> by xxx, is in the class of literal *values*; it says nothing about 
> literals. The 'iff' forces all literal values that can be denoted by 
> URIs or bNodes to satisfy the condition, of course, since it forces 
> all such literal values to satisfy it; but it does not force all 
> expressions involving literals to be true. In fact, none of them are 
> even assigned a truth-value by the model theory, since they aren't in 
> the set of well-formed expressions.

> Similarly, the closure rules 1a and 1c do not force anything to be 
> true of literals, since they are syntactic transformations rules on 
> an RDF graph, and so the assertions that would generate the problems 
> you mention are simply never going to be in the graph in the first 
> place. The fact that *if* they were allowed in it, then they would be 
> true, is immaterial.
> Pat

OK, this much I will grant you.  The closure rules, as they only work on
legal RDF triples, cannot be used in the way I said they could.

However, I still say that the RDFS model theory requires that all literal
values be resources.  

By the way, this seems to have the strange result that there are some
resources that cannot have a name that can be used in the subject position
of properties.

Received on Thursday, 27 September 2001 06:59:35 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 2 March 2016 11:10:36 UTC