- From: Jos De Roo <josderoo@gmail.com>
- Date: Tue, 25 Jan 2022 12:20:46 +0100
- To: Doerthe Arndt <doerthe.arndt@tu-dresden.de>
- Cc: William Van Woensel <william.vanwoensel@gmail.com>, Pierre-Antoine Champin <pierre-antoine@w3.org>, Gregg Kellogg <gregg@greggkellogg.net>, "public-n3-dev@w3.org" <public-n3-dev@w3.org>
- Message-ID: <CAJbsTZeQUf6PbhdWXtSYR+8amtU=SeoFwrR8MTCTvsL3kkHBWg@mail.gmail.com>
Dear Doerthe, Forgot to point to a concrete example http://ppr.cs.dal.ca:3002/n3/editor/s/IT3znjsL Here the log: namespace is (mis)used instead of the e: namespace. Both Cwm and Eye agree again. Kind regards, Jos -- https://josd.github.io On Tue, Jan 25, 2022 at 11:56 AM Jos De Roo <josderoo@gmail.com> wrote: > Dear Doerthe, > > Agreed and a while ago I did some experiments in which the variables > in quoted graphs were replaced by either > (e:existential ?X) > or > (e:universal ?X) > and then using rules like you also suggested to transform that into > regular data N3 data/rules/queries. > > It is also quite close to Pierre-Antoine's proposal of one variable type. > The scope of those variables is the so-called statement level. > > It actually worked quite well. > > Kind regards, > Jos > > -- https://josd.github.io > > > On Tue, Jan 25, 2022 at 10:46 AM Doerthe Arndt < > doerthe.arndt@tu-dresden.de> wrote: > >> Dear Jos, >> >> I was too fast in the previous mail. There is one example where cwm and >> Eye differ: http://ppr.cs.dal.ca:3002/n3/editor/s/okGlsqyV >> >> But that does not change the message from the previous mail. >> >> Kind regards, >> Dörthe >> >> >> Am 25.01.2022 um 10:38 schrieb Arndt, Dörthe <doerthe.arndt@tu-dresden.de >> >: >> >> Dear Jos, >> >> Thank you for sharing. To complete your example, I also added universal >> quantification: http://ppr.cs.dal.ca:3002/n3/editor/s/IWXT3bhG >> The reasoners still both do the same. >> >> I think that from a logical point of view, some of these derivations are >> problematic. But I also better understand, why you would be against fully >> introducing explicit quantification. That would require us to make a whole >> theory how reasoning works for the cases mentioned and then to also >> implement it accordingly which most likely will never be done since there >> are not that many use cases which really require that complexity. >> >> My proposal was thus more to have some kind of notation for example for >> proofs with which we can only do further derivation if we express that >> structure in the rules. Maybe there is a third option between skolem iris >> and explicit quantification with only minimal support which I am not seeing >> (yet)? >> >> Kind regards >> Dörthe >> >> >> >> Am 25.01.2022 um 01:10 schrieb Jos De Roo <josderoo@gmail.com>: >> >> Dear Doerthe, >> >> I was curious how your 5 examples currently fare with cwm and eye >> and they both give the same results! Yes, the same results! >> >> You can try it at http://ppr.cs.dal.ca:3002/n3/editor/s/tR5T9red >> >> So there is a state of the art with explicit quantification and I was >> not expecting that cwm and eye were so close here. >> >> Jos >> >> -- https://josd.github.io >> >> >> On Mon, Jan 24, 2022 at 11:21 PM Doerthe Arndt < >> doerthe.arndt@tu-dresden.de> wrote: >> >>> Dear all, >>> >>> After our meeting today I thought about explicit quantification and can >>> say that I actually like the idea to have it in N3 as some kind of >>> annotation which has no meaning for the reasoning except that it is a kind >>> of pattern. My vision here is that we would have a variable namespace >>> which can be combined with quantifiers. Whenever a cited graph contains a >>> quantifier, we simply disallow unification with the triples in that graph >>> unless we also have the quantifier. So, if we come back to my example: >>> >>> :bob :smurfs { @forSome :X. :X a :Unicorn. }. >>> >>> { ?y :smurfs { @forSome :X. :X a :Unicorn } } => { ?y a :NaivePerson }. >>> >>> Should result in :bob a :NaivePerson. but >>> >>> :bob :smurfs { @forSome :X. :X a :Unicorn. }. >>> >>> { ?y :smurfs { _:x a :Unicorn } } => { ?y a :NaivePerson }. >>> >>> should not. >>> >>> Of course, things could get more complicated here: >>> >>> :bob :smurfs { @forSome :X. :X a :Unicorn. }. >>> >>> { ?y :smurfs ?g. ?g log:includes {?x a :Unicorn} } => { ?y a >>> :NaivePerson }. >>> >>> Should not fire, but what about >>> >>> :bob :smurfs { @forSome :X. :X a :Unicorn. :Unicorn a :MagicalCreature }. >>> >>> { ?y :smurfs ?g. ?g log:includes {?x a :MagicalCreature } } => { ?y a >>> :NaivePerson }. >>> >>> So, here we would have to agree and either decide that the moment that >>> there is a quantifier involved in the graph, we stay away and do not match >>> anything, we could use the name-space to know when not to match or we make >>> a more fine-grained theory about scopes (but here we can really get into >>> the problems, Jos mentioned). An example: >>> >>> :bob :smurfs { @forSome :X. :X a :Unicorn. :X :says {:sokrates a >>> :Person} }. >>> >>> { ?y :smurfs ?g. ?g log:includes {?x :says {:sokrates a :Person} } } => >>> { ?y a :NaivePerson }. >>> >>> Here, we see that the namspace alone can’t be a reason to allow or >>> disallow a unification. We would need some concept to express, when a >>> triple is scoped, and this theory could indeed get complicated. >>> >>> (So,I see your concerns here, Jos.) >>> >>> So, why do I even propose that kind of pattern? The answer is that I >>> like that we would have some way to express the patterns which go >>> beyond our logic which is limited to implicit quantification without >>> loosing the possibility to involve them to our theory. We could then >>> explicitly define our reasoning calculus which only allows implicit >>> quantification and provide rules to support more sophisticated theories. We >>> cannot express that by only having constants because then there would be no >>> way of blocking unification. >>> >>> My ideas are not really thought through yet (it cn perfectly be that I >>> change my mind next week, also depending on your comments ;) ). But I >>> wanted to elaborate why (for now), it seems to be an interesting idea to me. >>> >>> Kind regards >>> Dörthe >>> >> >> >>
Received on Tuesday, 25 January 2022 11:22:12 UTC