- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 28 Aug 2002 00:06:28 -0400 (EDT)
- Cc: www-webont-wg@w3.org
I've read over the new document and, in general, it is much better. So much better in fact, that I think that this is a better way of describing the relationship between OWL and RDFS than the one I sent out last week. There are still a number of bugs, which I will not go into here. There are also a number of significant errors, but they all appear to fixable. First, there are still too few entailments. In particular, a rdf:type owl:Class . b rdf:type owl:Class . does not entail _:x owl:intersectionOf _:l1 . _:l1 owl:first a . _:l1 owl:rest _:l2 . _:l2 owl:first b . _:l2 owl:rest owl:nil . _:x rdfs:subClassOf a . because the semantics of rdfs:subClassOf are too weak. There are two ways of fixing this. One would be to strengthen rdfs:subClassOf (to an iff, essentially). The other would be to use owl:subClassOf, a subproperty of rdfs:subClassOf with the iff semantic condition. rdfs:subPropertyOf, rdfs:domain, and rdfs:range have to be fixed as well. Second, the completion rules for oneOf are wrong. They have the effect of making a rdf:type s . _:l1 owl:first a . _:l1 owl:rest _:l2 . _:l2 owl:first b . _:l2 owl:rest owl:nil . entail b rdf:type s . Third, the translation from OWL abstract syntax to OWL/RDF is not invertable. This is not a problem as the round trip takes one to equivalent OWL knowledge bases. Fourth, some of the constructs are not correct. For example, owl:oneOf can be used to create sets of integers. Similarly owl:hasValue can be used on both owl:Things and data values. Also, owl:FunctionalProperty can be used for both owl:ObjectProperty and owl:DatatypeProperty. Further, owl:inverseOf can only be used on owl:ObjectProperty. Fifth, some of the closure conditions seem senseless. What is the need of the closure conditions for owl:sameClassAs, owl:samePropertyAs, and owl:sameIndividualAs in the light of the semantic conditions on the properties? Sixth, Sections 3.1 and 3.2 appear to be unncessary when the domain of discourse is augmented as in Section 3.4. Seventh, the way of augmenting the domain of discourse in Section 3.4 is really repugnant. Why not just say that an OWL/RDF interpretation of an OWL/RDF KB has to be an interpretation of all descriptions that can be formed from the vocabulary in the KB? Eighth, let's please keep the junk about Lbase and FOL out of a document on OWL! The addition of owl:Property is interesting. It makes a number of things easier, and does not really affect the language at all, because all OWL properties have to be either owl:ObjectProperty or owl:DatatypeProperty. I suggest that it be added to OWL. It might be a good idea to also produce two different constructs for each of the constructs mentioned above that are for either owl:Thing or data values. peter
Received on Wednesday, 28 August 2002 00:06:35 UTC