- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Mon, 23 Nov 2009 16:58:59 +0100
- To: kifer@cs.sunysb.edu
- CC: RIF WG Public list <public-rif-wg@w3.org>
- Message-ID: <4B0AB143.80000@inf.unibz.it>
Michael Kifer wrote: > Let's backtrack a little and try to summarize. The thread is now hard to > follow, I am afraid. > > 1. The issue of a##b in the body of the rules. > > This is the main question that sparked the whole discussion. > You have stated that this somehow introduces universal quantification in the > body of the rules and gave as an argument the fact that a##b implies > is mapped to Forall ?x (tr'(b)(?x) :- tr'(a)(?x). > But how does this demonstrate that this introduces universal quantification > in rule bodies? > After all, H implies P and H implies Q does not mean Q implies P or vice > versa. > Your translation in Sec 9.2.1, which says > tr(b##c) = Forall ?x (tr'(c)(?x) :- tr'(b)(?x)) > does not seem to be the same as what the semantic says. The semantics says > only that b##c implies the implication. You are absolutely right. The translation in the appendix only works if ##-atoms are not allowed in rule bodies. I actually don't know at the moment how ##-atoms in rule bodies could be translated. > > 2. The argument against the axiom > Forall ?x (tr'(c)(?x) :- tr(b)##tr(c) and tr'(b)(?x)) > This seems to be an issue with the embedding that you present in the > appendix, not with the semantics. > The example that you brought up is interesting. > OWL2: > a=b > a subclass c > I think that when you have punning in the source language then the two > occurrences of "a" should be mapped differently. Say, the individual "a" is > mapped to "a" and the class occurrences of "a" should be mapped into > something like class_a. That is what happens in the embedding in section 9.2.1: tr(b) and tr'(b) are distinct constants. > That is, the class occurrences of symbols and their > individual occurrences should be mapped using different tr-mappings. > On the RIF side we'll have > > a=b > a_class##c_class > Forall ?x (c_class(?x) :- b_class##c_class and b_class) Is this meant to be the result of the embedding of DL-document formula containing a=b a##c into RIF BLD? One problem here is that Forall ?x (c_class(?x) :- b_class##c_class and b_class) is not well-formed RIF because the same constant (b_class, c_class) appears both as individual and as predicate here. However, this is easy to remedy by using an embedding that yields a=b a'##c' Forall ?x (c_class(?x) :- b'##c' and b_class) For this example the embedding works. However, I am not convinced that it works in general, since OWL does have non-ground equality and I_C(b') and I_C(c') are in D_ind. I do not have a counter-example at the moment, but I also cannot think of an argument for correctness of this embedding right now. Cheers, Jos <snip/>
Received on Monday, 23 November 2009 15:59:15 UTC