From: Jeff Thompson <jeff@thefirst.org>

Date: Tue, 26 Aug 2008 21:51:49 -0700

Message-ID: <48B4DD65.1040409@thefirst.org>

To: public-owl-dev@w3.org

Date: Tue, 26 Aug 2008 21:51:49 -0700

Message-ID: <48B4DD65.1040409@thefirst.org>

To: public-owl-dev@w3.org

Uli Sattler wrote: > > On 26 Aug 2008, at 16:50, Jeff Thompson wrote: > >> >> Uli Sattler wrote: >> >> In >> >> other words, suppose you have the OWL 2 axiom: >> >> >> >> ObjectProperty: childRelatedToBrother >> >> SubPropertyChain: hasParent o owl:TopObjectProperty o hasBrother >> >> >> >> would that be the same as this rule: >> >> hasParent(x, y) ^ hasBrother(w, z) -> childRelatedToBrother(x, z) >> >> >> >> In other words, the parent of x does not need to be the same as the brother of z. >> >> >> > >> > Now this example looks very strange indeed: could you explain to us what the idea behind it is? Cheers, Uli >> >> I'm trying to fill out the table of combinations of variables for rules >> which can be converted to axioms without variables. You already have: >> >> hasParent(x, y) ^ hasBrother(y, z) -> hasUncle(x, z) >> >> and >> >> hasPerformer(x, y) ^ loves(y, y) -> hasPrimadonna(x, y) >> >> How about this one: >> >> hasParent(x, y) ^ ownsCastle(y, z) -> hasRichParent(x, y) >> > > hm, in this case, I would rather add the following axiom: > > hasParent some (owns some Castle) subClassOf > HasRichParent > > or rather > > (owns some Castle) subClassOf Rich > > hasParent some Rich subClassOf > HasRichParent The rule "hasParent(x, y) ^ ownsCastle(y, z) -> hasRichParent(x, y)" is trying to define the property hasRichParent, but in both these examples, HasRichParent is a class, not a property (unless I don't understand the notation). >> Notice that the consequent has (x, y), not (x, z) so that z is unbound. I think this >> can done by turning ownsCastle(y, z) into a class description for y like OwnsCastle(y) with >> a someValuesFrom restriction on ownsCastle >> >> Class: OwnsCastle SubClassOf: ownsCastle some owl:Thing >> >> Then the rule becomes one which can be converted to OWL: >> >> hasParent(x, y) ^ OwnsCastle(y) -> hasRichParent(x, y) >> > >> You see what I'm getting at. In general, I'm interested in the way that >> "Rewriting Rules into SROIQ Axioms" turns >> rules with variables into axioms without variables. > > it's described in the papers mentioned earlier...but I think have a question in mind but you don't want to go through the algorithm's details? I am interested in the algorithm details but fear I don't have the proper context for what I was reading. "Tight Integration of Description Logics and Disjunctive Datalog" by Rosati talks about integrating DL database with a Datalog rules engine but you are still expected to write the rules in Datalog. However, "Rewriting Rules into SROIQ Axioms" was the first place I heard about "rules can be directly embedded into the knowledge base (KB) so we do not need a rule format standard". This is so compelling to me but I don't have the background to know if people have been pursuing this goal directly for years, or if they haven't whether that's because they didn't think of it, or believed it is not possible.Received on Wednesday, 27 August 2008 04:52:24 UTC

*
This archive was generated by hypermail 2.3.1
: Tuesday, 6 January 2015 20:58:17 UTC
*