- From: Dan Connolly <connolly@w3.org>
- Date: Mon, 25 Sep 2006 17:52:38 -0500
- To: public-cwm-talk@w3.org
Consider swap/test/lists/list_include.n3 , which I just checked in: { { bob likes (apple banana) } log:includes { bob likes [ rdf:first apple] } } => { thisTest a Pass }. Cwm does conclude thisTest a Pass. Jos, does Euler? I'm working on some code to explore N3 abstract syntax http://www.w3.org/2000/10/swap/n3absyn.py It uses RDFStore.load() to read a formula (so it groks both RDF/XML and N3) and converts it to a JSON datastructure; i.e. something just using strings, integers, lists, and dictionaries. It can then print it out as a lisp s-expression suitable for use with ACL2 (see notes on my visit with the ACL2 folks http://dig.csail.mit.edu/breadcrumbs/node/160 ) and just today I added support for the design being kicked around in the RIF WG. http://lists.w3.org/Archives/Public/public-rif-wg/2006Sep/0073.html In both cases, I had to decide whether N3 list syntax is - short-hand notation for a bunch of existential variables and first/rest triples - a first-class part of N3 abstract syntax In both cases, I chose the latter. This means that this formula: bob likes [ rdf:first apple; rdf:rest nil ]. is a different formula from this formula: bob likes ( apple ). cwm parses those two the same, but the parts of the list_include.n3 rule are distinct. It seems that log:includes does more than just RDF simple entailment; it also does some sort of "list entailment"; i.e. it has rules sorta like this built in: { ?L = (?X ?Y) } => { ?L rdf:first ?X } I think the way this is implemented is that rdf:first is registered as a built-in, and log:includes does built-ins, right? Weird... no... I get :sumNotIncluded a :Pass when I add these tests: { { bob eats peas } log:includes { (1 1) math:sum 2 } } => { includesDoesBuiltinsTest a Pass }. { { bob eats peas } log:notIncludes { (1 1) math:sum 2 } } => { sumNotIncluded a Pass }. -- Dan Connolly, W3C http://www.w3.org/People/Connolly/ D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E
Received on Monday, 25 September 2006 22:52:45 UTC