Jing Mei wrote: > Hello, > > I'm now working on a rule system, hopefully to provide support for > bi-directionally mapping with a variant which has a sub-dialect of RIF-BLD ( > http://www.w3.org/2005/rules/wiki/BLD). Specifially, we mean this > sub-dialect to be obtained from RIF-BLD by removing support for (1) equality > formulas in the rule conclusions (while still allowing them in conditions); > and (2) function constant (aka functor). As well, we mean this variant to be > obtained from RIF-BLD by adding support for (1) negative atom in the rule > conditions; and (2) aggregation (like COUNT in SQL) in the rule conclusions. > > Not surprisingly, such a rule system appears as Datalog, while thanks to the > two-argument directive Import of RIF-BLD, we would provide support PROFILE > of OWL DLP where OWL DLP < OWL DL cf. RIF Profiles of Imports ( > http://www.w3.org/2005/rules/wiki/SWC#Profiles_of_Imports). > > So far, we prefer to adopt our existing sysntax for internal rule > processing, and when exported, the RIF-BLD syntax would also be provided. > For a light-weighted version, we follow the simplest EBNF path of RIF-BLD, > and below is an example. > > RULE ::= CLAUSE > CLAUSE ::= Implies > Implies ::= ATOMIC ':-' FORMULA > > Now, my understanding is that, for RIF aims to interchangeability, we are > allowed to keep our internal rule processing with output of (valid) RIF > documents. Once external other RIF documents arise, our system needs to > normalize them for our internal rule processing. Back to our bi-directional > mapping with a variant which has a sub-dialect of RIF-BLD, as shown in the > attached here-we-are.jpg, we feel free to interchange ours, i.e., Rule > System #1, with other Rule System #2 and #3. However, for the rest, such as > Rule System #4 - #8, each has a bi-directional mapping with another variant > which has another sub-dialect of RIF-BLD, we are confused by how much we > could interchange between ours and others. Is it intersection of two RIF-BLD > sub-dialects?
Not necessarily, no. It depends on the dialects and rules you are interchanging. It is certainly conceivable that the semantics of two dialects preclude taking the intersection, and you simply must define what the relationship is.
Generally, though, we imagine that the major classes of dialects will be carefully designed to allow such intersections. This has yet to be proven by example, but the BLD foundation is supposed to make it easier to design this way.
> Note that such an intersection of two RIF-BLD sub-dialects is > not necessarily the RIF core. Even worse, for Rule System #9 - #15 in > RIF-PRD, is the interchangeability ensured by intersection of our RIF-BLD > sub-dialect and their RIF-PRD sub-dialect? If so, then I am afraid that we, > by ourselves, have to specify a lot RIF-BLD sub-dialects and RIF-PRD > sub-dialects for interchangeability among RIF-aware rule systems. Such a > solution, of course, does not take (as much as possible) advantage of RIF > existing specifications.
Yes, that is correct -- RIF is not perfect, just better than nothing at all. It should make a certain class of rule system translations easier, and for the rest you have to do it the old-fashioned way (point to point).
> Most possibly, i misunderstood something, and I appreciate a lot for your > suggestions. > > btw: the attached here-we-are.jpg is what i copied from "The state of the > Semantic Web" (http://www.w3.org/2008/Talks/0307-Tokyo-IH/Slides.pdf) with > my homework done at Page 54. > >