EYE is a reasoning engine supporting the Semantic Web layers and implementing Notation3.
EYE performs forward and backward chaining along Euler paths. Forward chaining is applied for rules using => in Notation3 and backward chaining is applied for rules using <= in Notation3 which one can imagine as user defined built-ins. Euler paths are roughly "don't step in your own steps" which is inspired by what Leonhard Euler discovered in 1736 for the Königsberg Bridge Problem.
Install SWI-Prolog from http://www.swi-prolog.org/Download.html
Test the SWI-Prolog installation via command line swipl --version and it should return the installed version number.
Run the installation script install.sh [--prefix=Prefix]. The default prefix is /usr/local. This will
$prefix/lib/eye.pvm$prefix/bin/eyeTest the EYE installation via command line eye --version and it should return the version which is in the file VERSION.
Create a test Notation3 file. We use the file socrates.n3 as example:
$ cat socrates.n3
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix : <http://example.org/socrates#>.
:Socrates a :Human.
:Human rdfs:subClassOf :Mortal.
{
?S a ?A .
?A rdfs:subClassOf ?B .
}
=>
{
?S a ?B .
} .
Run the EYE reasoner without proof explanation, in quiet mode and passing all deductive closures to the output:
$ eye --nope --quiet --pass socrates.n3
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix : <http://example.org/socrates#>.
:Socrates a :Human.
:Socrates a :Mortal.
:Human rdfs:subClassOf :Mortal.
Verborgh, R. , De Roo, J. : Drawing Conclusions from Linked Data on the Web: The EYE Reasoner. IEEE Software (2015) Online Version