- From: Pat Hayes <phayes@ai.uwf.edu>
- Date: Wed, 26 Sep 2001 19:18:46 -0500
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- Cc: www-rdf-logic@w3.org
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. 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. 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, 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 -- --------------------------------------------------------------------- IHMC (850)434 8903 home 40 South Alcaniz St. (850)202 4416 office Pensacola, FL 32501 (850)202 4440 fax phayes@ai.uwf.edu http://www.coginst.uwf.edu/~phayes
Received on Wednesday, 26 September 2001 20:18:41 UTC