Re: euler state of the art?

Dan Connolly wrote:
> Jos,
> 
> The version of Euler that produces swap/reason proofs...
> is that released?

Yes, Dan, it is released but it is the prolog version only that
produces swap/reason proofs. The latest euler release is at
http://eulersharp.sourceforge.net/2004/01swap/deployment/Euler.zip
To install it see http://eulersharp.sourceforge.net/README
The prolog that we use/test for the moment is YAP prolog
http://www.ncc.up.pt/~vsc/Yap/downloads.html
and what we did to install it is

[[
YAP on Linux
============
% cd ~
% tar xvzf Yap-5.1.1.tar.gz
% cd Yap-5.1.1
% ./configure --enable-coroutining --enable-depth-limit 
--enable-max-performance
% make
% make install

Yap on Cygwin
=============
cd Yap-5.1.1
dos2unix configure*
bash configure --enable-coroutining --enable-depth-limit 
--enable-max-performance --enable-cygwin=yes
make
make install
]]

The euler5 prolog version is best run as RESTfull webservice
(see again http://eulersharp.sourceforge.net/README)
as it needs the euler1 java version to do the N3->YAP


> I tried my euler install last night, and it's lightning
> fast, but it doesn't have all the built-ins I need.
> In particular, I added support for fn:resolve-uri
> and fn:tokenize from XQuery to cwm this week.

It is pretty straightforward to write builtins in euler.yap
http://eulersharp.sourceforge.net/2006/02swap/euler.yap
but I should study your builtins a little more..


> I also wonder if it would solve some performance
> problems we're having in the PAW project.
> 
> You did some work in python, yes? Is that working well?

Well, it worked well but was pretty incomplete w.r.t.
accepting N3 and for the moment that work is frozen at
http://eulersharp.sourceforge.net/2005/11swap/euler.py


> Or would you recommend the Java or C# version? or prolog?
> Or javascript?

For the moment the prolog version is the focus
and that is what we actually try to extend..


> I'm not sure what version of Euler I have:
> 
> $ ls -l ~/DIST/Euler.zip
> -rw-r--r-- 1 connolly www 500096 Oct 28
> 2005 /home/connolly/DIST/Euler.zip
> $ md5sum ~/DIST/Euler.zip
> 4b0ead19019581db237958ab96ad32be  /home/connolly/DIST/Euler.zip
> 
> I'm working on rules for GRDDL; see
> http://www.w3.org/2004/01/rdxh/spec
> http://www.w3.org/2004/01/rdxh/grddl-rules3.n3
> 
> cwm finds 3 solutions where Euler finds just 1...
> 
> connolly@dirk:/usr/local/src/euler$ CLASSPATH=bin/Euler.jar java
> euler.EulerRunner ~/w3ccvs/WWW/2004/01/rdxh/grddl-rules3.n3
> ~/w3ccvs/WWW/2004/01/rdxh/grddl-rule-tests.n3 --filter
> ~/w3ccvs/WWW/2004/01/rdxh/grddl-rule-goal.n3
> # Generated with http://eulersharp.sourceforge.net/ version 1.4.16 on 6
> Nov 2006 14:36:13 GMT
> @prefix log: <http://www.w3.org/2000/10/swap/log#>.
> @prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
> 
> (<file:/home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rules3.n3>!
> log:semantics
>  <file:/home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rule-tests.n3>!
> log:semantics
> </home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rule-goal.n3>!
> log:semantics)!log:conjunction e:constructs
> {
> @prefix str: <http://www.w3.org/2000/10/swap/string#>.
> @prefix w: <http://www.w3.org/2004/01/rdxh/grddl-rules#>.
> @prefix q: <http://www.w3.org/2004/ql#>.
> @prefix grddl: <http://www.w3.org/2003/g/data-view#>.
> @prefix dm: <http://www.w3.org/2000/10/swap/infoset/infoset-daml#>.
> @prefix list: <http://www.w3.org/2000/10/swap/list#>.
> @prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
> @prefix fn: <http://www.w3.org/2006/xpath-functions#>.
> @prefix :
> <file:/home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rule-tests#>.
> @prefix log: <http://www.w3.org/2000/10/swap/log#>.
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> @prefix dc: <http://purl.org/dc/elements/1.1/>.
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
> 
> 
> # Generated with http://eulersharp.sourceforge.net/ version 1.4.16 on 6
> Nov 2006 14:36:13 GMT
> @prefix log: <http://www.w3.org/2000/10/swap/log#>.
> @prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
> 
> (<file:/home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rules3.n3>!
> log:semantics
>  <file:/home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rule-tests.n3>!
> log:semantics
> </home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rule-goal.n3>!
> log:semantics)!log:conjunction e:constructs
> {
> @prefix str: <http://www.w3.org/2000/10/swap/string#>.
> @prefix w: <http://www.w3.org/2004/01/rdxh/grddl-rules#>.
> @prefix q: <http://www.w3.org/2004/ql#>.
> @prefix grddl: <http://www.w3.org/2003/g/data-view#>.
> @prefix dm: <http://www.w3.org/2000/10/swap/infoset/infoset-daml#>.
> @prefix list: <http://www.w3.org/2000/10/swap/list#>.
> @prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
> @prefix fn: <http://www.w3.org/2006/xpath-functions#>.
> @prefix :
> <file:/home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rule-tests#>.
> @prefix log: <http://www.w3.org/2000/10/swap/log#>.
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> @prefix dc: <http://purl.org/dc/elements/1.1/>.
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
> 
> {{<http://www.w3.org/2004/01/rdxh/p3q-ns-example> grddl:result
> {<http://www.w3.org/2004/01/rdxh/p3q-ns-example>
> grddl:namespaceTransformation
> <http://www.w3.org/2004/01/rdxh/grokP3Q.xsl>}} e:evidence
> <file:/home/connolly/w3ccvs/WWW/2004/01/rdxh/grddl-rule-tests.n3#_63>}
> e:sequent {
> {<http://www.w3.org/2004/01/rdxh/p3q-ns-example> grddl:result
> {<http://www.w3.org/2004/01/rdxh/p3q-ns-example>
> grddl:namespaceTransformation
> <http://www.w3.org/2004/01/rdxh/grokP3Q.xsl>}} e:evidence
> <http://www.w3.org/2002/07/owl#kb>}.
> 
> # Proof found in 16 steps (5315 steps/sec) using 1 engine (13 triples)
> }.
> 
> 
> # Proof found in 17 steps (2828 steps/sec) using 1 engine (13 triples)
> }.

I had a quick test of that with euler5 and there is indeed only 1
thing found; should study that too a little more..

wget -q -O- http://localhost/.euler5+
http%3A%2F%2Flocalhost%2F.euler%2B-prolog%2Bhttp%253A%252F%252Fwww.w3.org%252F2004%252F01%252Frdxh%252Fgrddl-rules3.n3%2Bhttp%253A%252F%252Fwww.w3.org%252F2004%252F01%252Frdxh%252Fgrddl-rule-tests.n3%2B-filter%2Bhttp%253A%252F%252Fwww.w3.org%252F2004%252F01%252Frdxh%252Fgrddl-rule-goal.n3

#Processed by Id: euler.yap,v 1.103 2006/11/04 17:46:40 josd Exp 

@prefix math: <http://www.w3.org/2000/10/swap/math#>.
@prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
@prefix list: <http://www.w3.org/2000/10/swap/list#>.
@prefix dm: <http://www.w3.org/2000/10/swap/infoset/infoset-daml#>.
@prefix q: <http://www.w3.org/2004/ql#>.
@prefix w: <http://www.w3.org/2004/01/rdxh/grddl-rules#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix r: <http://www.w3.org/2000/10/swap/reason#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix fn: <http://www.w3.org/2006/xpath-functions#>.
@prefix time: <http://www.w3.org/2000/10/swap/time#>.
@prefix grddl: <http://www.w3.org/2003/g/data-view#>.
@prefix : <http://www.w3.org/2004/01/rdxh/grddl-rule-tests#>.
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix var: <http://localhost/var#>.
@prefix str: <http://www.w3.org/2000/10/swap/string#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix n3: <http://www.w3.org/2004/06/rei#>.

[ a r:Proof, r:Conjunction;
  r:component [ a r:Inference; r:gives 
{<http://www.w3.org/2004/01/rdxh/p3q-ns-example> grddl:result 
{<http://www.w3.org/2004/01/rdxh/p3q-ns-example> 
grddl:namespaceTransformation 
<http://www.w3.org/2004/01/rdxh/grokP3Q.xsl>}}; r:evidence (
    [ a r:Extraction; r:gives 
{<http://www.w3.org/2004/01/rdxh/p3q-ns-example> grddl:result 
{<http://www.w3.org/2004/01/rdxh/p3q-ns-example> 
grddl:namespaceTransformation 
<http://www.w3.org/2004/01/rdxh/grokP3Q.xsl>}}; r:because [ a r:Parsing; 
r:source <http://www.w3.org/2004/01/rdxh/grddl-rule-tests.n3>]]);
    r:binding [ r:variable [ n3:uri "http://localhost/var#IR"]; r:boundTo 
<http://www.w3.org/2004/01/rdxh/p3q-ns-example>]; 
    r:binding [ r:variable [ n3:uri "http://localhost/var#G"]; r:boundTo 
{<http://www.w3.org/2004/01/rdxh/p3q-ns-example> 
grddl:namespaceTransformation 
<http://www.w3.org/2004/01/rdxh/grokP3Q.xsl>}]; 
    r:rule [ a r:Extraction; r:gives {@forAll var:IR,var:G. {var:IR 
grddl:result var:G} => {var:IR grddl:result var:G}. }; r:because [ a 
r:Parsing; r:source 
<http://www.w3.org/2004/01/rdxh/grddl-rule-goal.n3>]]];
  r:gives {
    <http://www.w3.org/2004/01/rdxh/p3q-ns-example> grddl:result 
{<http://www.w3.org/2004/01/rdxh/p3q-ns-example> 
grddl:namespaceTransformation 
<http://www.w3.org/2004/01/rdxh/grokP3Q.xsl>}.}].

#ENDS 0 msec.


-- 
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/

Received on Monday, 6 November 2006 17:52:31 UTC