diff --git a/RELEASE b/RELEASE index 561372d5b..c6d7cd18e 100644 --- a/RELEASE +++ b/RELEASE @@ -1,5 +1,6 @@ EYE release +v5.0.0 (2023-10-03) scope of blank nodes is graph term for N3 and explicit for RDF Surfaces v4.18.7 (2023-10-02) refresh is now coherentlogic v4.18.6 (2023-10-01) fixing trigger for refresh v4.18.5 (2023-10-01) supporting premis disjunction for refresh diff --git a/VERSION b/VERSION index 6d26451a2..0062ac971 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.18.7 +5.0.0 diff --git a/eye.pl b/eye.pl index e3d8da545..214a120a4 100644 --- a/eye.pl +++ b/eye.pl @@ -21,7 +21,7 @@ :- use_module(library(pcre)). :- catch(use_module(library(http/http_open)), _, true). -version_info('EYE v4.18.7 (2023-10-02)'). +version_info('EYE v5.0.0 (2023-10-03)'). license_info('MIT License @@ -1460,9 +1460,9 @@ -> assertz(flag(coherentlogic)) ; true ), - ( \+flag(rdfsurfaces), - functor(Rt, F, _), - regex('^<.*#on.*Surface>$', F, _) + ( functor(Rt, F, _), + regex('^<.*#on.*Surface>$', F, _), + \+flag(rdfsurfaces) -> assertz(flag(rdfsurfaces)) ; true ), @@ -1970,10 +1970,6 @@ A =.. [C|D], tr_tr(D, E), ( regex('^\'<.*#on.*Surface>\'$', C, _), - ( \+flag(rdfsurfaces) - -> assertz(flag(rdfsurfaces)) - ; true - ), E = [V, G], is_list(V), is_graph(G), @@ -2520,7 +2516,13 @@ propertylist(Subject, Triples) --> verb(Item, Triples1), - { prolog_verb(Item, Verb) + { prolog_verb(Item, Verb), + ( atomic(Verb), + regex('^\'<.*#on.*Surface>\'$', Verb, _), + \+flag(rdfsurfaces) + -> assertz(flag(rdfsurfaces)) + ; true + ) }, object(Object, Triples2), { ( Verb = isof(Vrb) @@ -2684,14 +2686,29 @@ }. symbol(Name) --> [bnode(Lbl)], - { atom_codes(Lbl, LblCodes), - subst([[[0'-], [0'_, 0'M, 0'I, 0'N, 0'U, 0'S, 0'_]], [[0'.], [0'_, 0'D, 0'O, 0'T, 0'_]]], LblCodes, LblTidy), - atom_codes(Label, LblTidy), - ( evar(Label, S, 0) - -> true - ; atom_concat(Label, '_', M), - gensym(M, S), - assertz(evar(Label, S, 0)) + { ( flag(rdfsurfaces) + -> atom_codes(Lbl, LblCodes), + subst([[[0'-], [0'_, 0'M, 0'I, 0'N, 0'U, 0'S, 0'_]], [[0'.], [0'_, 0'D, 0'O, 0'T, 0'_]]], LblCodes, LblTidy), + atom_codes(Label, LblTidy), + ( evar(Label, S, 0) + -> true + ; atom_concat(Label, '_', M), + gensym(M, S), + assertz(evar(Label, S, 0)) + ) + ; nb_getval(fdepth, D), + ( D =:= 0 + -> Label = Lbl + ; atom_codes(Lbl, LblCodes), + subst([[[0'-], [0'_, 0'M, 0'I, 0'N, 0'U, 0'S, 0'_]], [[0'.], [0'_, 0'D, 0'O, 0'T, 0'_]]], LblCodes, LblTidy), + atom_codes(Label, LblTidy) + ), + ( evar(Label, S, D) + -> true + ; atom_concat(Label, '_', M), + gensym(M, S), + assertz(evar(Label, S, D)) + ) ), ( ( nb_getval(entail_mode, false), nb_getval(fdepth, 0) diff --git a/eye.zip b/eye.zip index 6010343b7..8621a96c2 100644 Binary files a/eye.zip and b/eye.zip differ diff --git a/reasoning/bi/biA.n3 b/reasoning/bi/biA.n3 index 311ee6cc3..cd0a46d4d 100644 --- a/reasoning/bi/biA.n3 +++ b/reasoning/bi/biA.n3 @@ -492,12 +492,12 @@ { { log:semantics { - :a :b _:e_c_2. + :a :b _:e_c_14. }. { - :a :b _:e_c_2. + :a :b _:e_c_14. } log:equalTo { - :a :b _:e_c_2. + :a :b _:e_c_14. }. } => { :loges3 :result true. @@ -663,12 +663,12 @@ { { log:semantics { - :a :b _:e_c_2. + :a :b _:e_c_14. }. { - :a :b _:e_c_2. + :a :b _:e_c_14. } log:includes { - :a :b _:e_c_2. + :a :b _:e_c_14. }. } => { :logis3 :result true. @@ -791,10 +791,10 @@ { { log:semantics { - :a :b _:e_c_2. + :a :b _:e_c_14. }. { - :a :b _:e_c_2. + :a :b _:e_c_14. } log:notIncludes { :a :b :c. }. @@ -805,13 +805,13 @@ { { log:semantics { - :a :b _:e_c_2. + :a :b _:e_c_14. }. log:semantics { :a :b :c. }. { - :a :b _:e_c_2. + :a :b _:e_c_14. } log:notIncludes { :a :b :c. }. diff --git a/reasoning/blogic/version.n3s.out b/reasoning/blogic/version.n3s.out index bcdf820e3..a9893ec69 100644 --- a/reasoning/blogic/version.n3s.out +++ b/reasoning/blogic/version.n3s.out @@ -1,3 +1,3 @@ @prefix log: . -() log:version "EYE v4.18.7 (2023-10-02)". +() log:version "EYE v5.0.0 (2023-10-03)". diff --git a/reasoning/iq/iqA.n3 b/reasoning/iq/iqA.n3 index f2298396b..1a636fe2e 100644 --- a/reasoning/iq/iqA.n3 +++ b/reasoning/iq/iqA.n3 @@ -1,7 +1,7 @@ @prefix : . _:e_x_1 :says { - _:e_x_1 :knows :Albert. + _:e_x_3 :knows :Albert. }. :s :p :o. :s :pp { @@ -10,7 +10,7 @@ _:e_x_1 :says { { ?U_0 :knows :Albert. } => { - ?U_0 :knows :Kurt. + :knows :Kurt. }. { :e :p :a.