- From: Sandro Hawke <sandro@w3.org>
- Date: Fri, 23 May 2008 10:16:59 -0400
- To: Jos de Bruijn <debruijn@inf.unibz.it>
- Cc: public-rif-wg@w3.org
> I'm afraid that adding existentials to rule heads pushes the language 
> outside of Horn.  In fact, we would nearly have full first-order logic 
How so?   You can just get rid of it by Skolemizing it.
This is a typical N3 Rule, saying that for every two things with a
grandparent relation, there exists a third thing connected to those
things by a parent relation:
   { ?x :grandparent ?y. }
   =>
   # read "[ ... ]" as "something which has ..."
   { ?x :parent [ :parent ?y ] }.
I would turn that into this BLD:
   ?x[parent->sk1(?x,?y)] :- ?x[grandparent->?y]
   sk1(?x,?y)[parent->?z] :- ?x[grandparent->?y]
The results to all positive ground queries on these two rule bases would
be the same, wouldn't they?
    -- Sandro
Received on Friday, 23 May 2008 14:19:39 UTC