W3C

- DRAFT -

RDB2RDF Working Group Teleconference

17 May 2011

Agenda

See also: IRC log

Attendees

Present
juansequeda, MacTed, mhausenblas, dmcneil, cygri, +1.862.137.aaaa, soeren, nunolopes, Ashok_Malhotra, Souri, Seema, privera, Marcelo, Ted, Juan, David, Michael, Soeren, Nuno, Ashok, Percy
Regrets
Ivan, Eric, Alexandre
Chair
Michael
Scribe
dmcneil

Contents


<trackbot> Date: 17 May 2011

<ericP> network is back

<ericP> ahh good, everyone is happy

<MacTed> someone was asking about R2RML implementation timing in a recent call.... can add a first-cut for Virtuoso to that list, now anticipated for June if not sooner

i can scribe

<mhausenblas> scribenick: dmcneil

thanks: )

Admin

<mhausenblas> PROPOSAL: Accept the minutes of last meeting http://www.w3.org/2011/05/10-rdb2rdf-minutes.html

RESOLUTION: minutes accepted by working group

LC planning

last call planning...

<mhausenblas> http://www.w3.org/2001/sw/rdb2rdf/wiki/Main_Page#Countdown_to_Proposed_Recommendation

<mhausenblas> ACTION-125?

<trackbot> ACTION-125 -- Ashok Malhotra to draft Wiki page with LC sprint time line with Sep 2011 LC -- due 2011-05-17 -- OPEN

<trackbot> http://www.w3.org/2001/sw/rdb2rdf/track/actions/125

<mhausenblas> close ACTION-125

<trackbot> ACTION-125 Draft Wiki page with LC sprint time line with Sep 2011 LC closed

michael: do the editors agree with the timeline?

souri: need to think about how many issues, and how many "sticky" issues

ashok: we can close it, so we don't take any until last call

there are 9 open issues, none look very difficult

michael: there are more than just open issues, last time we reviewed them and concluded we needed to resolve a couple per call

what does it mean to "close it", working group members are encouraged to raise issues

ashok: meant to close current issues then not accept more until after last call is published

michael: maybe we could call it "freezing" the list

cygri: we know there are issues to be resolved and a timeframe to do it in, as long as we make progress and knock off issues each week then we are on track

so we should focus on closing issues

juan: so by Sept 1 all issues need to be closed?

ashok: yes, either closed or postponed

juan: so after last call we can still close issues

ashok: are there any open issues on Direct Mapping?

juan: yes

<Zakim> mhausenblas, you wanted to state it is not about the current issues

michael: the issue with freezing the list is not about current issues but new issues

cygri: i think if we freeze the queue now then we prevent ourselves from hearing about issues

implementors will find issues or ask for clarification, we need to hear about these

<Seema> +1 to Richard's comment

if we really run out of time then we acknowledge hearing the feedback but delay addressing it until after last call

maybe will need to freeze later

ted: agrees with Richard

michael: do we need a resolution for this?

ashok: no

Action Items

michael: on to action items

<mhausenblas> ACTION-127?

<trackbot> ACTION-127 -- Richard Cyganiak to write up a proposal to resolve ISSUE-32 based on today's discussion -- due 2011-05-17 -- OPEN

<trackbot> http://www.w3.org/2001/sw/rdb2rdf/track/actions/127

<mhausenblas> close ACTION-127

<trackbot> ACTION-127 Write up a proposal to resolve ISSUE-32 based on today's discussion closed

<cygri> http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0029.html

<cygri> thread starts here ^

<cygri> david's version: http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0030.html

<cygri> another proposal from me: http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0035.html

<Souri> "col1=>col2"

<cygri> rr:joinCondition [ rr:child "col1"; rr:parent "col1" ];

souri: was thinking that David's proposal isolates each column in a separate property, which makes it easier to deal with special characters in the column names

e.g. if a column was named "foo=>"

cygri: agrees that approach is clearly modelled and avoids certain syntax issues

escaping comment intersects with another thread of discussion regarding special characters

beleives that "=>" is not valid in un-quoted SQL identifiers

<Souri> Oracle: create table "a=>b" (a int);

<cygri> SELECT "foo=>" FROM table;

this means that we would have to quote the column name again anyway

<cygri> rr:column "\"foo=>\""

"\"foo\""

<cygri> rr:joinCondition "\"col1=>\"=>col2"

so the handling of special characters is not a distinguishing characteristic of the alternatives

cygri: although it is very verbose, if there is group agreement then we can go that way

souri: appreciates the clarity of the more verbose approach

<cygri> PROPOSAL: resolve ISSUE-32 as per http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0030.html

<Souri> +1

<cygri> ±0

michael: any objections?

<MacTed> +1

