Re: Agenda for June 14 Telcon - Revision 1

* Enrico Franconi <franconi@inf.unibz.it> [2011-06-14 16:58+0200]
> 
> 
> On 14 Jun 2011, at 15:19, Eric Prud'hommeaux <eric@w3.org> wrote:
> 
> > Not making assertions *is* the standard RDF way of dealing with missing information. There is no rdf:NULL. 
> 
> I guess we all know that.
> 
> > We don't know or care about the difference between NULL and a non-existent value
> 
> You don't care, but in SQL there is a huge difference. As a matter of fact in SQL you can model both and they would behave in different ways. And the data we are talking about does come from SQL RDBs.

Please provide an example grounded in real-world data of a database which conveys this distinction and a query which respects it.


> > (nor does SQL, for that matter).
> 
> FALSE. I already argued that SQL can represent both absence of information (in the same way as your DM: new pseudo-binary property plus a foreign key as the rsf:type) and NULL values with their peculiar distinct semantics and behaviour.

SELECT company FROM Contacts WHERE name="Sue" does NOT respect the difference between NULL and no value.

> > Given a relation R with a attributes, compose a query:
> >  "SELECT " + ("?" + a₁) … + ("?" + aₐ)
> > + "WHERE { _:s a <" + R + ">"
> > + "          ; <" + R + "#" + a₁ + "> ?" + a₁
> > + "          ; <" + R + "#" + aₐ + "> ?" + aₐ
> > + "      }"
> > 
> > Conctacts Example:
> >  Table:              SPARQL Query:                           Result:
> > ┌┤Contacts├──────┐  SELECT ?name ?company                    ┌────────────────┐
> > │ name │ company │  WHERE { _:s a <Contacts>                 │  who │ company │
> > ├──────┼─────────┤            ; <Contacts#name> ?name        ├──────┼─────────┤
> > │  Bob │   BobCo │            ; <Contacts#company ?company   │  Bob │   BobCo │
> > │  Sue │    NULL │        }                                  │  Sue │ UNBOUND │
> > └──────┴─────────┘                                           └──────┴─────────┘
> > 
> > No information is lost. NULL is no longer spelled "NULL", but instead as a lack of a binding. Applications using SPARQL interpret this lack of a binding the same way applications using SQL interpret NULL.
> 
> As I said several times, this confuses the presence of a NULL value with the absence of any value. So this can not be a general solution.

Hopefully, answering my above request for an example will clarify your point here.

> --e.

-- 
-ericP

Received on Tuesday, 14 June 2011 15:21:11 UTC