[RuleML-all] RuleML 0.91 Naf Datalog and Integrity
Boley, Harold
Harold.Boley at nrc-cnrc.gc.ca
Fri Mar 28 10:27:21 AST 2008
Hi David,
I see.
Actually, for storing integrity constraints, only an Entails
as a whole is Asserted, not any of its children.
For example, in
http://www.ruleml.org/0.91/exa/FOL+/naffolog/constraint.ruleml
the Rulebase
<Rulebase>
<Neg>
<And>
<Atom>
<Rel>gold</Rel>
<Var>object</Var>
</Atom>
<Atom>
<Rel>rusty</Rel>
<Var>object</Var>
</Atom>
</And>
</Neg>
</Rulebase>
in the Entails head can still be treated like a Query
<Query>
<Naf>
<And>
<Atom>
<Rel>gold</Rel>
<Var>object</Var>
</Atom>
<Atom>
<Rel>rusty</Rel>
<Var>object</Var>
</Atom>
</And>
</Naff>
</Query>
over the Entails body for your implementation purpose.
See also the glossary entry for Entails, which links to its XSD module:
<!--
*** Entails ***
Well-known in (meta-)logic (earlier called 'Turnstile',
and 'Demo' in
Kowalski/Bowen's object/meta-level-amalgamated logic).
See http://www.ruleml.org/0.91/glossary/#gloss-Entails
content model:
( oid?, (body | Rulebase), (head | Rulebase) )
-->
Best,
Harold
________________________________
From: ddossot at gmail.com [mailto:ddossot at gmail.com] On Behalf Of David
Dossot
Sent: March 27, 2008 9:17 PM
To: Boley, Harold
Cc: ruleml-all at ruleml.org
Subject: Re: [RuleML-all] RuleML 0.91 Naf Datalog and Integrity
Hi Harold,
Thanks for your response.
I am aware that integrity constraints are expressed with
Entails/Rulebase in 0.91 but I am confused by what would be the right
approach for writing such an integrity Rulebase in the Naf Datalog
sub-language.
More precisely: in Naf Datalog, a Rulebase element follows this content
model: ( oid?, ( formula | Atom | Implies | Equivalent | Forall )* )
What should I use to express the integrity constraint? An Implies
element? If yes, what would be the Head then, since I am not actually
willing to assert a new fact. A Query would be more suited there (in 0.9
the Integrity element was very similar to a Query in disguise).
What do you think?
Thanks again!
David
On Thu, Mar 27, 2008 at 4:15 PM, Boley, Harold
<Harold.Boley at nrc-cnrc.gc.ca> wrote:
> How would you write the "inconsistency of a watch being both
gold and
rusty"
> in RuleML 0.91 Naf Datalog?
In version 0.91, the "Examples" section was given a structure
reflecting RuleML 0.91 sublanguages:
http://www.ruleml.org/0.91/exa
So, some mapping is needed from the flat 0.9 examples.
In particular, the integrity constraint example
http://www.ruleml.org/0.9/exa/constraint.ruleml
now is -- in updated form -- at
http://www.ruleml.org/0.91/exa/FOL+/naffolog/constraint.ruleml
Following slides 33-34 of
"The RuleML Family of Web Rule Languages"
http://www.ruleml.org/talks/RuleML-Family-PPSWR06-talk-up.pdf
the 0.9 use of special Protect and Integrity elements was
replaced
in 0.91 with generally usable Entails and Rulebase elements.
Also, the LP-like Naf was changed to an FOL-like Neg here.
You could change that again to Naf for the NxBRE implementation.
Entails goes beyond FOL -- it is interpreted in the manner
of Reiter's epistemic modal entailment.
Best,
Harold
More information about the RuleML-all
mailing list