His comments were sent to the SWI-Prolog mailing list [1], and I'm forwarding them with permission. His main point seems to be that he doesn't see any value to RIF given all the similar efforts. Perhaps we could address this with some more text where we explain our relationship to, eg, KIF. I'm hoping we'll get more technical comments from him in the future, given his expertise in practical logic programming. -- Sandro [1] https://mailbox.iai.uni-bonn.de/mailman/public/swi-prolog/2008/000357.html His initial quick comment:
attached mail follows:
On 27 Aug 2008, at 9:23 am, Sandro Hawke wrote: > Since the common core (intersection) is so small, we've decided to > pick > a few points of standardization, or "dialects". We're now done with > the > design of the first of these, which we call the "basic logic dialect" > (BLD). It's "so small" that it takes 35 pages to specify it? I'm trying to think of any non-trivial set of rules that I would be content to have treated either by Prolog or by a production system, and coming up with nothing. This looks to me like a classic case of filling a much needed gap. I'm a little puzzled to see no reference to KIF, especially given the existence of http://www.w3.org/2000/07/hs78/KIF.html Make that "I am astounded to see no reference". My reply:
attached mail follows:
> > On 27 Aug 2008, at 9:23 am, Sandro Hawke wrote: > > Since the common core (intersection) is so small, we've decided to > > pick > > a few points of standardization, or "dialects". We're now done with > > the > > design of the first of these, which we call the "basic logic dialect" > > (BLD). > > > > http://www.w3.org/TR/rif-bld/ > > It's "so small" that it takes 35 pages to specify it? It takes a lot of text to specify a language precisely. This document also includes examples and a fairly long XML Schema which isn't really meant for human consumption. If you have suggestions for how to improve the specification, we'd like to hear them. > I'm trying to think of any non-trivial set of rules that I would be > content to have treated either by Prolog or by a production system, > and coming up with nothing. How about data mapping rules? This intersection is datalog with builtins, right? Not very interesting stuff for a prolog programmer, but still useful for some applications. Also, as I say, we don't consider this intersection to be powerful enough, so that's why we have dialects other than "Core", including this one (BLD) which includes things like function terms. There are some plans for adding things like (gasp) Negation. > This looks to me like a classic case of filling a much needed gap. Well, time will tell on that one. A number of us have put a lot of work into this believing it will be useful. I hope it turns out to be. > I'm a little puzzled to see no reference to KIF, > especially given the existence of > http://www.w3.org/2000/07/hs78/KIF.html > > Make that "I am astounded to see no reference". > I see your point. Would it help to have a section in the introduction which listed related work and spent a paragraph relating RIF BLD to each of them? Other than KIF, what would you suggest is important? (Obvously, Prolog would be good to list in such a section. I'm not sure which versions/references to make. I haven't personally followed the work on ISO Prolog, being happy to just use SWI Prolog. I suspect some others in the group know more than I do on this.) -- Sandro His more detailed reply:
attached mail follows:
Whoops. I wasn't looking at enough. According to http://www.w3.org/TR/2008/WD-rif-ucr-20080730/ "RIF is designed as a family of RIF dialects." There are *separate* RIF dialects for Horn clauses and production rules. On 27 Aug 2008, at 4:08 pm, Sandro Hawke wrote: >> I'm trying to think of any non-trivial set of rules that I would be >> content to have treated either by Prolog or by a production system, >> and coming up with nothing. > > How about data mapping rules? This intersection is datalog with > builtins, right? Production rules work by making changes to working memory. To quote something I'm sure you can find on the web: "Rules are different from the conditional operation ‘if p then q’. Rules are telling you to do something, rather than what logically follows." The left hand side of a production rule is often non-atomic, and may assert new facts, remove old facts, modify properties, print stuff &c. >> This looks to me like a classic case of filling a much needed gap. > > Well, time will tell on that one. A number of us have put a lot of > work > into this believing it will be useful. I hope it turns out to be. We already *have* KIF and SPARQL. Why do we need, not another 'knowledge interchange format', but another family of dialects of such things? > > >> I'm a little puzzled to see no reference to KIF, >> especially given the existence of >> http://www.w3.org/2000/07/hs78/KIF.html >> >> Make that "I am astounded to see no reference". >> > > I see your point. Would it help to have a section in the introduction > which listed related work and spent a paragraph relating RIF BLD to > each of them? Other than KIF, what would you suggest is important? The "mapping between RIF-BLD and KIF" information doesn't have to be in the RIF-BLD specification, but it should *exist* and the RIF-BLD specification should point to it and explain briefly why KIF won't do. The other really obvious candidate is SPARQL. According to http://blogs.zdnet.com/web2explorer/?p=430 ``Tim Berners-Lee went so far as to suggest that; "Trying to use the Semantic Web without SPARQL is like trying to use a relational database without SQL."'' (That may have been a joke. Almost all the alternatives to SQL are much easier to use.) The "mapping between RIF-BLD and SPARQL" information doesn't have to be in the RIF-BLD specification, but it should *exist* and the RIF-BLD specification should point to it and explain briefly why SPARQL won't do. > (Obvously, Prolog would be good to list in such a section. I'm not > sure > which versions/references to make. I haven't personally followed the > work on ISO Prolog, being happy to just use SWI Prolog. I suspect > some > others in the group know more than I do on this.) I surely can't be the only person in this list who remembers the Peirce project? The international Conceptual Graphs project? The one that RDF owes so much to? There is a web site, http://conceptualgraphs.org/ in which we read "There is a proposed standard, nearing its final stages, for the Conceptual Graphs Interchange Format (CGIF). This standard is being developed in conjunction with the ISO Common Logic Project, which seeks to standardize a form of logic for knowledge interchange, and includes three syntaxes for Common Logic, one of which is CGIF in Annex B. Comments and suggestions on the entire standard are welcome; see the web site for more details." The words "ISO Common Logic Project" are a link. ISO standard 24707 was published in October 2007, but by following that link you get one free copy. I think an ISO standard for logic interchange *has* to be cited by the RIF specifications. Especially given its requirement "5.1.3 Common Logic should be easy and natural for use on the Web". It's there, it's clear, it's free (one copy for personal use), and it was designed to be web-friendly. Why do we need RIF as well? In a later private message he included this bit which is essentially an addendum to that: > It may be worth noting that the ISO "Common Logic" standard > "defines an *abstract* syntax and an associated model-theoretic > semantics > for a specific extension of first-order logic", so it looks very much as > though a good way of specifying RIF would be by mapping it to that > abstract syntax (and thus getting the associated semantics for free). > CL has three concrete syntaxes: > Annex A: CLIF, historically derived from KIF. > Annex B: CGIF, a version of Conceptual Graphs. > Annex C: XCL, an application of XML. > There is clearly room for more notations in this framework.Received on Friday, 29 August 2008 13:32:39 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 29 August 2008 13:32:40 GMT