15:43:51 RRSAgent has joined #RDB2RDF 15:43:51 logging to http://www.w3.org/2012/04/24-RDB2RDF-irc 15:43:53 RRSAgent, make logs world 15:43:53 Zakim has joined #RDB2RDF 15:43:55 Zakim, this will be 7322733 15:43:55 ok, trackbot; I see SW_RDB2RDF()12:00PM scheduled to start in 17 minutes 15:43:56 Meeting: RDB2RDF Working Group Teleconference 15:43:56 Date: 24 April 2012 15:44:11 Agenda: http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2012Apr/0024.html 15:44:15 Chair: Michael 15:44:27 scribenick: mhausenblas 15:44:35 RRSAgent, draft minutes 15:44:35 I have made the request to generate http://www.w3.org/2012/04/24-RDB2RDF-minutes.html mhausenblas 15:44:41 RRSAgent, make logs public 15:46:08 regrets+ Ivan 15:46:15 present+ Michael 15:46:22 present+ Richard 15:57:53 Ashok has joined #rdb2rdf 15:58:25 SW_RDB2RDF()12:00PM has now started 15:58:32 +mhausenblas 15:59:02 +Ashok_Malhotra 15:59:13 cygri has joined #rdb2rdf 15:59:16 present+ Ashok 15:59:22 boris has joined #rdb2rdf 15:59:31 scribenick: Ashok 15:59:41 Zakim, cygri is with me 15:59:41 +cygri; got it 16:00:35 +??P2 16:00:45 zakim, ??P2 is me 16:00:45 +boris; got it 16:01:00 joerg has joined #RDB2RDF 16:01:04 present+ Boris 16:01:09 Zakm, who's here? 16:01:12 +[OpenLink] 16:01:15 Zakim, who's here? 16:01:15 On the phone I see mhausenblas, Ashok_Malhotra, boris, [OpenLink] 16:01:16 On IRC I see joerg, boris, cygri, Ashok, Zakim, RRSAgent, mhausenblas, MacTed, betehess, iv_an_ru_, trackbot, ericP 16:01:16 mhausenblas has mhausenblas, cygri 16:01:21 present+ Ted 16:01:25 Zakim, [OpenLink] is temporarily me 16:01:25 +MacTed; got it 16:01:46 +??P12 16:01:54 nunolopes has joined #rdb2rdf 16:02:07 Zakim, nunolopes is with me 16:02:07 +nunolopes; got it 16:02:10 joerg joined 16:02:27 dmcneil has joined #RDB2RDF 16:02:28 Zakim, ??P12 is joerg 16:02:28 +joerg; got it 16:02:34 present+ Joerg 16:02:54 + +1.314.395.aaaa 16:03:06 Topic: Minutes of last meeting 16:03:12 Zakim, aaaa is dmcneil 16:03:12 +dmcneil; got it 16:03:17 present+ David 16:03:22 Zakim, who's here? 16:03:22 On the phone I see mhausenblas, Ashok_Malhotra, boris, MacTed, joerg, dmcneil 16:03:24 On IRC I see dmcneil, nunolopes, joerg, boris, cygri, Ashok, Zakim, RRSAgent, mhausenblas, MacTed, betehess, iv_an_ru_, trackbot, ericP 16:03:24 mhausenblas has mhausenblas, cygri, nunolopes 16:03:40 RRSAgent, draft minutes 16:03:40 I have made the request to generate http://www.w3.org/2012/04/24-RDB2RDF-minutes.html mhausenblas 16:03:51 PROPOSAL: Accept the minutes of last meeting http://www.w3.org/2012/04/03-RDB2RDF-minutes.html 16:04:03 +1 16:04:09 Minutes approved without objection 16:04:28 juansequeda has joined #rdb2rdf 16:04:57 ericP are you gonna join us? 16:05:01 + +575737aabb 16:05:07 Zakim, aabb is me 16:05:07 +juansequeda; got it 16:05:23 present+ Juan 16:05:28 present+ Marcelo 16:05:44 Topic: Implementation feedback 16:06:32 q+ 16:06:45 ack cygri 16:07:07 + DM cannot be implemented as an R2RML mapping http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2012Apr/0021.html 16:07:08 + XSD mapping for binary columns http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2012Apr/0020.html 16:07:09 + implementability for tables w/o primary key http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2012Apr/0019.html 16:07:10 + using non-existing column in mapping http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2012Apr/0018.html 16:07:11 + Unnamed columns in rr:sqlQuery http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2012Apr/0017.html 16:07:30 Richard: There is an issue about lang nodes identifiers ... 16:07:49 Zakim, who is on the phone 16:07:49 I don't understand 'who is on the phone', juansequeda 16:07:55 s/is/is also/ 16:07:59 Zakim, who's here? 16:07:59 On the phone I see mhausenblas, Ashok_Malhotra, boris, MacTed, joerg, dmcneil, juansequeda 16:08:02 On IRC I see juansequeda, dmcneil, nunolopes, joerg, boris, cygri, Ashok, Zakim, RRSAgent, mhausenblas, MacTed, betehess, iv_an_ru_, trackbot, ericP 16:08:02 mhausenblas has mhausenblas, cygri, nunolopes 16:08:11 RRSAgent, draft minutes 16:08:11 I have made the request to generate http://www.w3.org/2012/04/24-RDB2RDF-minutes.html mhausenblas 16:08:23 +EricP 16:08:26 q+ 16:08:32 present+ Nuno 16:08:50 q? 16:09:01 seema has joined #rdb2rdf 16:09:01 s/lang/blank/ 16:09:48 +Souri 16:09:56 present+ Souri 16:10:06 present+ Eric 16:10:10 Souri has joined #rdb2rdf 16:10:13 + +1.603.897.aacc 16:10:15 http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2012Apr/0019.html 16:10:17 RRSAgent, draft minutes 16:10:17 I have made the request to generate http://www.w3.org/2012/04/24-RDB2RDF-minutes.html mhausenblas 16:10:22 + implementability for tables w/o primary key http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2012Apr/0019.html 16:10:23 "DM: implementability for tables w/o primary key" 16:10:31 Zakim, aacc is seema 16:10:31 +seema; got it 16:10:39 present+ Seema 16:10:42 RRSAgent, draft minutes 16:10:42 I have made the request to generate http://www.w3.org/2012/04/24-RDB2RDF-minutes.html mhausenblas 16:11:08 Zakim, who's here? 16:11:08 On the phone I see mhausenblas, Ashok_Malhotra, boris, MacTed, joerg, dmcneil, juansequeda, EricP, Souri, seema 16:11:11 On IRC I see Souri, seema, juansequeda, dmcneil, nunolopes, joerg, boris, cygri, Ashok, Zakim, RRSAgent, mhausenblas, MacTed, betehess, iv_an_ru_, trackbot, ericP 16:11:11 mhausenblas has mhausenblas, cygri, nunolopes 16:12:13 q? 16:12:47 Richard: The multiple blank nodes cannot be told apart in queries, etc. 16:12:55 q+ 16:13:16 ack MacTed 16:13:20 ack ericP 16:13:21 q? 16:15:44 q+ 16:16:50 Example: two rows in a single table T1: R1 => , R2 => 16:16:53 SELECT * { ?s ?p ?o } 16:18:21 T1 16:18:34 , 16:20:06 SELECT ROWID AS s, "T1/borrower" AS p, borrower AS o FROM T1 UNION SELECT ROWID AS s, "T1/amount" AS p, amount AS o 16:20:49 ROWNUM ? 16:21:03 ack Ashok 16:21:05 q? 16:21:16 ROWNUM works in this simple case but not in more complex ones AFAIK 16:21:47 q+ 16:22:19 ack MacTed 16:22:28 Ashok: can you write an appropriate SPARQL query? Translating to SQL is not part of our spec. 16:22:46 s/can/Can/ 16:25:06 Richard: The fact that the nodes are indistinguishable is a problem ... this will show up in programming language 16:25:19 Ted: That is a schema problem 16:25:32 q+ to ask if this is the correct DM based generated triples: _:b1 ex:borrower ex:John ; ex:amount 10 . _:b2 ex:borrower ex:John ; ex:amount 10 . 16:25:48 Souri, you are correct 16:26:13 q+ to ask Richard what is his proposal? 16:26:29 ack Souri 16:26:29 Souri, you wanted to ask if this is the correct DM based generated triples: _:b1 ex:borrower ex:John ; ex:amount 10 . _:b2 ex:borrower ex:John ; ex:amount 10 . 16:26:30 q? 16:26:31 souri, yes! 16:26:46 Richard: The translation from SPARQL to SQL cannot be done 16:26:55 it needs to be distinct in order to be query preserving. Otherwise, you couldn't do aggregation 16:27:58 Richard: I would recommend we relax the requirement and implementations can add identifying information 16:28:05 q+ 16:28:46 ack juansequeda 16:28:46 juansequeda, you wanted to ask Richard what is his proposal? and to 16:28:47 q? 16:29:43 Juan: You would lose query preservation 16:33:07 q+ 16:33:23 Richard: You should generate a blank node for each row or a blank node for each set of unique values 16:33:44 Unless I am mistaken, unique key of a row could be NULL 16:33:49 q? 16:34:04 zakim, ack me 16:34:04 I see no one on the speaker queue 16:34:05 Q+ 16:34:21 ack Ashok 16:34:59 q+ 16:35:18 ack Souri 16:35:37 Ashok: Isn't this a real corner case 16:36:34 Souri: Problem is we are crossing row boundaries 16:36:34 Michael: I tend to agree. It seems like a corner case to me as well. This just means we've experienced a limitation of our specs during CR. 16:36:36 q+ to say you can always fall back to materializing for this case 16:36:57 ericP, doesn't help you with Jena 16:37:24 Michael: If we can agree on corner case, we should discuss what would need to happen that we isolate this (add warning, remove TC, etc.) 16:37:26 q? 16:37:45 could you propose an API invocation to address? 16:37:47 seems like you could also use "count" in SQL to see how many duplicates there are 16:38:05 ack ericP 16:38:05 ericP, you wanted to say you can always fall back to materializing for this case 16:38:06 q+ to ask Souri how to write that view in Core SQL 2008 16:39:35 PROPOSAL: If you have a db that has a table that does not have a primary key, we recommend to materialize the RDF 16:40:19 juansequeda, -1. the only tables without PKs that I see in practice are gigantic ones, like log tables. 16:40:33 -1 to dropping the test case 16:40:33 +1 to warning "RDB data with these characteristics cannot be (usefully) dynamically (direct) mapped; materiliazation (replication + transformation) is recommended." 16:40:49 +1 to MacTed 16:41:00 s/materiliazation/materialization/ 16:41:10 q? 16:41:11 Michael: We need to decide if this is a corner case and can be isolated or we change the spec 16:42:53 q? 16:43:47 or they are inefficient in that case, which may well be acceptable 16:44:31 q+ 16:45:01 PROPOSAL: "if the table has no primary key, the row node is a blank node. whether this blank node is identical to other blank nodes is undefined." 16:45:25 ack cygri 16:45:25 cygri, you wanted to ask Souri how to write that view in Core SQL 2008 16:45:32 Richard, where would you put those words? 16:45:51 suppose the T1 table is large and i want to not fully materialize 16:45:51 SELECT ?owes { ?s "Bob" ; ?owes } => 16:45:51 SELECT borrower AS p, amount AS o FROM T1 WHERE borrower="Bob" then add the bnodes and a type triple for each of those bnodes 16:46:12 you only process the selected rows 16:46:24 ack MacTed 16:47:28 q? 16:47:47 Ted: Richard has made an argument based on a SPARQL query ... that is out of our charter ... a warning is sufficient 16:49:10 +q 16:49:22 ack dmcneil 16:49:24 Ted: The RDF group is questioning the model 16:50:11 David: Do you assume that 1 SPARQL query leads to 1 SQL query? 16:50:17 Richard: No 16:50:28 RRSAgent, draft minutes 16:50:28 I have made the request to generate http://www.w3.org/2012/04/24-RDB2RDF-minutes.html mhausenblas 16:50:56 David: Outlines a solution using cursor to create distinguishable blank nodes 16:52:24 Michael: Do we argee this is a corner case? 16:52:35 s/argee/agree/ 16:53:01 This is not a bug. it's an implementation issue. It can be implemented... maybe inefficiently, but it can 16:53:18 Richard: It is a corner case but we need to fix the bug ... I suggest a 1 sentence change 16:53:27 juansequeda, it cannot be implemented except when dumping 16:53:41 cygri, you can do post processing afterwards. 16:53:44 juansequeda, some implementers are not interested in dumping the db 16:54:36 Eric: I'm still working on trying to create a case where this is a problem 16:54:37 I think that sentence is not sufficient, if we're going in that direction. I'm not entirely opposed to a change in that direction (optional blank-node distinction over multiple identical-content rows). 16:55:28 q? 16:56:04 q+ 16:56:11 ack cygri 16:57:14 Richard: It is a corner case but we need to fix it 16:57:43 q? 16:58:22 ... we are not mapping to a proper RDF graph because the nodes are not distinguishable 16:58:42 MacTed, RDF concepts says: "Given two blank nodes, it is possible to determine whether or not they are the same." 16:59:16 q? 16:59:16 [[ 16:59:19 DB: T1 T2 16:59:19 SELECT ?borrower ?amount ?address { 16:59:19 _:t1 ?date ; ?borrower ; ?amount . 16:59:19 _:t2 ?borrower ; ?address 16:59:21 FILTER (?date < "2012-01-01"^^xsd:date) 16:59:24 } => 16:59:26 SELECT T1.borrower, T1.amount, T2.address 16:59:29 FROM T1, T2 16:59:31 WHERE T1.date < "2012-01-01" 16:59:34 AND T1.borrower=T2.name 16:59:36 ]] 16:59:41 (still not arriving at something i can't implement) 17:01:02 q+ to ask why is this long. It's just a difference between lean and an not lean RDF graph http://www.w3.org/TR/rdf-mt/#graphdefs 17:01:34 ack juansequeda 17:01:34 juansequeda, you wanted to ask why is this long. It's just a difference between lean and an not lean RDF graph http://www.w3.org/TR/rdf-mt/#graphdefs 17:02:04 q? 17:02:30 Juan: We need to preserve cardinality 17:02:47 juansequeda, good observation. and note that leanification doesn't change the semantics 17:02:54 [removing bNodes from Eric's query] ?x ?date ; ?borrower ; ?amount . ?y ?borrower ; ?address . FILTER (?date < "2012-01-01"^^xsd:date) 17:04:29 +1 base64 change to hex 17:05:04 ACTION: Richard to come up with concrete example re "DM: implementability for tables w/o primary key" 17:05:05 Created ACTION-205 - Come up with concrete example re "DM: implementability for tables w/o primary key" [on Richard Cyganiak - due 2012-05-01]. 17:05:14 (meeting adjourned) 17:05:19 -joerg 17:05:24 -seema 17:05:26 -dmcneil 17:05:39 trackbot, end telecon 17:05:39 Zakim, list attendees 17:05:39 As of this point the attendees have been mhausenblas, Ashok_Malhotra, cygri, boris, MacTed, nunolopes, joerg, +1.314.395.aaaa, dmcneil, +575737aabb, juansequeda, EricP, Souri, 17:05:39 mhausenblas, so what about turning in test cases. we were suppose to do that next week. I guess it is postponed 17:05:42 ... +1.603.897.aacc, seema 17:05:47 RRSAgent, please draft minutes 17:05:47 I have made the request to generate http://www.w3.org/2012/04/24-RDB2RDF-minutes.html trackbot 17:05:48 RRSAgent, bye 17:05:48 I see 1 open action item saved in http://www.w3.org/2012/04/24-RDB2RDF-actions.rdf : 17:05:48 ACTION: Richard to come up with concrete example re "DM: implementability for tables w/o primary key" [1] 17:05:48 recorded in http://www.w3.org/2012/04/24-RDB2RDF-irc#T17-05-04