$Id: README 3167 2009-11-16 10:50:26Z josd $ Euler is an inference engine supporting logic based proofs. It is a backward-chaining reasoner enhanced with Euler path detection. It has implementations in Java, C#, Python, Javascript and Prolog. Via N3 it is interoperable with W3C Cwm. Installation of Euler --------------------- When you use SVN see http://sourceforge.net/svn/?group_id=77046 and checkout modules 2004/01swap, 2005/11swap and 2006/02swap in EULER_SVNDIR Stable file releases of the eulersharp package can be downloaded from http://sourceforge.net/project/showfiles.php?group_id=77046 or the latest version can be downloaded from http://eulersharp.sourceforge.net/2004/01swap/deployment/Euler.zip and extract the downloaded file to EULER_INSTALLDIR. Just running Euler via command line ----------------------------------- Current engine Eye - Euler Yap engine Install Yap platform plus wget network utility and make sure that both are in the PATH environment variable For Windows there is a self extracting executable including yap and wget (run and add C:\Progra~1\Eye\bin to the PATH). Usage: eye <options>* <data>* <query> eye yap -l euler.yap -g main -- java -cp Euler.jar euler.Eye [--ttl <time to live in msec>] [--path <yap path>] <options> --nope no proof explanation --no-branch no branch engine --no-blank no blank nodes in output --quiet incomplete e:falseModel explanation --quick do not prove all e:falseModel --think generate e:consistentGives --step <count> set maximimum step count (default 500000) --plugin <yap_resource> plugin yap_resource --debug output debug info --profile output profile info --version show version info --help show help info <data> <n3_resource> --trules <n3_resource> <query> --query <n3_resource> --tquery <n3_resource> --pass Aternative engines EyeS - Euler Yap engine for SWI-Prolog Install SWI-Prolog platform and make sure that plcon is in the PATH environment variable Usage: eyes <options>* <data>* <query> eyes plcon -q -g [eyes],main -- java -cp Euler.jar euler.Eyes [--ttl <time to live in msec>] <options> --nope no proof explanation --no-branch no branch engine --no-blank no blank nodes in output --quiet incomplete e:falseModel explanation --quick do not prove all e:falseModel --think generate e:consistentGives --step <count> set maximimum step count (default 500000) --debug output debug info --version show version info --help show help info <data> <n3_resource> --trules <n3_resource> <query> --query <n3_resource> --tquery <n3_resource> --pass EyeJ - Euler Yap engine for JLog Usage: java -cp Euler.jar euler.ProofEngine <options>* <data>* <query> <options> --nope no proof explanation --no-branch no branch engine --quiet incomplete e:falseModel explanation --quick do not prove all e:falseModel --think generate e:consistentGives --help show help info <data> <n3_resource> --trules <n3_resource> <query> --query <n3_resource> --tquery <n3_resource> --pass Previous engines Euler Java version: install JVM platform and either add EULER_SVNDIR/2004/01swap/bin/Euler.jar or EULER_INSTALLDIR/bin/Euler.jar to the CLASSPATH Some additional jar files might be required in the CLASSPATH o RDF/XML support requires JENA_INSTALLDIR/lib jar files o XSD support requires http://eulersharp.sourceforge.net/2004/01swap/lib/xercesImpl.jar o SQLite support requires http://eulersharp.sourceforge.net/2004/01swap/lib/sqlitejdbc-v053.jar Usage: java euler.EulerRunner <options> [--rules|--trules] uris --query|--tquery uri options: --prolog translate to prolog --prolog-bchain translate to prolog backchain-only --sem translate to SEM --sql translate to SQL --pass pass-thru the N3 --json translate to JSON --prover9 translate to prover9 --nope no proof explanation --nobe no belief explanation --nefq no ex falso quodlibet --think give all solutions --step count maximum number of reasoning steps --debug output debug info via stderr --trace output trace info via stderr --test output test run --test-as output test run as service --profile enable profiling --help show help Euler2 C# version: install .NET platform and either add EULER_SVNDIR/2004/01swap/bin/Release/Euler.exe or EULER_INSTALLDIR/bin/Release/Euler.exe to the PATH Usage: mono Euler.exe [--step count] [--debug] [--trace] uris [--nope] [--think] --query uri Euler3 Python version: install Python platform Start Codd webizer service as described in "Just running Euler via RESTfull webservice" Usage: java euler.EulerRunner --pass --test-as [--why] [--once] [--debug] uris --query uri Euler4 Javascript version: install Javascript platform Start Codd webizer service as described in "Just running Euler via RESTfull webservice" Usage: java euler.EulerRunner --json --test-as uris --query uri Euler5 SWI-Prolog version: install SWI-Prolog platform For Windows add SWI_INSTALLDIR\pl\bin to PATH environment variable For Linux sudo ln -s /usr/local/bin/pl /usr/local/bin/plcon Start Codd webizer service as described in "Just running Euler via RESTfull webservice" Usage: java euler.EulerRunner --prolog|--prolog-bchain|--sem --test-as [--nope] [--nobe] [--nefq] [--rules|--trules] uris --query|--tquery uri Just running Euler via RESTfull webservice ------------------------------------------ This is done as "webized command line" so same steps as above and start the Codd webizer in EULER_DATADIR as java euler.Codd --chatty 0 is the default and use up to 99 to get more debug info --port 80 is the default and check when the webizer starts with e.g. 20 Oct 2006 19:18:07 GMT http://yourhost.yourdomain:80/ Codd 1.5.34 --properties ./codd.properties is the default and check its contents The configuration is done in EULER_DATADIR/codd.properties like for instance http://eulersharp.sourceforge.net/2004/01swap/codd.properties Following examples work as mapped services o http://localhost/medService?WHO=Ann o http://localhost/medic?why=think or as straight webized command lines o http://localhost/.cwm+http%3A%2F%2Fwww.agfa.com%2Fw3c%2Feuler%2FmedP.n3+http%3A%2F%2Fwww.agfa.com%2Fw3c%2Feuler%2Frpo-rules.n3+-think+-filter%3Dhttp%3A%2F%2Fwww.agfa.com%2Fw3c%2Feuler%2FmedF.n3+-why o http://localhost/.euler5as+--prolog+http%3A%2F%2Fwww.agfa.com%2Fw3c%2Feuler%2Fmedic.n3+--query+http%3A%2F%2Fwww.agfa.com%2Fw3c%2Feuler%2FmedicF.n3 For all the tests run via Codd.java which uses Process.java to wrap Yap, Cwm, SWI-Prolog, prover9, etc. To the external world it is then also a primitive webservice (a URI standing for a set of N3 triples).