Re: new cwm release

>> (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
>  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?

well Sandro, I can follow that
we don't have a lot of thoughts w.r.t. parsing
it's more in the area of mechanisms such as
  o unification (substitutions, unifiers)
  o resolution algorithm
  o backtracking
  o box trace model
  o Euler path detection
  o "existential introduction rule" generation (w.r.t. RDF bNodes)
  o unification of variable predicates

I really think that N3 can be used to formulate
theories and theorems (queries),
proof-arguments and proof-checks
(which could be even used as *executable*)
all via the Semantic Web Bus
(just think and write the code)

Jos De Roo

Received on Friday, 22 February 2002 17:51:09 UTC