RESOLUTION: working group resolves ISSUE-32 as per http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0030.html

michael: now we need an action to write this in the editors draft

cygri: i can do it

<mhausenblas> ACTION: Richard to implement ISSUE-32 as resolved today (based on http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0030.html) [recorded in http://www.w3.org/2011/05/17-rdb2rdf-minutes.html#action01]

<trackbot> Created ACTION-130 - Implement ISSUE-32 as resolved today (based on http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0030.html) [on Richard Cyganiak - due 2011-05-24].

<mhausenblas> ACTION-129?

<trackbot> ACTION-129 -- Ashok Malhotra to check re DB2 and SQL-Server for ISSUE-35 (case sensitivity of SQL identifiers) -- due 2011-05-24 -- OPEN

<trackbot> http://www.w3.org/2001/sw/rdb2rdf/track/actions/129

<mhausenblas> close ACTION-129

<trackbot> ACTION-129 Check re DB2 and SQL-Server for ISSUE-35 (case sensitivity of SQL identifiers) closed

ashok: almost all databases follow the SQL standard: column names and table names are case insensitive except when double quoted

in which case they are handled in a case sensitive manner

SQL Server is the only one that is different, you can configure it to behave differently than the standard

so we probably need to say that you should follow the guidelines of your database

souri: does the SQL standard allow double quotes in the identifiers?

oracle allows everything else (as long as it is quoted) except double quotes

<mhausenblas> ACTION-126?

<trackbot> ACTION-126 -- Souripriya Das to implement ISSUE-18 resolution and make sure that all class and property names are meaningful -- due 2011-05-24 -- OPEN

<trackbot> http://www.w3.org/2001/sw/rdb2rdf/track/actions/126

souri: not done yet, discussion was about having "Class" as a suffix on the class names in the R2RML spec

to avoid naming conflicts with the property names

so they do no just differ by the case of the first character

so we can keep "Class" at the end of the class names

cygri: we can avoid similar names with ad-hoc tweaking of one of the terms

using slightly different wording

<Souri> example: class => rr:SubjectMapClass and property => rr:subjectMap

there are examples from other ontologies where they differ only in the case, so while it is not good, we would not be the first spec to do this

<mhausenblas> Michael: how about rr:SubjectMap and rr:mapsTo

<MacTed> or mapsSubject or ...

<Seema> similar names for class and property are confusing..not particularly thrilled with that approach

ted: agrees with using different terms (it is madness to have just case differences)

<mhausenblas> ACTION-128?

<trackbot> ACTION-128 -- Michael Hausenblas to find the resolution re what SQL and SPARQL we address and make this explicit core requirements in the UCR document -- due 2011-05-31 -- OPEN

<trackbot> http://www.w3.org/2001/sw/rdb2rdf/track/actions/128

+q

:)

souri: could make properties verbs

will keep the request for clarity in mind as new proposed names are assembled

Open Issues

moving on to issues

<mhausenblas> ISSUE-41?

<trackbot> ISSUE-41 -- Define how rr:column, rr:template, etc. handle NULL column values -- raised

<trackbot> http://www.w3.org/2001/sw/rdb2rdf/track/issues/41

<cygri> http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0042.html

on ISSUE-41 there were several +1 votes for not producing triples if a column was null

on the mailing list

+q

<Seema> +1 for option 2

souri: ok with that option, but there is another option where we could produce a NULL literal

<soeren> +1 for option 2

<privera> +1 for option 2

ashok: what would a NULL literal mean in RDF?

<MacTed> -1 option 2

dmcneil: a couple of clarifications: so a template with many columns, any of them being null means that the triple would be produced?

if users need to map NULL db values to default values then they would need to do it in a SQL query?

<Souri> <John> :hasAge "" .

ted: NULL values can have meaning in the relational world

cygri: blank nodes correspond to unknown values

ted: no, blank nodes are for unnamed values

<Ashok> XML Schema has a concept called NIL which corresponds to the SQL NULL

cygri: a blank node is an existential value that says something exists, but nothing more about it

<Souri> bNode => existential, <John> :hasAge _:b1 .

discussion degrades

souri: blank node allows a value to be identified without providing other details (e.g. if that blank node never appears again in the graph)

ted: NULL values may have meaning in a relational schema

+q

ashok: that requires us to create a special "value" to correspond to NULL

that means we are adding to RDF

ted: no, just adding to R2RML and Direct Mapping

<MacTed> :cell :prop "DB_NULL"

dmcneil: users could define their schema specific expectations for NULL in a SQL query

<Souri> SQL => select y from tab WHERE x IS NULL

ted: that requires users to have too sophisticated of a model

<Ashok> <John> :hasAge UNDEFINED

<MacTed> ?s ?p "NULL"

