Re: Lack of a standard rules language Re: Toward easier RDF: a proposal

Dear David,

Am 26.11.18 um 09:13 schrieb David Booth:
> On 11/25/18 1:34 PM, Paul Tyson wrote:
>> On Thu, 2018-11-22 at 14:47 +0000, Nathan Rixham wrote:
>>> Yes, N3 immediately addresses multiple points from the opening thread.
>>> It's a great starting (and ending?) point, to this
>> The original defect report ("Lack of a standard rules language") is
>> wrong. RIF has been in the SemWeb stack for a long time. 
> But RIF is *not* a rules language, AFAIK.  It is a rules *interchange* 
> format, to allow various different rules languages to be exchanged.  
> As the first sentence of the Introduction of the RIF Overview clearly 
> states:
>   "The Rule Interchange Format (RIF) . . . [is] a standard
>   for exchanging rules among rule systems, in particular
>   among Web rule engines. RIF focused on exchange rather
>   than trying to develop a single one-fits-all rule language
>   because, in contrast to other Semantic Web standards, such
>   as RDF, OWL, and SPARQL, it was immediately clear that a
>   single language would not satisfy the needs of many popular
>   paradigms for using rules in knowledge representation and
>   business modeling."
> Am I missing something?

I would say that RIF is not *one* rule language, but *many* and here I 
also see the problem.  To explain a little bit more:

RIF comes in different flavours, so-called "dialects". For each of these 
dialects, the semantics can (and should) be defined, in that sense, the 
dialects are also rule languages.  The problem is that these different 
dialects can also contradict each other in their semantics (the RIF Web 
site mentions "stable semantics" vs "well founded semantics" - so two 
different ways to handle negation as an example), so one must be careful 
when using "RIF rules" which dialect he or she is using. All the RIF 
rule languages have a common ground, the minimal rule language RIF Core 
(, which can then be further extended. 
RIF Core comes with a well-defined semantics and new RIF dialects can 
extend that and add, for example, negation.

RIF is very beautiful for the purpose it is designed for, ie the 
exchange of rules between different rule systems, but that is not really 
what we need in the Semantic Web: here, we would like to have one single 
language with fixed semantics we could use to express rules. Of course, 
to get there, we would need an agreement on the features such a language 
should support (eg, negation? stable semantics? well founded semantics?) 
and that is not easy to reach.  A starting point to come to such an 
agreement could be RIF Core.

There is one other problem I personally see with RIF: I think RIF is not 
well-connected to RDF.  RIF is defined separately from RDF and the 
specification only mentions how RIF can be expressed using RDF syntax 
( and how RDF can be integrated into 
RIF ( But in essence, RIF and RDF 
are completely separated logics and only very few from the 
implementations of RIF listed on the corresponding Wep page even mention 

So as a conclusion: I would favour N3 as a solution, but we could also 
fix *one* RIF dialect as *the* rule language for the Semantic Web.

Kind regards,

Dörthe Arndt
Researcher Semantic Web
imec - Ghent University - IDLab | Faculty of Engineering and Architecture | Department of Electronics and Information Systems
Technologiepark-Zwijnaarde 19, 9052 Ghent, Belgium
t: +32 9 331 49 59 | e:

Received on Monday, 26 November 2018 10:13:27 UTC