W3C home > Mailing lists > Public > public-rule-workshop-discuss@w3.org > August 2005

Re: Comments on * DRAFT * Rules Working Group Charter $Revision: 1.60 $

From: doug foxvog <doug.foxvog@deri.org>
Date: Thu, 25 Aug 2005 11:40:53 +0100
To: public-rule-workshop-discuss@w3.org
Message-id: <430DA035.2030300@deri.org>

Sandro Hawke <sandro@w3.org> wrote:

 > We're talking about one language which is a superset of many of the
 > common languages, so it can be used as an interlingua.  You translate
 > your ruleset into it, and if you can translate it back out into
 > another vendor's language (because it has enough features), your rules
 > will mean the same thing.   I'm surprised the mission statement
 > isn't clear on this.

 > Perhaps the title should be changed to "Rule Interchange Format (RIF)
 > Working Group".   The draft does say:

 >     The Working Group is to specify an interlingua, a common format
 >     into which existing rule languages can be mapped. This
 >     interlingua may itself be considered a rule language, and may be
 >     supported natively by some rule systems in the future, but
 >     interlingua features are more important than features which make
 >     the language itself easy to use directly.

 > but perhaps that's still not clear enough.

A language that is able to satisfy these conditions, but is of a
different format (LISP syntax) and has a slow inference engine
(because it is a higher-order language) is CycL.

Some features of CycL:
* Rules are supported with #$forAll, #$thereExists, #$implies
* #$not is the logical NOT
* For NAF CycL uses #$unknownSentence.
* All sentences and queries are situated in explicit contexts (called
   Microtheories).  Thus NAF reasoning uses a situated NAF.
* Argument contraints are expressable and enforced
   + argument as instance of class: #$argIsa
   + argument as subclass of class: #$argGenls
   + inter-argument constraints are also expressible
* #$equals is used to express equality
* CycL is Open-world by default, but can express closed-world reasoning:
   + #$completeCollectionExtent -- class membership is closed-world
   + #$completelyAssertedCollection -- class closed w/o reasoning
   + #$completeExtentDecidable -- predicate extent is closed-world
   + #$completeExtentAsserted -- predicate is closed-world w/o reasoning
* #$synonymousExternalConcept maps between external and internal terms
* classes of classes can be expressed
* classes of predicates can be expressed
* functions can be expressed
* modality can be expressed

This language could be used as an interlingua if translators were
written for the various Semantic Web languages.  Consistency checks
would automatically be made if an ontology converted into CycL were
fed into a CycL system (as opposed to merely transliterating into
and out of this language as a textual exercise).

Versions of Cyc are feely available for public use.  OpenCyc (for the
general public) and ResearchCyc (for academic,... research) provide
significant sections of the Cyc concepts and knowledge base as well
as providing the language.

An issue that would arise if a converted ontology were to be loaded
into Cyc is that Cyc requires terms to be defined before they are
used (in order that argument constraints be met).  Translators must
take care of such issues

douglas foxvog	  doug.foxvog@deri.org	 +353 (91) 495 150
Digital Enterprise Research Institute (DERI)
National University of Ireland, Galway
Galway, Ireland				http://www.deri.ie
Received on Thursday, 25 August 2005 10:41:01 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:16:23 GMT