Jos De Roo

Webeye

Webeye is doing webized reasoning via forward and backward chaining. It participates in dialogues leading to necessary and sufficient answers, supported by proof steps, so that action can take place.

Webized reasoning

Webeye is using ISO Prolog notation:

TERM Examples
IRI 'http://example.org/etc#Socrates'
VARIABLE X _abc
LITERAL "abc" 1.52 1e-18 pi dt("2022-01-15",'http://www.w3.org/2001/XMLSchema#date')
LIST [TERM,...] [TERM,...\|LIST]
TRIPLE IRI(TERM,TERM)
GRAPH TRIPLE,...
CLAUSE Examples
ASSERTION TRIPLE. true => GRAPH.
FORWARD_RULE GRAPH => GRAPH.
QUERY GRAPH => true.
ANSWER GRAPH => true.
INFERENCE_FUSE GRAPH => false.
BACKWARD_RULE TRIPLE :- GRAPH,PROLOG.

Webeye performs forward chaining for a FORWARD_RULE and backward chaining for a BACKWARD_RULE.

Queries are posed and answered as GRAPH => true. so the answers are also queries be it with some parts substituted and eventually containing more variables than in the original query. This forms a dialogue leading to necessary and sufficient answers, supported by proof steps, so that action can take place.

Installation and test

Tau Prolog

Install Node.js and then

$ npm install tau-prolog
$ ./test-tau

Scryer Prolog

Install Rust and Scryer Prolog and then

$ ./test-scryer

Trealla Prolog

Install Trealla Prolog and then

$ ./test-trealla

Background