W3C home > Mailing lists > Public > public-rif-wg@w3.org > August 2008

Re: safety and external predicates

From: Jos de Bruijn <debruijn@inf.unibz.it>
Date: Wed, 27 Aug 2008 10:30:48 +0200
Message-ID: <48B510B8.8030901@inf.unibz.it>
To: Dave Reynolds <der@hplb.hpl.hp.com>
CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>

> I'm suggesting that Document Conformance should be unrestricted. That
> Core be undecideable and that rulesets which might not terminate under
> some execution strategies would be legal Core rulesets.  That a
> Conformant Producer should be free to emit such rulesets (so long as the
> semantics of the original ruleset is preserved, as normal).
> But that we allow a Consumer to be conformant even if it only preserves
> semantics of some subset of legal rulesets so that it is possible for a
> range of existing PR and LP engines to be conformant consumers even
> though some legal RIF Core rulesets would, for example, lead to
> non-termination with a forward execution strategy. If preferred we could
> call this "minimally conformant", a term used in other W3C specs.

I think that would be fine.  However, I'm not sure we even need to
define the subset for conformance.
For example, in the conformance statement for BLD we talk about the
language of a particular implementation.  However, it is known that any
implementation for a language conformant to BLD, in the sense of the
conformance statement in the BLD document, cannot be correct and complete.
So, an implementation can be conformant without being able to compute
all possible entailments, as long as its "language" is conformant with
BLD. I think that for Core we could do the same.

> The question is how to define that subset.
> It was thinking (perhaps incorrectly) that the notion of a Core rule set
> having a finite set of ground entailments is a well defined(definable)
> one, even though there can be no algorithm for detecting that. So that
> could be the basis for a conformance statement.

First of all, every ruleset will entail infinitely many ground atomic
formulas, e.g., isInteger(0),  isInteger(1), etc.
Second, the problem in logic is not the infinite set of entailment a
ruleset has , but the undecidability of the entailment relation.  So,
checking the entailment of a single fact might not terminate.

> Alternatively we could pick a syntactic safety constraint as you and
> Axel have proposed. However, under this scheme we would be using that
> safety constraint only to limit conformance, not to constrain the
> language - there would be no requirement for a translator (producer or
> consumer) to implement that safety check and explicitly detect unsafe
> rulesets.
> Does that make sense at least?

Yes, that makes sense (from a technical point of view at least).  In a
conformance statement we would allow the language of the processor to be
a subset of Core, namely, that subset for which the safety restriction

Best Jos

> Dave
>> Best, Jos
>>> We could describe a notion of rule safety in an appendix, e.g. based on
>>> [2] as Jos and Axel propose. My preference would be to make that
>>> informative rather than some sort of normative CORE-safe subdialect.
>>> Dave
>>> [*] As it stands Jena could not implement all of Core because we only
>>> operate over RDF (i.e. the Frame syntax) not n-ary predicates.
>>> Chris Welty wrote:
>>>> I still am not convinced that safeness is anything more than an
>>>> academic requirement for CORE.  I would like to hear from someone who
>>>> is a) interested in CORE and b) has some idea what an implementation
>>>> is and c) has some idea what users of CORE would need, to let us know
>>>> if these requirements matter:
>>>> 1) Decidability: is is important that RIF-Core have decidable
>>>> reasoning? That is, any compliant RIF-Core reasoner (implementation)
>>>> will be guaranteed to terminate on any rule-set?
>>>> 2) If decidability is a requirement, is tractability?  That is, any
>>>> implementation will terminate in worst-case polynomial time (or
>>>> better?)
>>>> My general impression from talking to some potential RIF implementors
>>>> is that they treat rule-bases like programs - if your programs don't
>>>> work its your fault, go fix them.  However one important difference
>>>> between rule/logic "programs" and procedural programs is the amount of
>>>> control you have over the search strategy.  I think this is (a
>>>> practical reason) why decidability is considered by some to be
>>>> important for these languages and not for e.g. Java.
>>>> -Chris
>>>> Axel Polleres wrote:
>>>>> Two pointers here... the notion of strong safety in hex-programs
>>>>> [1,2] and Topor's considerations on  safe database queries with
>>>>> arithmetics [3] (cudos jos for the latter one)
>>>>> 1. R. Schindlauer. Answer-Set Programming for the Semantic Web. PhD
>>>>> thesis, Vienna University of Technology, Dec. 2006.
>>>>> http://www.kr.tuwien.ac.at/staff/roman/papers/thesis.pdf
>>>>> 2.  Thomas Eiter, Giovambattista Ianni, Roman Schindlauer, and Hans
>>>>> Tompits. Effective Integration of Declarative Rules with External
>>>>> Evaluations for Semantic Web Reasoning. In York Sure and John
>>>>> Domingue, editors, Proceedings of the 3rd European Conference on
>>>>> Semantic Web (ESWC 2006), Budva, Montenegro, number 4011 in Lecture
>>>>> Notes in Computer Science (LNCS), pages 273-287. Springer, June 2006.
>>>>> http://www.springerlink.com/content/f0x23wx142141v44/
>>>>> 3. R. Topor. Safe database queries with arithmetic relations (1991)
>>>>> Proc. 14th Australian Computer Science Conf
>>>>> http://citeseerx.ist.psu.edu/viewdoc/summary?doi=

Jos de Bruijn            debruijn@inf.unibz.it
+390471016224         http://www.debruijn.net/
No one who cannot rejoice in the discovery of
his own mistakes deserves to be called a
  - Donald Foster

Received on Wednesday, 27 August 2008 08:30:45 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:47:52 UTC