Re: working with Skolem IRIs

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.

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 18:39:23 UTC