W3C home > Mailing lists > Public > www-rdf-interest@w3.org > February 2002

Re: new cwm release

From: Sandro Hawke <sandro@w3.org>
Date: Fri, 22 Feb 2002 15:11:11 -0500
Message-Id: <200202222011.g1MKBB203783@wadimousa.hawke.org>
To: "Tim Berners-Lee" <timbl@w3.org>
cc: "Norman Walsh" <ndw@nwalsh.com>, www-rdf-interest@w3.org, "Dan Connolly" <connolly@w3.org>

> (I need to clone it in C or machine code, but that's another matter)

Cwm is somewhat similar to a prolog interpeter, and that's an area for
optimization which has been heavily mined.  I wrote experimental
(prolog) code to translate some cwm code into prolog [1], but it only
worked with log:forAll, log:implies, and log:Truth; and only acted
like cwm in "-think" mode.  It also did not attempt an
optimal-performance mapping to prolog.  At the time, I had trouble
finding rulesets on which people needed speed; it sounds like that
situation has changed.

It seems to my inexpert eye that cwm has these functional components:

  1.  Parse RDF (REC-rdf-syntax-19990222), n3, ntriples
  2.  Generate (pretty-print) RDF (REC-rdf-syntax-19990222), n3, ntriples
  3.  Flatten (encode n3 formulas in an RDF graph; has been broken for ages)
  4.  Reify (broken)
  5.  Apply/Rules/Think, do logical inference
  6.  Filter/Purge, use the logic language as a kind of query language

(There is some overlap in 3/4 and 5/6.)   5 and 6 are presumably the
interesting/slow bits here.

The logic language itself has been evolving as Tim experiments.  I'd
love to know how different people (Tim, users) feel about the
different parts -- it would allow other implementations of the
language to track it better.

Personally, I'd like to see separate programs for 1+3 (reader), 2
(writer), 4 (reifier), 5 (thinker), and 6 (questioner).  (I imagine
the programs piping N-Triples or maybe RDF/XML between them.)  That
would make life easier for parallel development and for tracking the
evolution of the different components. 

What do you think?

    -- sandro

[1] http://www.w3.org/2001/04/pl/semweb.P
Received on Friday, 22 February 2002 15:14:51 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:53 GMT