Re: PowerLoom's BNF usage
Rich Morin <[email protected]> Tue, 8 Jul 2008 19:06:29 -0700
| Newsgroups | gmane.comp.ai.powerloom |
|---|---|
| Message-ID | <p0623098ec499b8f7c054@[192.168.1.205]> |
At 21:59 -0700 7/7/08, Hans Chalupsky wrote: > Cameron, > > thanks for the pointer. It definitely make sense to relate PL-KIF to > CLIF and align them as much as possible. PowerLoom was intended to > support multiple logic dialects (thus the "in-dialect" construct). If > we can't reasonably make PL-KIF a superset of CLIF, we should at least > be able to support them as alternative input language variants. > Given that Common Logic is an actual ISO standard now, we have some > motivation to attempt this fairly soon. At 22:15 -0700 7/7/08, Hans Chalupsky wrote: > ... As I said in a previous message, given that Common > Logic is a bonafide standard now, we'll work on making the > relationship between Common Logic and PL-KIF more precise. +1 Full disclosure: I sat in on the Common Logic email list, asked some questions, sent in copy edits, and helped write the Wikipedia entry. So, I'm pretty familiar with the project, but nowhere near being an expert on the standard's finer technical points. For that, you'll want to rope in some of the standard's authors (eg, Delaguch, Hays, Menzel, Sowa). A note to the mailing list ([email protected]) would probably be a Good Idea, as someone might offer to help. One of the really interesting things about Common Logic is that it defines semantic capabilities, but not syntax. Sort of "duck typing, applied to language definition". If a syntax can be mechanically translated to/from another Common Logic representation, it qualifies as a Common Logic dialect. The Wikipedia entry, more formally, says: Common Logic (CL) is a framework for a family of logic languages, based on first-order logic, intended to facilitate the exchange and transmission of knowledge in computer-based systems. The CL definition permits and encourages the development of a variety of different syntactic forms, called "dialects." A dialect may use any desired syntax, but it must be possible to demonstrate precisely how the concrete syntax of a dialect conforms to the abstract CL semantics, which are based on a model theoretic interpretation. Each dialect may be then treated as a formal language. Once syntactic conformance is established, a dialect gets the CL semantics for free, as they are specified relative to the abstract syntax only, and hence are inherited by any conformant dialect. In addition, all CL dialects are equivalent (i.e., can be mechanically translated to each other), although some may be more expressive than others. In general, a less expressive subset of CL may be translated to a more expressive version of CL, but the reverse translation is only defined on a subset of the larger language. http://en.wikipedia.org/wiki/Common_logic As a result, there are several Common Logic dialects, including: Conceptual Graph Interchange Format (CGIF) Common Logic Controlled English (CLCE) http://www.jfsowa.com/clce/specs.htm Common Logic Interchange Format (CLIF) eXtended Common Logic Markup Language (XCL) As Hans notes, there are several approaches to PL supporting CL. All of them require "making the relationship between Common Logic and PL-KIF more precise". However, the devil is in the details. * "make PL-KIF a superset of CLIF" - Given CL's goals and approach, I would be amazed if PL critically needs anything that CL doesn't handle. However, the relationship needs to be made precise enough to enable mechanical translation. * Supporting CL as an alternative input language variant isn't really enough. In order to be a full player (not to mention having a way to test things out), PL will need translation both to and from a CL dialect (presumably, CLIF). With these things in place, however, PL stands to gain greatly from becoming a participant in the standard. PL's users would be able to import and export assorted KBs, then compare and contrast the capabilities of different systems in making queries, etc. If the translation were performed to (John Sowa's) Conceptual Graphs (CGIF) and Controlled English (CLCE) dialects, PL would gain new ways for users to view and edit statements, queries, etc. Both seasoned and naive users would benefit from having these dialects available. Finally, just as PL's Open Source licensing and flexible language implementation (ie, STELLA) protect its users, having the option of mechanical translation with other CL dialects should be quite reassuring to any KR&R user. (Like SQL, CL is not a magic wand for interchange, but it's a critically needed starting point.) In summary, I am very enthusiastic about this prospect and will be happy to help in any areas where my skills are appropriate. -r -- http://www.cfcl.com/rdm Rich Morin http://www.cfcl.com/rdm/resume [email protected] http://www.cfcl.com/rdm/weblog +1 650-873-7841 Technical editing and writing, programming, and web development