- From: David Martin <martin@AI.SRI.COM>
- Date: Sun, 06 Feb 2005 10:18:11 -0800
- To: drew.mcdermott@yale.edu
- CC: public-sws-ig@w3.org, "www-rdf-logic@w3.org" <www-rdf-logic@w3.org>
Drew McDermott wrote: > >>[Manshan Lin] >> >>Can we use SWRL to define universal quantifier? >>For example, >>all (x) ( A(x) and P(a,x) ) (B(x)) >>can be defined as >>( A(x) and P(a,x) ) implies (B(x)) . >>In this case, "x" is an universal variable. > > > The main point to keep in mind is that Owl-S must _quote_ SWRL > expressions, i.e., label them as XML literals, not to be taken as RDF > by any RDF inference engine looking at them. The reason for this is > that much of the neat hierarchical structure in a typical > XML-ification of RDF is an illusion. You must always keep in mind > that the hierarchy evaporates when the XML is turned into triples. > Hence any subset of the triples that can be reassembled into a > meaningful expression _will_ be reassembled. So if SWRL expressions > occur unquoted, they will be asserted just as surely as if they had > occurred all by themselves. Your intent may be to use, say, a > headless rule as a formula whose role in context is to be a > precondition, but in fact that rule will gain its freedom and be > interpreted as an actual assertion. > > Think of an Owl-S plan as a chromosome, and of unquoted SWRL as > viruses. Quotation devices then play the role of antibodies. > > I belabor this because (a) it took me a while to figure it out, during > which time I was pummeled about the head repeatedly by Bijan until I > got it; (b) once you grant the point then your proposal heads toward > the "moot" category. Yes, you can adopt a convention whereby unbound > variables are interpreted as universals. You can also adopt a > convention whereby they are interpreted as existentials, or as > references to the Tao. Personally, I would favor a convention whereby > quantifiers are explicit, on the grounds that, outside of logic > programming, people get confused about how to interpret a bare > variable. Drew - I'm glad you've made such a clear statement regarding the need to quote SWRL expressions. Currently this is making us a little crazy at SRI, in the context of work on the Protege-based OWL-S editor. There is now a SWRL editing capability in the OWL plugin, and it turns out that we could integrate much more easily with the SWRL editor if SWRL expressions were *not* quoted in OWL-S. So there's a desire to revisit this whole issue. I'd like to start by understanding better whether there is a clear story about how SWRL is supposed to be used with OWL in general. So let's forget about OWL-S for the moment. Based on what you've said, it appears that SWRL expressions pretty much must *always* be quoted. That is, if they are going to be loaded in a KB with other RDF / OWL stuff, and the KB used for reasoning in a RDF-based reasoner, there's always going to be a serious potential for confusion, because, as you say, the hierarchical structure is not meaningful to the reasoner. (By RDF-based reasoner, I just mean any reasoner that works off of the triples according to their normal semantics.) I'd like very much to know what the inventors of SWRL think about this, and also what the developers of the Protege-based SWRL editor have to say. Isn't it fair to say that if you want to use a RDF-based reasoner, that all uses of SWRL should be quoted? But then, if that's the case, it's impossible to claim that SWRL is layered on OWL in a meaningful or useful way. I'd very much appreciate any clarity that anyone can offer on these points. In particular, what envisioned uses of SWRL allow you to proceed *without* quoting? And if there are any, how do the semantics of RDF allow for that? - David
Received on Sunday, 6 February 2005 18:18:52 UTC