- From: Doerthe Arndt <doerthe.arndt@ugent.be>
- Date: Mon, 26 Nov 2018 11:12:36 +0100
- To: David Booth <david@dbooth.org>, semantic-web@w3.org
- Cc: Paul Tyson <phtyson@sbcglobal.net>
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:
> https://www.w3.org/TR/rif-overview/
>
> "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
(https://www.w3.org/TR/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
(https://www.w3.org/TR/rif-in-rdf/) and how RDF can be integrated into
RIF (https://www.w3.org/TR/rif-rdf-owl/). 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
RDF (https://www.w3.org/2005/rules/wiki/Implementations).
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,
Doerthe
>
>
--
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: doerthe.arndt@ugent.be
Received on Monday, 26 November 2018 10:13:27 UTC