- From: Michael Hausenblas <michael.hausenblas@deri.org>
- Date: Tue, 14 Jun 2011 14:24:29 +0100
- To: Enrico Franconi <franconi@inf.unibz.it>
- Cc: W3C RDB2RDF <public-rdb2rdf-wg@w3.org>
> "Proposal EF-1: Exactly. EF-*1* ... sorry, my mind reading skills are not yet fully developed. 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 14:07, Enrico Franconi wrote: > > On 14 Jun 2011, at 13:51, Michael Hausenblas wrote: > >> >>> The proposal says that the DM is not applicable to RDBs with NULL >>> values. >> >> I didn't see your proposal, yet. > > uh? From the wiki: > "Proposal EF-1: If a relational database contains NULL values, then > the direct mapping is not applicable. This case is postponed for > consideration to a future WG." > > cheers > --e. > > >> >>> 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 13:24:58 UTC