From: Ian Horrocks <horrocks@cs.man.ac.uk>

Date: Wed, 24 Nov 2004 22:01:49 +0000

Message-ID: <41A504CD.7010702@cs.man.ac.uk>

To: Jos de Bruijn <jos.debruijn@deri.org>

CC: www-rdf-rules@w3.org

Date: Wed, 24 Nov 2004 22:01:49 +0000

Message-ID: <41A504CD.7010702@cs.man.ac.uk>

To: Jos de Bruijn <jos.debruijn@deri.org>

CC: www-rdf-rules@w3.org

Jos de Bruijn wrote: > > Hi all, > > I have a question regarding SWRL FOL [1] to which someone here might > know the answer: > > SWRL FOL is an extension of SWRL to first-order logic. However, there do > not appear to be any function symbols in the language. Did I overlook > something in the document? > Could someone tell me why we would want to restrict the expressiveness > of the language? Why not define a full first-order logic and define > subsets with some specific desirable properties? Jos, Hopefully I can clear things up: Firstly, SWRL FOL is not an extension of SWRL *to* first-order logic, it is an extension of SWRL *towards* FOL (e.g., SWRL FOL doesn't have relations of arbitrary arity). Secondly, when we have equality (as we do in SWRL FOL), function symbols do not add to the expressive power of the language as we can easily substitute "functional" predicates. I was hoping to refer you to a suitable logic text book at this point, but one didn't immediately come to hand so I will attempt to DIY it. To make a predicate f "functional", we simply add: \forall x,y,z f(x,y) ^ f(x,z) -> y=z We can of course make it a total function with: \forall x \exists y f(x,y) We can then eliminate a function term from an atom by replacing it with an existentially quantified variable and adding the corresponding functional predicate atom. E.g., if f(t) occurs in an atom A, then we can rewrite A as \exists x (A[f(t)/x] ^ f(t,x)) where A[f(t)/x] is A with f(t) replaced by x, and f is a "functional" predicate. Or something like that :-) (Of course this wouldn't work in SWRL if there were function symbols with arity greater than 1.) Even given that function symbols don't add expressive power, there is an argument that they should be added as a convenience. How much syntactic sugar should be added to languages such as OWL, SWRL, and SWRL FOL has been a long running debate. My view, which is shared by at least some other members of the Joint Committee, is that no sane person would write directly in OWL/SWRL/SWRL FOL syntax, and that we can therefore safely leave it to tool builders to add convenience features as they see fit. Regards, Ian > > Thanks for the clarification! > > > Best, Jos > > > [1] http://www.daml.org/2004/11/fol/proposal >Received on Wednesday, 24 November 2004 22:01:43 GMT

*
This archive was generated by hypermail 2.2.0+W3C-0.50
: Monday, 7 December 2009 10:53:12 GMT
*