- 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