- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Tue, 13 Jan 2004 13:25:07 +0000
- To: Drew McDermott <drew.mcdermott@yale.edu>
- Cc: www-rdf-logic@w3.org
Drew McDermott wrote: >>[Jeremy Carroll] >> >>It would seem strange to permit this, without also permitting say: >> >><owl:ObjectProperty rdf:about="&rdf;first"> >> <rdfs:range rdf:resource="&my;abc"/> >></owl:ObjectProperty> >> >>and, we have conflict between user vocabulary "&my;abc" and the standard >>use of rdf:first in say a unionOf construct, in which it has an owl:Class >>object. >> > > This is not actually illegal; it's just not Owl DL. Also, it happens > to be inconsistent with the usual uses, so a reasoner should flag an > ontology containing it as "inconsistent." Agreed. > > Also, I still don't understand why making statements about rdf:List, > rdf:first, and rdf:rest is forbidden in Owl DL. Given my ignorance > about DLs, there could be some obvious fact I'm overlooking here. > Someone can put me out of my misery by telling us what it is. > The rationale for the syntactic restrictions on OWL DL is to try and get the semantic layering to work. i.e. given the triple oriented RDFS-compatible semantics, and the abstract syntax tree oriented 'direct' semantics then we should have the following: graph A OWL-Full-entails graph B iff tree A' direct-entails tree B' where A and A' (and B and B') correspond by the mapping rules for all A, B in OWL DL. This proved too strong, and the actual relationship is a little weaker. Once we allow logical statements about the built-in vocabulary then the OWL-Full entailments of those statements are more extensive and the desired state above is lost completely. Hmmm, but that is consistent with the actual resolution that we now have that if tree A' direct-entails tree B' then graph A OWL-Full-entails graph B but not conversely, the two cases I am aware of are: a) the domain of discourse of OWL Full is necessarily infinite, whereas in the direct semantics it can have size 1 or greater b) the objects of annotations in OWL Full are necessarily of type owl:Thing, whereas this does not hold in the direct semantics. I guess some members of the WG regarded iff as the ideal and points (a) and (b) as bugs. Permitting arbitrary use of the list vocabulary would have introduced more such 'bugs'. Permitting a restricted use of the list vocabulary in the user space was not something we considered in detail, but would have required more work on quite what restrictions were appropriate. Personally I find the advice of define your own vocab a better way to go. > > I suppose for my own uses I could make up my own listoids. But why > would it be cool for me to make assertions about those, and not about > rdf:List? What exactly is the difference? > Those assertions would have the same consequences on OWL Full and OWL DL (at least when restricted to the OWL DL syntactic subset). Saying the same things about the builtin vocab would have more/different consequences in OWL DL than in OWL Full, e.g. the restriction on rdf:first with cardinality = 1 would contain all list nodes in OWL Full (user and logical) whereas only the user list nodes in OWL DL. > By the way, in non-XML serializations like N3, is there an equivalent > to parseType="Collection"? It sure would be nice. Even better would > be a version that allowed one to parameterize over the > <List, first, rest> ops. I beleive so, I am not an N3 user. Jeremy
Received on Tuesday, 13 January 2004 08:25:51 UTC