Re: ?x => {...} rules (Re: N3 meeting - 12 pm (EDT) Monday 11 July)

That looks indeed mysterious at first sight  😱
However the premise of

{ { :god :knows { :god :knows { :a :b :c } } } } => { :test :fail 2 }.

is containing a single term

{ :god :knows { :god :knows { :a :b :c } } }

and not a basic graph pattern like

:god :knows { :god :knows { :a :b :c } }

A single term is simply discarded so the rule is like

{} =>  { :test :fail 2 }.

What a relief 🤯

Kind regards,
Jos

-- https://josd.github.io


On Tue, Jul 12, 2022 at 1:10 PM Pierre-Antoine Champin <
pierre-antoine@w3.org> wrote:

> Oh, and I noticed a strange behavior of EYE (which predates Jos's last
> patch):
>
>     http://ppr.cs.dal.ca:3002/n3/editor/s/LRjeoZwZ
>
> The second test fails, meaning that the following is derived:
>
>     :god :knows { :god :knows { :a :b :c } }.
>
> despite the fact that simpler sentences are not.
>
>   pa
>
> PS: I know that God works in mysterious ways, but still!
> Ok, that joke is out of the way, we can discuss ;-)
> On 12/07/2022 13:02, Pierre-Antoine Champin wrote:
>
> Great, thanks Jos.
>
> I just realized, however, that the example
>
>     ?x => { :a :b :c }
>
> could be made much more evil:
>
>     ?x => { :god :knows ?x }.
>
> (an inverted "simon says" example, if you like).
>
> Dörthe, I am not sure whether we discussed this one or not...
> It seems to me that this one would generate an infinite number of triples,
> namely:
>     :god :knows {}.
>     :god :knows { :god :knows {} }.
>     :god :knows { :god :knows { :god :knows {} } }.
>     # and so on...
>
> However, contrarily to one might expect, it does not necessarily implies
> that god know everything that is true. E.g., in the current semantics,
>
>     :a :b :c.
>     ?x => { :god :knows ?x }.
>
> does not entail, in my (possibly faulty) opinion
>
>     :god :knows { :a :b :c }.
>
> I am not quite comfortable with this... :-/
>
>   pa
> On 11/07/2022 22:31, Jos De Roo wrote:
>
> As discussed in the meeting today
> https://docs.google.com/document/d/1A3HAUhjaVnnJ6yVbFAvIBRJQjUY9aFlQ2_bGxkD0mnE/edit#
> EYE now supports the list:setEqualTo and list:setNotEqualTo built-ins and
> the tests below all succeed:
>
> @prefix list: <http://www.w3.org/2000/10/swap/list#>.
> @prefix : <http://example.org/test#>.
>
> #:s :p :o.
> #?x => {:a :b :c}.
>
> {(:alice :bob :charlie) list:setEqualTo (:bob :charlie :alice)} => {:test1
> a :OK}.
> {(:alice :bob :charlie) list:setEqualTo (:alice :bob :charlie :alice)} =>
> {:test2 a :OK}.
> {(:alice :bob :charlie ?X) list:setEqualTo (:alice ?Y :bob :charlie)} =>
> {:test3 a :OK}.
> {(:alice :bob :charlie :dan) list:setNotEqualTo (:eve :bob :charlie
> :alice)} => {:test4 a :OK}.
> {(:alice :bob :charlie ?X) list:setNotEqualTo (:alice ?Y :bob :charlie
> ?Z)} => {:test5 a :OK}.
>
> Re the semantics discussion, it is now also the case that the rule
>
> ?x => {:a :b :c}.
>
> always gives
>
> :a :b :c.
>
> William, it would be nice if you could install the latest EYE
> https://github.com/josd/eye/releases/tag/v22.0711.1846
> on your http://ppr.cs.dal.ca:3002/n3/editor/ or wherever you prefer ;-)
>
> Thanks for the constructive meeting today!
>
> Kind regards,
> Jos
>
> -- https://josd.github.io
>
>
> On Fri, Jul 8, 2022 at 4:29 PM William Van Woensel <
> william.vanwoensel@gmail.com> wrote:
>
>> Hello everyone,
>>
>> The next N3-dev community meeting will take place Monday 11 July at 12:00
>> noon EDT (check your timezone
>> <https://www.timeanddate.com/worldclock/fixedtime.html?msg=Weekly+N3+WG+Skype+meeting&iso=20220711T12&p1=43&ah=1>).
>> Barring exceptional circumstances, this is the regular time for meetings.
>> Please join the Skype group <https://join.skype.com/aRBuOasYurPd> if you
>> haven’t already!
>>
>> You can find the proposed agenda (discussion topics), and prior meeting
>> notes, on the Google Doc
>> <https://docs.google.com/document/d/1A3HAUhjaVnnJ6yVbFAvIBRJQjUY9aFlQ2_bGxkD0mnE/edit?usp=sharing>
>> .
>>
>>
>> Kind regards,
>>
>> William
>>
>

Received on Tuesday, 12 July 2022 12:56:35 UTC