- From: Sandro Hawke <sandro@w3.org>
- Date: Wed, 10 Dec 2008 00:11:18 -0500
- To: Dave Reynolds <der@hplb.hpl.hp.com>
- cc: RIF WG <public-rif-wg@w3.org>
I just read much of your OWL-RL document [1]. It's very nicely written and thorough. I did manage to find three typos: > Note gain that the last universal fact is not executable by a ^? "again" ? if so, the referent is unclear to me > The following table summarizes the which of the OWL 2 RL datatypes ^^^ > which only differ by virtual of the ABox assertions. ^^ "virtue" A general editorial note: I don't know how much automation you used in generating this document, but if it's not too much trouble, it'd be nice to keep the rule names in their translations (as links into OWL Profiles like [2] when it's HTML). Looking at the Haskey rule, I think we can make it safe by moving/repeating the type-check on ?c down into _sameKey, like this: Forall ?x ?y ?c ?u ?c ( ?x[owl:sameAs->?y] :- And ( ?c[owl:hasKey->?u] ?x[rdf:type->?c] ?y[rdf:type->?c] _sameKey(?c ?u ?x ?y) )) Forall ?u ?x ?y ( _sameKey(?c ?u ?x ?y) :- And ( ?u[rdf:first->?key rdf:rest->?tl] ?x[?key->?v] ?y[?key->?v] _sameKey(?c ?tl ?x ?y) )) Forall ?x ?y ( _sameKey(?c rdf:nil ?x ?y) :- And ( ?x[rdf:type->?c] ?y[rdf:type->?c] ) The document doesn't say that 4.3.2 and 4.3.4 also violate safeness (maybe that's the "again" referent?), but it looks to me like they do. I think we can make safe versions, though, using the same kind of trick, where we bring some tests down into the universally-quantified recursion base case. If that works, does that obviate the need for the second appendix/translation approach? -- Sandro [1] http://www.w3.org/2005/rules/wiki/OWLRL [2] http://www.w3.org/TR/owl2-profiles/#prp-key [3] http://www.w3.org/2005/rules/wiki/OWLRL#Haskey_rule
Received on Wednesday, 10 December 2008 05:11:55 UTC