- From: Tim Berners-Lee <timbl@w3.org>
- Date: Mon, 11 Sep 2000 12:30:08 -0400
- To: <www-rdf-comments@w3.org>
- Cc: <www-rdf-interest@w3.org>
Apologies for the late submission of this comment on RDF-Schema http://www.w3.org/TR/2000/CR-rdf-schema-20000327/ On looking at the excellent analysis "A Logical Interpretation of RDF" Wolfram Conen and Reinhold Klapsing can be accessed at: http://nestroy.wi-inf.uni-essen.de/rdf/logical_interpretation.ps (Postscript-Format) http://nestroy.wi-inf.uni-essen.de/rdf/logical_interpretation.pdf (PDF-Format) http://nestroy.wi-inf.uni-essen.de/rdf/logical_interpretation/index.html (HTML-Format) see http://lists.w3.org/Archives/Public/www-rdf-interest/2000Aug/0122.html (an great sort of thing to happen during CR period , BTW), I find that it points out where there is clearly a bug in http://www.w3.org/TR/2000/CR-rdf-schema-20000327/#s3.1.3 in that it says that "A property can have at most one range property. " This basically doens't mean anything on the web. (Why haven't I spotted that before? I guess just skipped over range and domain assuming they had their normal meanings). An redfs:range statement about a Property allows one to infer a Class of anything which is the value of that property. The semantics are rdf:type(x,s) <= rdfs:range(p,s) & p(y,x) For example, if s is a range of p, then also so is any t superset of s. It is quite reasonable to make two range statements, which together of course imply that any value must be in the intersection of the ranges given. Saying range(p,t) should not be illegal! In other words, Conen & Klapsing's range_cardinality_violation (equation 22) should not be a violation of anything. Ironically, an example of the correct semnatics fo range is actually given: "The rdfs:range of rdfs:range is the class rdfs:Class. This indicates that any resource that is the value of a range property will be a class. " This is a closed world type of problem. The "it is not permitted to express two or more range constraints on a property" doesn't specify a scope within which those delcarations are made. A global scope is of course impossible to ever validate - how can you know whether anyone else has expressed a range constraint on a given property? The note in the spec deals with the problem of expressing the range being a union and mentions that you can't (of course) do that with mutiple range statements. Please remove the offending wording from the spec. Tim BL ________________________________________________________________ PS: The analysis also demonstrates the problem with domain in the not sign in eqn20, showing domain is meaningless as stated in the spec, but this bug has been documented already in comments to the spec.
Received on Monday, 11 September 2000 12:30:13 UTC