EYE

Eye command line arguments and flags

This is an introduction into the command line arguments and flags that can be provided to the EYE reasoner.

Running the EYE reasoner requires at least two inputs:

and optional:

Both the data and query arguments can be command line arguments or flags.

Data arguments/flags

Each data input should be one of:

or, one of the more advanced inputs:

Data inputs can be repeated. For instance, to provide a local and a remote N3 input and one Turtle input one can pass as command line arguments:

eye mydata.n3 http://somewhere.org/remote.n3 --turtle file1.ttl

Query flags

The eye command in the example above doesn't provide any output. Query flags need to be added to create a result output.

The query flags should be one of:

or, one of the more advanced queries:

Using one of the flags above these are all valid EYE commands:

eye mydata.n3 http://somewhere.org/remote.n3 --turtle file1.ttl --pass

eye mydata.n3 http://somewhere.org/remote.n3 --turtle file1.ttl --pass-all

eye mydata.n3 http://somewhere.org/remote.n3 --turtle file1.ttl --pass-only-new

eye mydata.n3 http://somewhere.org/remote.n3 --query filter1.n3

eye mydata.n3 http://somewhere.org/remote.n3 --query filter1.n3 --query filter2.n3

Options

These are the most important options that can be provided in every EYE reasoner run:

Flags that influence the processing of N3 rules:

Full example

eye --nope --quiet \
    mydata.n3 http://somewhere.org/remote.n3 --turtle file1.ttl --pass

eye --nope --quiet --restricted \
    mydata.n3 http://somewhere.org/remote.n3 --query filter1.n3

Image

Use the --image option to create a specialized reasoner with a hard coded context:

# Turn all *.n3 files into a `test.pvm` image
eye --nope --quiet --image test.pvm *.n3

Run the image on new data:

swipl -x test.pvm --nope --quiet --pass newdata.n3

Stack limits

When processing a very large knowledge base the reasoner can reach the 1 GB stack limit. Two options are available to increase this stack limit.

Build an eye image with a larger stack limit

In install.sh on the line that starts with swipl change this into:

swipl --stack-limit=4G

for a 4 GB stack limit. Rerun the ./install.sh to create a new eye image.

Run eye from source

swipl --stack-limit=4G -f ~/github.com/eyereasoner/eye/eye.pl -g main -- "$@"

where "$@" can be replaced with the usual eye options and arguments.