- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Fri, 03 Jan 2003 11:21:36 -0500 (EST)
- To: www-rdf-comments@w3.org
- Cc: www-webont-wg@w3.org
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. In particular, the denotation of untyped literals do not have to be instances of rdfs:Literal, nor need there be *any* instances of rdfs:Literal at all. Further, comments and labels are not necessarily literals (typed or untyped). This makes several parts of RDFS and datatyped interpretations problematic, because rdfs:Literal is not (no longer?) the class of all literals nor is rdfs:Literal necessarily (any longer?) a datatype. 1/ The denotation of "arthur"^^xsd:decimal is not necessarily not in ICEXT(I(rdfs:Literal)) in a datatype interpretation that makes xsd:decimal be the XML Schema decimal datatype. 2/ The following RDFS closure rule is not valid: rdfs11: xxx rdf:type rdfs:Datatype . -> xxx rdfs:subClassOf rdfs:Literal . 3/ The following RDFS LBase axioms are not valid: rdf:XMLLiteral(?x) implies rdfs:Literal(?x) LBase:String(?y) implies rdfs:Literal(?y) (rdfs:Literal(?x) and LBase:String(?y)) implies rdfs:Literal(pair(?x,?y)) rdfs:subClassOf(rdfs:Datatype,rdfs:Literal) The second-last axiom would not be valid even if rdfs:Literal was fixed, because only certain strings can be language tags. The last axiom would not be valid even if rdfs:Literal was fixed, because datatypes are not literals. Peter F. Patel-Schneider Bell Labs Research Lucent Technologies PS: I believe that only certain strings can be language tags, but the concepts document only mentions constraints on language tags where it talks about rdfs:XMLLiteral. By the way these are language *tags*, not language identifiers. Concepts does not place any restriction on language tags at all, except for language tags for rdfs:XMLLiteral. Semantics also does not place any constraint on language tags, where it introduces them. Therefore it appears to me that "foo"@rdf:type is a valid untyped literal. (Semantics does, later, talk about simple literals, which have strings for their language tags.) The entire development of the syntax of untyped literals appears to me to be totally messed up. PPS: The pointer to RFC 3066 is wrong in Concepts. It took me a while to discover that I was reading the wrong RFC.
Received on Friday, 3 January 2003 11:21:45 UTC