This version is OBSOLETED.
Please see new version.
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 EYE_HOME. See also INSTALL. Just running Euler via command line ----------------------------------- Current engine EYE - Euler Yet another proof Engine Get the self contained Euler.jar or get the jar file from the maven repository. This jar file includes a 32 bit version of YAP for Windows and Linux and for any other usage install YAP + SWI-Prolog + wget network utility and make sure that they are in the PATH environment variable. Usage: eye <options>* <data>* <query>* eye java -jar Euler.jar[--no-install] [--swipl] [--yap] swipl -q -f euler.yap -g main -- yap -q -f euler.yap -g main -- <options> --nope no proof explanation --no-branch no branch engine --no-blank no blank nodes in output --no-qvars no quantified variables in output --no-qnames no qnames in output --no-span no span control --quiet incomplete e:falseModel explanation --quick-false do not prove all e:falseModel --quick-possible do not prove all e:possibleModel --quick-answer do not prove all answers --think generate all proof paths --ances generate e:ancestorModel --step <count> set maximimum step count --wcache <uri> <file> to tell that uri is cached as file --tmp-file <file> temporary file used by N3 Socket --wget-path <path> the path followed by wget --ignore-syntax-error do not halt in case of syntax error --n3p output N3 P-code --image <file> output PVM code --strings output log:outputString objects --warn output warning info --debug output debug info --debug-cnt output debug info about counters --debug-pvm output debug info about PVM code --profile output profile info --statistics output statistics info --version show version info --license show license info --help show help info <data> <n3_resource> N3 facts and rules --turtle <ttl_resource> Turtle data --plugin <n3p_resource> plugin N3 P-code <query> --query <n3_resource> output filtered with filter rules --pass output deductive closure --pass-all output deductive closure plus rules Previous engines Euler Java version: install JVM platform and either add EULER_SVNDIR/2004/01swap/bin/Euler.jar or EYE_HOME/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 o JSON support requires http://eulersharp.sourceforge.net/2004/01swap/lib/json.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 EYE_HOME/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 (the subdirectory that will be web exposed) 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).