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

Hi Pierre-Antoine,

Am 12.07.2022 um 13:02 schrieb Pierre-Antoine Champin <pierre-antoine@w3.org<mailto:pierre-antoine@w3.org>>:


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...


We actually discussed exactly that example (remember that you constructed something similar before and we discussed that it won’t terminate because it keeps doing derivations?).

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... :-/


It actually does produce :god :knows { :a :b :c }. If we assume that { :a :b :c } is part of our terms. In that sense, god will know everything which is expressible in our language, i.e. all possible sets of triples which can be put into quoted graphs.
This example is of rather theoretical nature, since forward-rules like the one you give above will not terminate. If we did the example backwards like

 :a :b :c.
  { :god :knows ?x } <=   ?x .

And a query { :god :knows { :a :b :c }.}=>{ :god :knows { :a :b :c }.}.

 We should get :god :knows { :a :b :c }.

But that is currently not the case in the online version of the editor.

Kind regards,
Dörthe


  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<https://josd.github.io/>


On Fri, Jul 8, 2022 at 4:29 PM William Van Woensel <william.vanwoensel@gmail.com<mailto: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
<OpenPGP_0x9D1EDAEEEF98D438.asc>

Received on Tuesday, 12 July 2022 11:22:09 UTC