Experimental e:find built-in to deal with rule premis order dependency issue

As we discussed yesterday in in our weekly meeting, there is a rule premis
order dependency issue for e;findall
I added an experimental e:find built-in in the latest EYE
https://github.com/josd/eye/releases/tag/v21.1123.1419
Now if William could do the upgrade,
http://ppr.cs.dal.ca:3002/n3/editor/s/9QSUihGF
should work fine and give
[[
:tom :colorList (:grey).
:garfield :colorList (:red).
:silvester :colorList (:black :white).
:garfield :colorList2 (:red).
:silvester :colorList2 (:black :white).
:tom :colorList2 (:grey).
]]

See the difference between e:find and e:findall at
http://eulersharp.sourceforge.net/2003/03swap/log-rules.html#find
[[

e:find a rdf:Property <http://www.w3.org/1999/02/22-rdf-syntax-ns>,
e:Builtin <http://eulersharp.sourceforge.net/2003/03swap/log-rules.html#Builtin>;
    rdfs:comment <http://www.w3.org/2000/01/rdf-schema> """built-in
used as ?SCOPE e:find (?SELECT ?WHERE ?ANSWER).
            within the subject ?SCOPE it unifies ?ANSWER with a list
that contains all the instantiations of ?SELECT satisfying the ?WHERE
clause
            it binds the free variables in ?WHERE except those that
occur in ?SELECT""";
    rdfs:domain <http://www.w3.org/2000/01/rdf-schema> e:Scope
<http://eulersharp.sourceforge.net/2003/03swap/log-rules.html#Scope>;
    rdfs:range <http://www.w3.org/2000/01/rdf-schema> rdf:List
<http://www.w3.org/1999/02/22-rdf-syntax-ns>.
e:findall a rdf:Property <http://www.w3.org/1999/02/22-rdf-syntax-ns>,
e:Builtin <http://eulersharp.sourceforge.net/2003/03swap/log-rules.html#Builtin>;
    rdfs:comment <http://www.w3.org/2000/01/rdf-schema> """built-in
used as ?SCOPE e:findall (?SELECT ?WHERE ?ANSWER).
            within the subject ?SCOPE it unifies ?ANSWER with a list
that contains all the instantiations of ?SELECT satisfying the ?WHERE
clause
            it is not binding the free variables in ?WHERE""";
    rdfs:domain <http://www.w3.org/2000/01/rdf-schema> e:Scope
<http://eulersharp.sourceforge.net/2003/03swap/log-rules.html#Scope>;
    rdfs:range <http://www.w3.org/2000/01/rdf-schema> rdf:List
<http://www.w3.org/1999/02/22-rdf-syntax-ns>.

]]

Jos

-- https://josd.github.io

Received on Tuesday, 23 November 2021 14:45:13 UTC