- From: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Date: Wed, 9 Jun 2021 22:41:40 +0200
- To: public-n3-dev@w3.org
- Message-ID: <c9bb4e5f-0cef-e0af-3d3b-587f16bb54f1@ercim.eu>
On 09/06/2021 20:38, David Booth wrote:
> On 6/9/21 8:44 AM, William Van Woensel wrote:
>> Thanks Jos, I updated the N3 editor :-)
>>
>> I do have a question about these solutions:
>>
>> E.g.,
>>
>> tom a :Cat.
>> _:e_x_1 a :Cat.
>> :we :doubt {:tom a :Dog}.
>> :we :doubt
>> {<http://josd.github.io/.well-known/genid/b2nrBWsoaecgOIC7KXr1yViiq:k#e_x_1
>> <http://josd.github.io/.well-known/genid/b2nrBWsoaecgOIC7KXr1yViiq:k#e_x_1>>
>> a :Dog}.
>>
>> When treating the skolem-iri as a regular IRI, does this say that we
>> doubt that the thing "_:e_x_1", which we know is a Cat, is also a dog
>> (which is the goal, I think)?
>>
>> The RDF 1.1 mentions the following about skolem IRIs: "Systems may
>> wish to mint Skolem IRIs in such a way that they can recognize the
>> IRIs as having been introduced solely to replace blank nodes. This
>> allows a system to map IRIs back to blank nodes if needed."
>>
>> In the above case, should the system know that the skolem-iri
>> corresponds to the original blank node (and thus act accordingly)?
>> I.e., do both terms co-refer to the same resource? ..
>
> I don't think that line in the RDF 1.1 Semantics means that a Skolem
> IRI would be mappable back to the original blank node label. I always
> interpreted it to mean simply that Skokem IRIs could be mapped back to
> a fresh set of blank nodes.
>
> Even if a particular system did retain the original blank node label
> in the Skolem IRI (to enable it to be mapped back to the original
> blank node label), I think the system would be on very shaky ground to
> assume that the *current* blank node label _:e_x_1 is intended to
> refer to the *same* blank node from which the Skolem IRI was
> originally generated. I think the situation is analogous to loading
> two independent RDF files: the same blank node label appearing in both
> files should not be assumed to denote the same blank node, unless you
> have special information that clearly indicates that that is intended.
+1 to what David wrote.
The last line of the conclusion merely says "there is a thing (with a
funny name) that we doubt is a Dog.
That particular thing can not be traced back to being a Cat, which is
probably missing if we intend to explain the reasoning steps:
There exists a Cat
hence
let's pick one and name it <http...#e_x_1> (i.e.skolemization)
hence
<http...#e_x_1> is a Cat
hence
we doubt that <http...#e_x_1> is a Dog (per the rule)
So I guess I would vote to add
<http://josd.github.io/.well-known/genid/b2nrBWsoaecgOIC7KXr1yViiq:k#e_x_1>
a :Cat.
(in addition or in replacement of _:e_x_1 a :Cat )
in EYEs conclusion for this example.
>
> Thanks,
> David Booth
>
>>
>>
>> William
>>
>>
>> On 2021-06-08 1:54 p.m., Jos De Roo wrote:
>>> Ooops..
>>> The 3rd case should have been
>>>
>>> $ cat test3.n3
>>> @prefix : <https://example.org/ns/example#
>>> <https://example.org/ns/example#>> .
>>>
>>> :we :doubt { _:x a :Unicorn }.
>>> :we :doubt { :rex a :Unicorn }.
>>>
>>> @forAll :x.
>>> { :we :doubt { :x a :Unicorn } } => { :we :wish { :x a :Unicorn } }.
>>>
>>> $ eye --quiet --nope test3.n3 --pass 2> /dev/null
>>> PREFIX : <https://example.org/ns/example#
>>> <https://example.org/ns/example#>>
>>>
>>> :we :doubt
>>> {<http://josd.github.io/.well-known/genid/oiYDWzZAZyTTWrZsgJjysvBz7cY#e_x_1
>>> <http://josd.github.io/.well-known/genid/oiYDWzZAZyTTWrZsgJjysvBz7cY#e_x_1>>
>>> a :Unicorn}.
>>> :we :doubt {:rex a :Unicorn}.
>>> :we :wish
>>> {<http://josd.github.io/.well-known/genid/oiYDWzZAZyTTWrZsgJjysvBz7cY#e_x_1
>>> <http://josd.github.io/.well-known/genid/oiYDWzZAZyTTWrZsgJjysvBz7cY#e_x_1>>
>>> a :Unicorn}.
>>> :we :wish {:rex a :Unicorn}.
>>>
>>>
>>> There are also some more eye corrections (esp. for rule generating
>>> rules)
>>> and the latest release is now
>>> https://github.com/josd/eye/releases/tag/v21.0608.1647
>>> <https://github.com/josd/eye/releases/tag/v21.0608.1647>
>>>
>>> Jos
>>>
>>> -- https://josd.github.io/ <http://josd.github.io/>
>>>
>>>
>>> On Tue, Jun 8, 2021 at 3:06 PM Jos De Roo <josderoo@gmail.com
>>> <mailto:josderoo@gmail.com>> wrote:
>>>
>>> Thanks for the constructive meeting yesterday
>>> https://docs.google.com/document/d/1A3HAUhjaVnnJ6yVbFAvIBRJQjUY9aFlQ2_bGxkD0mnE/edit
>>> <https://docs.google.com/document/d/1A3HAUhjaVnnJ6yVbFAvIBRJQjUY9aFlQ2_bGxkD0mnE/edit>
>>> and ss discussed, I investigated the 3 test case
>>> http://ppr.cs.dal.ca:3002/n3/editor/s/BCjsuKDM
>>> <http://ppr.cs.dal.ca:3002/n3/editor/s/BCjsuKDM>
>>>
>>> http://ppr.cs.dal.ca:3002/n3/editor/s/c3BNl6HQ
>>> <http://ppr.cs.dal.ca:3002/n3/editor/s/c3BNl6HQ>
>>>
>>> http://ppr.cs.dal.ca:3002/n3/editor/s/36y4Kyvc
>>> <http://ppr.cs.dal.ca:3002/n3/editor/s/36y4Kyvc>
>>>
>>> and made corrections in the latest eye release
>>> https://github.com/josd/eye/releases/tag/v21.0608.1236
>>> <https://github.com/josd/eye/releases/tag/v21.0608.1236>
>>>
>>> In detail, the answers are now as follows:
>>>
>>> $ cat test1.n3
>>> Prefix : <https://example.org/ns/example#
>>> <https://example.org/ns/example#>>
>>>
>>> :tom a :Cat.
>>> _:x a :Cat.
>>>
>>> {?x a :Cat}=>{:we :doubt {?x a :Dog}}.
>>>
>>> $ eye --quiet --nope test1.n3 --pass 2> /dev/null
>>> PREFIX : <https://example.org/ns/example#
>>> <https://example.org/ns/example#>>
>>>
>>> :tom a :Cat.
>>> _:e_x_1 a :Cat.
>>> :we :doubt {:tom a :Dog}.
>>> :we :doubt
>>> {<http://josd.github.io/.well-known/genid/b2nrBWsoaecgOIC7KXr1yViiq:k#e_x_1
>>> <http://josd.github.io/.well-known/genid/b2nrBWsoaecgOIC7KXr1yViiq:k#e_x_1>>
>>> a :Dog}.
>>>
>>> $ cat test2.n3
>>> @prefix : <https://example.org/ns/example#
>>> <https://example.org/ns/example#>> .
>>>
>>> :we :doubt { _:x a :Unicorn }.
>>> :we :doubt { :rex a :Unicorn }.
>>>
>>> @forAll :x.
>>> { :we :doubt { :x a :Unicorn } } => { :we :like :x }.
>>>
>>> $ eye --quiet --nope test2.n3 --pass 2> /dev/null
>>> PREFIX : <https://example.org/ns/example#
>>> <https://example.org/ns/example#>>
>>>
>>> :we :doubt
>>> {<http://josd.github.io/.well-known/genid/Cq1oCASTEiQwLTKPixnecepqJCg#e_x_1
>>> <http://josd.github.io/.well-known/genid/Cq1oCASTEiQwLTKPixnecepqJCg#e_x_1>>
>>> a :Unicorn}.
>>> :we :doubt {:rex a :Unicorn}.
>>> :we :like _:e_x_1.
>>> :we :like :rex.
>>>
>>> $ cat test3.n3
>>> @prefix : <https://example.org/ns/example#
>>> <https://example.org/ns/example#>> .
>>>
>>> :we :doubt { _:x a :Unicorn }.
>>> :we :doubt { :rex a :Unicorn }.
>>>
>>> @forAll :x.
>>> { :we :doubt { :x a :Unicorn } } => { :we :like :x }.
>>>
>>> $ eye --quiet --nope test3.n3 --pass 2> /dev/null
>>> PREFIX : <https://example.org/ns/example#
>>> <https://example.org/ns/example#>>
>>>
>>> :we :doubt
>>> {<http://josd.github.io/.well-known/genid/3qFbvxHHHzcCfeYYMoDVFV79S5g#e_x_1
>>> <http://josd.github.io/.well-known/genid/3qFbvxHHHzcCfeYYMoDVFV79S5g#e_x_1>>
>>> a :Unicorn}.
>>> :we :doubt {:rex a :Unicorn}.
>>> :we :like _:e_x_1.
>>> :we :like :rex.
>>>
>>>
>>> PS William, if fine, could you install the latest eye
>>> https://github.com/josd/eye/releases/tag/v21.0608.1236
>>> <https://github.com/josd/eye/releases/tag/v21.0608.1236>
>>> at http://ppr.cs.dal.ca:3002/n3/editor/
>>> <http://ppr.cs.dal.ca:3002/n3/editor/>
>>> and BTw thanks for such a nice tool, it's really nice and useful!
>>>
>>> -- https://josd.github.io/ <http://josd.github.io/>
>>>
>
Received on Wednesday, 9 June 2021 20:42:02 UTC