Re: Proposal and Test cases (Re: skolems: visible differences?)

On 17 Jan 2008, at 11:15, Jeremy Carroll wrote:

> [Bijan - there is a part I would be interested in your response,  
> some of the way down - labelled [[Bijan]] ]

Ok. We agreed on the top bit anyway.

> Michael Schneider wrote:
[snip]
>> Jeremy Carroll wrote:
>> Ok, this is actually how I understand skolems. And this is also  
>> the way how
>> I would best understand the term "anonymous variable". So for me,  
>> this means
>> (at the moment) that anonymous variables are properly represented by
>> skolems.
>> However: Using bNodes for this purpose is *very* confusing for me,  
>> and I
>> don't believe that it really matches user expectations (from the user
>> expectation's point of view, this is no big progress compared to  
>> seeing
>> bNodes as existentials, IMHO).
>
>
> [[Bijan]]
> I really don't get the 'user expectation' argument.

You mean Michael's? I thought it was based on his misunderstanding of  
how bnodes work.

Basically, he thought they worked the way "_" does in prolog, when in  
fact they work like "_SomeIdentifier", with the scope being graphs  
rather than clauses.

And I agree that if sameAs(_:y, _:y) were not necessarily true that  
the user who is me would certainly be confuse :)

> I don't see a single test case in which a 'user expectation' of a  
> blank node acting as an 'anonymous resource' (i.e. like a resource  
> named with a URI, but without a name), is misleading.

I completely agree. Personally, I think the potential for confusion  
lies in the essentially plural nature of the RDF semantics which  
isn't visible *inside* a graph UNLESS you are considering redundancy.

I.e., we all know that the graph written as:
	:s :p :o.
	:s :p :o.

Contains no more information than the graph written as:
	:s :p :o.

because they are notational variants of the very same graph. (note,  
this can sometimes be surprising, in the way someone might be  
surprised that "01"^^xsd:int and "1"^^xsd:int are the same...but it's  
more surprising, I'd warrent to think of them as different because  
they have different lexical values).

However, it's no so obvious that:
	:s :p :o.
	_:x :p :o.

contains no more information than:
	:s :p :o.

The "contains no more information" part is tricky, because,  
obviously, in a sense, that's not true if we consider intended  
meaning or behavior under certain kinds of update, etc. But that's  
true for the first as well (the repetition in the serialization might  
indicate empahsis, etc.)

> The formal semantics of bnodes as existentials is intended to  
> capture appropriate user expectations for anonymous resources in a  
> formally compelling way.

I think it does in some ways and doesn't for others and on balance it  
doesn't. Furthermore such variables have far reaching consquences  
both formally (e.g., on the data complexity of RDFS; undecidability  
of OWL DL+ cyclic bnode patterns; what sorts of entailments occur)  
and for users (e.g., uninitiated and uservetted leaning would be  
regarded as very bad; adding redundant triples for padding would be  
as well).

> The one place where user expectations will be regularly undermined  
> is in the lack of a unique names assumption - but that has nothing  
> to do with whether the nodes are blank (i.e. locally scoped names)  
> or labelled with URIs (i.e. globally scoped names).
[snip]
Well, it's *one* place. Users are sometimes surprised by lack of CWA  
(especially with counting), etc. etc.?

My Summary: Michael had a minor brain fart (which is alas  
surprisingly easy to do in these circumstances) and Jeremy and I have  
a shared understanding.

Cheers,
Bijan.

Received on Thursday, 17 January 2008 12:33:13 UTC