- From: Michael Hausenblas <michael.hausenblas@deri.org>
- Date: Tue, 14 Jun 2011 12:51:27 +0100
- To: Enrico Franconi <franconi@inf.unibz.it>
- Cc: W3C RDB2RDF <public-rdb2rdf-wg@w3.org>
> The proposal says that the DM is not applicable to RDBs with NULL
> values.
I didn't see your proposal, yet.
> Don't restart all the discussion again.
Please let's not go there. As a WG co-chair it is my responsibility to
ensure progress. If you don't like that, you're more than welcome to
take over my position, I'll happily resign.
Cheers,
Michael
--
Dr. Michael Hausenblas, Research Fellow
LiDRC - Linked Data Research Centre
DERI - Digital Enterprise Research Institute
NUIG - National University of Ireland, Galway
Ireland, Europe
Tel. +353 91 495730
http://linkeddata.deri.ie/
http://sw-app.org/about.html
On 14 Jun 2011, at 12:44, Enrico Franconi wrote:
> NO.
> The proposal says that the DM is not applicable to RDBs with NULL
> values.
> Don't restart all the discussion again.
>
> On 14 Jun 2011, at 13:37, Michael Hausenblas <michael.hausenblas@deri.org
> > wrote:
>
>>
>>> Fair enough. If you believe so, then the proposal should be the
>>> one where we give up on NULL values, since it is the only one
>>> where there is no technical disagreement in the WG :-)
>>
>> OK. So here is the proposal:
>>
>> [[
>> PROPOSAL: To resolve ISSUE-42, the Direct Mapping will include
>> triples representing the relational schema and will omit triples
>> for NULL values.
>> ]]
>>
>>
>> Cheers,
>> Michael
>> --
>> Dr. Michael Hausenblas, Research Fellow
>> LiDRC - Linked Data Research Centre
>> DERI - Digital Enterprise Research Institute
>> NUIG - National University of Ireland, Galway
>> Ireland, Europe
>> Tel. +353 91 495730
>> http://linkeddata.deri.ie/
>> http://sw-app.org/about.html
>>
>> On 14 Jun 2011, at 12:24, Enrico Franconi wrote:
>>
>>> On 14 Jun 2011, at 13:17, Michael Hausenblas <michael.hausenblas@deri.org
>>> > wrote:
>>>
>>>>
>>>>> In the wiki I came up explicitly with 3 alternative concrete
>>>>> wordings; please look at them.
>>>>
>>>>
>>>> Looked at them. I need one (1) not three (3).
>>>>
>>>>
>>>>> What I can not do is to solve the open technical problem for the
>>>>> representation with missing NULLs, since it is hard and complex.
>>>>
>>>> That's also my understanding. Hence we can't normatively spec
>>>> something where even the scientific part is not solved.
>>>
>>> Fair enough. If you believe so, then the proposal should be the
>>> one where we give up on NULL values, since it is the only one
>>> where there is no technical disagreement in the WG :-)
>>> I argued that also the proposal with materialised NULLs is
>>> technically sound, but not everybody in the WG believes so.
>>> --e.
>>>
>>>
>>>>
>>>> Cheers,
>>>> Michael
>>>> --
>>>> Dr. Michael Hausenblas, Research Fellow
>>>> LiDRC - Linked Data Research Centre
>>>> DERI - Digital Enterprise Research Institute
>>>> NUIG - National University of Ireland, Galway
>>>> Ireland, Europe
>>>> Tel. +353 91 495730
>>>> http://linkeddata.deri.ie/
>>>> http://sw-app.org/about.html
>>>>
>>>> On 14 Jun 2011, at 12:15, Enrico Franconi wrote:
>>>>
>>>>> In the wiki I came up explicitly with 3 alternative concrete
>>>>> wordings; please look at them.
>>>>> What I can not do is to solve the open technical problem for the
>>>>> representation with missing NULLs, since it is hard and complex.
>>>>> The proposers of this representation should come up with an
>>>>> answer to this question, so to support their argument. Otherwise
>>>>> only my proposals can stand.
>>>>>
>>>>> On 14 Jun 2011, at 13:07, Michael Hausenblas <michael.hausenblas@deri.org
>>>>> > wrote:
>>>>>
>>>>>>
>>>>>>> It is ages I'm asking to this WG how to rebuild the correct
>>>>>>> answers with explicit NULLs from your representation
>>>>>>
>>>>>> This is, IMO, the core of the problem. You're asking rather
>>>>>> than coming up with a concrete wording for the proposal.
>>>>>>
>>>>>> Please, for the sake of getting this issue closed and meeting
>>>>>> the September deadline for LC: Enrico, can you draft a concrete
>>>>>> wording such as:
>>>>>>
>>>>>>
>>>>>> [[
>>>>>> PROPOSAL: To resolve ISSUE-42, ...
>>>>>> ]]
>>>>>>
>>>>>>
>>>>>> that we can discuss and hopefully resolve today?
>>>>>>
>>>>>> If we fail to get this done today I'm inclined to change the
>>>>>> overall timeline because we have a lot of more issues to
>>>>>> resolve and simply can not afford it to discuss one single
>>>>>> issue (no matter how important it is) till the cows come home.
>>>>>>
>>>>>> This is not a scientific beauty context. We're writing a spec,
>>>>>> for heavens sake.
>>>>>>
>>>>>> Cheers,
>>>>>> Michael
>>>>>> --
>>>>>> Dr. Michael Hausenblas, Research Fellow
>>>>>> LiDRC - Linked Data Research Centre
>>>>>> DERI - Digital Enterprise Research Institute
>>>>>> NUIG - National University of Ireland, Galway
>>>>>> Ireland, Europe
>>>>>> Tel. +353 91 495730
>>>>>> http://linkeddata.deri.ie/
>>>>>> http://sw-app.org/about.html
>>>>>>
>>>>>> On 14 Jun 2011, at 11:44, Enrico Franconi wrote:
>>>>>>
>>>>>>> On 13 Jun 2011, at 23:16, Eric Prud'hommeaux wrote:
>>>>>>>
>>>>>>>> There is a fundamental difference between SPARQL and SQL
>>>>>>>> users in that SQL users either prohibit a query from
>>>>>>>> answering with NULLs:
>>>>>>>> SELECT name, company
>>>>>>>> ┌────────────────┐
>>>>>>>> FROM Conctacts │ name │ company │
>>>>>>>> WHERE name="Sue"
>>>>>>>> ├──────┼─────────┤
>>>>>>>> AND company IS NOT NULL
>>>>>>>> └──────┴─────────┘
>>>>>>>> or they write in some application code to skip over the
>>>>>>>> NULLs, or, pretty commonly, the UI paints an empty string and
>>>>>>>> the interface user has to guess whether it's was a NULL or a
>>>>>>>> company named "". The intent of the query in this example was
>>>>>>>> clearly to get the names of the companies which Sue
>>>>>>>> represents, for wich neither NULL nor r2rml:NULL nor "" are
>>>>>>>> acceptable answers.
>>>>>>>
>>>>>>> I claim that you can filter out NULLs, exactly like you would
>>>>>>> do in SQL. On which ground do you claim that applications
>>>>>>> built on top of RDF data are different from applications built
>>>>>>> on top a RDB wrt the usage of NULLs? I don't see any evidence
>>>>>>> that there is such a radical difference to justify your non-
>>>>>>> standard way in dealing with standard NULLs.
>>>>>>>
>>>>>>>> At any rate, I was just arguing that given a tension between
>>>>>>>> putting burden on the query author to incorporate
>>>>>>>> <code>FILTER (?company != r2rml:NULL)</code> into the above
>>>>>>>> query, vs. requiring the person who wants to see the NULL to
>>>>>>>> know the schema:
>>>>>>>>
>>>>>>>> ┌────────────────┐
>>>>>>>> SELECT * │ who
>>>>>>>> │ company │
>>>>>>>> WHERE { ?who <Conctacts#name> "Sue"
>>>>>>>> ├──────┼─────────┤
>>>>>>>> OPTIONAL { ?who <Conctacts#company> ?company } } │ Sue
>>>>>>>> │ UNBOUND │
>>>>>>>>
>>>>>>>> └──────┴─────────┘
>>>>>>>> , I *think* the rest of the WG is in favor of the the latter
>>>>>>>> (hence the claim of rough concensus).
>>>>>>>
>>>>>>> No, this doesn't work, since you would confuse the answer with
>>>>>>> a NULL value with the answer with a non existing value. So,
>>>>>>> the above query doesn't do the job you are declaring. It is
>>>>>>> ages I'm asking to this WG how to rebuild the correct answers
>>>>>>> with explicit NULLs from your representation (even with the
>>>>>>> schema). To no avail.
>>>>>>> So, please tell me explicitly how do you get the right answer
>>>>>>> in the above case, with all the details (how the schema is
>>>>>>> used, how do you distinguish the missing value with the NULL
>>>>>>> value, how this can be applied mechanically to general
>>>>>>> queries, etc).
>>>>>>>
>>>>>>>>> That's why I am saying "This mapping for NULL values is
>>>>>>>>> arbitrary since the WG has left unexplored its relationship
>>>>>>>>> with the original meaning and behaviour of NULL values in
>>>>>>>>> the source RDB."
>>>>>>>
>>>>>>> I can repeat that :-)
>>>>>>>
>>>>>>>>> What I am asking you since ages is to go through my three
>>>>>>>>> examples and see how your proposal would actually encode the
>>>>>>>>> answers, and show how this would lead to a generic recipe.
>>>>>>>
>>>>>>> This request still stands.
>>>>>>>
>>>>>>>>> My argument is that this will most likely be possible, but
>>>>>>>>> that it will be overly complex since it will necessarily
>>>>>>>>> require the ability to recognise whether a missing value is
>>>>>>>>> a NULL or not (also in the answer set!).
>>>>>>>
>>>>>>> Let's see your answer to my question in bold above.
>>>>>>>
>>>>>>>>> Clearly, by having explicit NULL values this problem is
>>>>>>>>> avoided. Moreover, you can easily switch the the absent-NULL
>>>>>>>>> representation by just filtering all the tuples with NULL
>>>>>>>>> values in one simple shot.
>>>>>>>>
>>>>>>>> In <http://www.w3.org/2001/sw/rdb2rdf/wiki/RDBNullValues#Comments_and_Proposal_by_Enrico
>>>>>>>> >, you asked how to discriminate between the direct graphs of
>>>>>>>> ┌┤R├────────┐ and ┌┤R'├┐
>>>>>>>> │ ID │ A │ │ ID │
>>>>>>>> ├────┼──────┤ ├────┤
>>>>>>>> │ 1 │ NULL │ │ 1 │
>>>>>>>> └────┴──────┘ └────┘
>>>>>>>> , but we do that by knowing the schema so the question
>>>>>>>> doesn't help us learn what is a reasonable mapping.
>>>>>>>
>>>>>>> This is too vague: "we do that by knowing the schema". As I
>>>>>>> said above, please tell how do you proceed explicitly.
>>>>>>>
>>>>>>>> I instead propose that you ask questions of the
>>>>>>>> ┤Conctacts├ database above and show how, even knowing the
>>>>>>>> schema, the direct graph doesn't give you reallistic access
>>>>>>>> to information. Remember, this isn't a database interchance
>>>>>>>> language, but instead a way to give RDF users an useful view
>>>>>>>> of relational data.
>>>>>>>
>>>>>>> I don't understand this point :-(
>>>>>>>
>>>>>>> cheers
>>>>>>> --e.
>>>>>>>
>>>>>>
>>>>
>>
Received on Tuesday, 14 June 2011 11:51:59 UTC