Re: RDF and OWL compatibility

I forgot to comment on the use of disjunction in Enrico's use case
http://www.w3.org/2005/rules/wg/wiki/Managing_incomplete_information

Disjunction can be modeled in several ways using rules and default negation.
The real hard core disjunction is very very rare, and it can be handled in 
Phase 4 (-;).

Disjunction in rule heads is very expensive computationally, but semantics
for it (I'm talking about the non-first-order realm) are well-known (e.g.,
the answer set semantics). Several implementations for it exist as well
(DLP http://www.dbai.tuwien.ac.at/proj/dlv/, Smodels
http://www.tcs.hut.fi/Software/smodels/).


	--michael  


Michael Kifer wrote:
> 
> 
> Enrico Franconi <franconi@inf.unibz.it>:
> > 
> > On 5 Jan 2006, at 15:51, Dave Reynolds wrote:
> > > On the question of bNodes in the head, I hear the argument that it  
> > > is not sufficient to just treat these as new Skolem constants but  
> > > my intuitive understanding of the issue is too weak. It would be  
> > > really helpful if someone could construct a test case which  
> > > demonstrates the difference in results that arise between correct  
> > > treatment of bNodes in the head versus treatment as Skolem  
> > > constants. In the concrete cases I've seen where bNodes are used in  
> > > the head of rules they seem to be intended as a form of anonymous  
> > > gensym - so the Skolem constant semantics may be the more  
> > > practically useful interpretation.
> > 
> > A a naive gensym would fail the use case
> > <http://www.w3.org/2005/rules/wg/wiki/Managing_incomplete_information>,
> > where two examples  
> > (in section "9.4. (Rules involving generation of unknown)") show how  
> > you can make things wrong with a naive use of skolem constants to  
> > implement the existential variables in the head.
> 
> Yes, Enrico,
> Skolemization is not the same as an existential in your use case above, and
> using it **naively** will be wrong.
> 
> However, one can **model** the situation differently and obtain essentially
> the same result as far as the user goals are concerned. For instance,
> referring to
> 
>     http://www.w3.org/2005/rules/wg/wiki/Managing_incomplete_information
> 
> one could represent the fact that any traveller has a home address as follows:
> 
> traveller(enrico).
> traveller(michael).
> has_known_address(enrico,bolzano).
> 
> has_address(?Person,?Addr) :- has_known_address(?Person,?Addr).
> has_address(?Person,_#(?Person)) :-
> 	    traveller(?Person),
> 	    not exists ?A has_known_address(?Person,?A).
> 
> Here _# denotes a new Skolem function (in the notation of FLORA-2, WSML,
> and SWSL languages). The above rules are supported (perhaps using different
> notations) by a number of existing systems, like FLORA-2 and XSB, and by
> proposed languages like WSML-Rules and SWSL-Rules.
> 
> So, here we will infer
> 
>     has_address(enrico, bolzano)
>     has_address(michael, $@!2543(michael))
> 
> It is even possible to further elaborate and introduce domains so that
> certain things will be recognized as "null values" or "placeholders"
> as opposed to known values. Perhaps we should have this in RIF.
> 
> I grant that this requires some effort on the part of the user to make
> things right, but the same is true of any language that imposes
> restrictions on the syntax. DL, for one, is well-known for forcing people
> to jump through hoops to express things that are easily expressible in
> other logic languages.
> 
> 
> 	--michael  
> 
> 
> 
> 
> 

Received on Tuesday, 10 January 2006 21:16:13 UTC