<MacTed> ?s ?p UNDEFINED

juan: so the output should include the NULLs?

<juansequeda> person(name, age)

<juansequeda> person(Juan, NULL)

<juansequeda> :id1 <name> "Juan".

<juansequeda> :id1 <age> NULL ==> is this what you want?

<MacTed> :id1 <child> "Bob"

<MacTed> :id2 <child> NULL

<Souri> Should we support an option for a TriplesMap: 1) NULL => disappears 2) NULL => translated to "" (a simple literal) [is ""^^xsd:integer legal in RDF?]

cygri: in Direct Mapping I think it might make sense to preserve the NULLs

but in R2RML a query can be used to handle NULLs

michael: out of time

cygri: maybe ted can write a counter-proposal

souri: how to treat a NULL in a table may vary from table to table

from that point of view, we could always create a view in R2RML

but that is a longer way of doing things

so what if R2RML included a property defining what value to produce for NULL

this can vary between triplesmaps

?: but what about Direct Mapping

<juansequeda> that is Marcelo

ted: yes, I think so

document the default, and provide an easy way to change it

ashok: but on Direct Mapping we have said there are no switches, just one algorithm

ted: then it must preserve nulls

souri: given the RDF I should be able to reconstruct the table

so the Direct Mapping by default (and since there are no switches) so it must preserve the NULLs

cygri: then the way to go is a blank node

there is something there but we don't know what it is

soeren: NULL in the db says there is nothing there

ashok: it is the lack of a value

<Souri> Is ""^^xsd:integer a valid RDF value?

soeren: consider an integer column: 0 is different than NULL

so creating no triple for this makes sense

ted: but it is schema dependent

cygri: in SQL, NULL is a special thing, it is not simply "there is no value", it can be used in different ways

sometimes it is used to indicate "there is a value, but we don't know it"

soeren: then we could say that sometimes NULL means 100

most common interpretation is "there is no value"

despite the fact that it can be abused

ted: the most common understanding is to abuse it

soeren: then ignore it because it is nonsense

cygri: agree that R2RML should ignore it, because you can customize it

souri: should be able to look at output triples to conclude that we have a column in the the table (when that column only has NULL values)

(talking about Direct Mapping)

michael: can we have a proposal for ISSUE-41?

ISSUE-41 is for R2RML actually, right?

i think the counter-proposal is to default it to suppress, but add a property to specify what vbalue to use for null

on a per triplesmap basis

michael: we can write to Pat (?)

souri: how do we know the type of the column if there are only NULL values?

cygri: also consider empty tables

must look at schema to preserve schema information (looking at data does not work)

question for Pat: is a blank node an accurate representation of a NULL value from a relational database?

<mhausenblas> ACTION: Hausenblas to write mail to Pat regarding ISSUE-41 - is a blank node an accurate representation of a NULL value from a relational database? [recorded in http://www.w3.org/2011/05/17-rdb2rdf-minutes.html#action02]

<trackbot> Created ACTION-131 - Write mail to Pat regarding ISSUE-41 - is a blank node an accurate representation of a NULL value from a relational database? [on Michael Hausenblas - due 2011-05-24].

<mhausenblas> [meeting adjourned]

<mhausenblas> trackbot, end telecon

Summary of Action Items

[NEW] ACTION: Hausenblas to write mail to Pat regarding ISSUE-41 - is a blank node an accurate representation of a NULL value from a relational database? [recorded in http://www.w3.org/2011/05/17-rdb2rdf-minutes.html#action02]
[NEW] ACTION: Richard to implement ISSUE-32 as resolved today (based on http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0030.html) [recorded in http://www.w3.org/2011/05/17-rdb2rdf-minutes.html#action01]
 
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.136 (CVS log)
$Date: 2011/05/17 17:23:04 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.136  of Date: 2011/05/12 12:01:43  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/named/names/
Succeeded: s/souren/soeren/
Found ScribeNick: dmcneil
Inferring Scribes: dmcneil
Default Present: juansequeda, MacTed, mhausenblas, dmcneil, cygri, +1.862.137.aaaa, soeren, nunolopes, Ashok_Malhotra, Souri, Seema, privera, Marcelo
Present: juansequeda MacTed mhausenblas dmcneil cygri +1.862.137.aaaa soeren nunolopes Ashok_Malhotra Souri Seema privera Marcelo Ted Juan David Michael Soeren Nuno Ashok Percy
Regrets: Ivan Eric Alexandre
Agenda: http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011May/0046.html
Found Date: 17 May 2011
Guessing minutes URL: http://www.w3.org/2011/05/17-rdb2rdf-minutes.html
People with action items: hausenblas richard

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.


[End of scribe.perl diagnostic output]