W3C

RDB2RDF Working Group Teleconference

24 Aug 2010

Agenda

See also: IRC log

Attendees

Present
+3539149aaaa, mhausenblas, nunolopes, boris, cygri, Souri, ericP, juansequeda, dan, MacTed
Regrets
Harry, Li_Ma, Ashok
Chair
Michael
Scribe
ericP

Contents


<trackbot> Date: 24 August 2010

apologies, cornered in the lunchline

<mhausenblas> whatz the problem, juansequeda?

juansequeda, via voip?

<juansequeda> says passcode not valid

<iv_an_ru> Divan, following Turkey, instead of a chair

<mhausenblas> hehe, iv_an_ru

<mhausenblas> juansequeda try +1-617-761-6200

<juansequeda> I am

<juansequeda> last week I had the same problem and I spoke with the operator and that is how I got in. but the operator isn't picking up

juansequeda, what's your no?

maybe i can conference you

<juansequeda> 512-471-9541

(given 20 or so tries)

<mhausenblas> Angela, do you plan to dial in?

<Angela> no i can not

<Angela> but I am trying to participate in IRC

<scribe> scribenick: ericP

<Angela> I don't have a phone...and I can not connect through skype

<mhausenblas> too bad Angela, sorry

Angela, got a skype-in no?

<Angela> no

<Angela> anyway do not worry

<mhausenblas> thanks

<mhausenblas> try to follow on IRC

the scribe will try to be expository

<mhausenblas> should be no prob with such an excellent scribe ;)

<Angela> :)

admin

PROPOSED accept minutes of 17 Aug 2010

<juansequeda> +1

APPROVED

conclude SQL-based comments with cygri

<mhausenblas> Agenda is here: +1-617-761-6200

<mhausenblas> http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2010Aug/0029.html

RDB2RDF telecon -- agenda: http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2010Aug/0029

<mhausenblas> http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2010Aug/0004.html

conclude SQL-based comments with cygri

cygri: without knowing what happened last meeting..
... i expected:
... .. uri templates
... .. multiple maps for a single class
... .. refer to table instead of query or view (where you don't need a query-created view)
... .. allow queries instead of column names (e.g. in view def, you want only tuples with a given value for an attribute)

Souri: some discussion based upon cygri's comments
... 3.1, makes sense, but URI templates isn't a standard yet

mhausenblas: if we use it, it will likely become an RFC

cygri: trivial matter, /foo/{attribute}/bar (in d2r, we used "@@"s)

Souri: the pattern should translate to a SQL expression

cygri: just a concatonation?

Souri: we should consider automatic derivation of the inverse expression

Souri, per comment 3.2

Souri: per comment 3.2, we're talking about a viewmaps V1, V2, and i want them to be in the same class
... that's an important requirement. we could define a superclass of C1 C2

<mhausenblas> Michael: note re URI templates - let's use http://tools.ietf.org/html/draft-gregorio-uritemplate as the URI (will always point to the latest version)

cygri: i think we're coflating two things:
... .. i want to map staff and student to foaf:Person, i don't want to have to create new OWL classes for my:Staff and my:Person

Souri: it's like you want to hide the implied class from the generated schema
... we could have instead compound class maps

cygri: that seems more complicated than just allowing one to map staff and student to foaf:Person

ericP: i think is a usability trade-off: simplicity of model vs. simplicty of user interface

mhausenblas: how much has this come up?

cygri: if you're mapping 50 tables, i expect it to come up at least once

Souri: for performance reasons, i want to be able to specify C1 (my:staff)

cygri: what's executed in the database will be the same

Souri: for foaf:Person, yes, but my requirement is to be able to restrict to myfoaf:StaffPerson

cygri: but that's a modeling issue. the model must be aware when they map lots of stuff to a common base class
... frequently, i don't want to expose the schema of the database

Souri: if i define V1 and V2, there is a utility to have them distinguishable

<Zakim> ericP, you wanted to paint a query in which the common base class doesn't cost anything

juansequeda: from DI of the 90s (Simms), each table becomes a class

<Zakim> mhausenblas, you wanted to talk about test cases

<Souri> what if the two "sub" classes have shared attributes?

<mhausenblas> http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2010Aug/0034.html

<Souri> what I am saying I guess translates to allowing "compound" classes

Souri, i think in any scenario you come up with, there will be some distinguishing characteristic in a realistic query

<cygri> +1 ericP

mhausenblas: once we have a concrete spec, we can see how hard is the work implied by these trade-offs

<Zakim> MacTed, you wanted to suggest both plans are fine as options, but need clear declaration of what the trade-offs are

<Souri> but, eric, in my query I may not be interested in the distinguishing characterstics

mhausenblas: so we shoudl work on queries, tables, expected results

MacTed: the trade-off is a cost-benifit trade-off

<mhausenblas> Michael: we should start to collect TC (input RDB/output RDF) ASAP

MacTed: do we know all the characteristics when we do the mapping?
... either demanding C1 and C2, or only C imposes on the user

Souri: it seems conceptually simpler to define unions on class maps

cygri: i think this compounds viewmaps
... saying this class can be populated from V1 and v2 is no simpler than saying that T1 and T2 are both Cs
... it's a question of how to expose on the surface
... { T1 a C . T2 a C . } is simpler and i don't think that demanding C1 and C2 is justified

Souri: if V1 is an unexposed classmap, i can update that later

cygri: but in { T1 a C . T2 a C . }, i can just s/T1 a C/T1 a C1/ when i discover i want to distinguish them
... unexposed classmaps would imply a extra feature in the language
... there are situations where a T doesn't map to any C
... we discovered this during d2r use, so we removed the requirement that a "classmap" imply a class
... so it really shouldn't be called a classmap

+1 to cygri

cygri: you have a view, and each row maps to triples makes more sense than structuring things around classes

<juansequeda> cygri: can you remind me while people do not want to create a class?

<scribe> ACTION: Souri to summarize the unionable classmap discussion in email [recorded in http://www.w3.org/2010/08/24-rdb2rdf-minutes.html#action01]

<trackbot> Sorry, couldn't find user - Souri

<cygri> juansequeda: creating owl:sameAs triples from a DB

Souri: per comment 3.3, agreed

cygri: if you can use URItemplates, then this [the feature in comment 3.3] becomes possible

Souri: per comment 3.4 (constant value for a property)...

<juansequeda> cygri: so if I have in one source that #juan rdf:type foaf:person and if my info is in a database, all you would want is to say #student123 owl:sameas #juan and not have that #student123 rdf:type ex:Person or even #student123 rdf:type foaf:person ?

Souri: it makes sense, but how do we expose it in RDFS? owl:onProperty , owl:hasValue?

cygri: example: E t -> { x :worksFor :Acme }

SQL injection

cygri: confused by this in the previous minutes

Souri: came up because, a referential constraint, it's always equality
... i simplified and said *all* we need is the equijoin condition
... if the mapping contains ("a.b=c.d"), you could be injecting some malicious code
... but we can address that by parsing the constraints

ericP thinks this is a non-issue; that we face homogenous injection vulnerability throughout r2ml

Revised proposal from Souri

<mhausenblas> http://www.w3.org/2001/sw/rdb2rdf/wiki/Example_of_SQL-based_RDB2RDF_Mapping:_Revision_1

<Souri> XML Schema Revision 1: http://www.w3.org/2001/sw/rdb2rdf/wiki/An_XML_Schema_for_SQL-based_RDB2RDF_Mapping_%28Revision_1%29

cygri: in d2rq, you right down the join condition, but we need to know the direction of the foreign key constraint

Souri: that has to be there

<Souri> example revision 1: http://www.w3.org/2001/sw/rdb2rdf/wiki/Example_of_SQL-based_RDB2RDF_Mapping:_Revision_1

Souri: in the example, we have child and parent, so we can derive the alias for substitution

<Souri> <EquiJoinCondition> <ExpressionPair FirstExpression="<child>.deptno" SecondExpression="<parent>.deptno" /> </EquiJoinCondition>

mhausenblas: postponing remaining topics for next meeting

test cases

mhausenblas: harry sent mail about test cases
... we need someone to collect, document and package test cases
... (i've done it in two previous WGs; essential work)

ADJOURNED

Summary of Action Items

[NEW] ACTION: Souri to summarize the unionable classmap discussion in email [recorded in http://www.w3.org/2010/08/24-rdb2rdf-minutes.html#action01]
 
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.135 (CVS log)
$Date: 2010/08/24 17:04:13 $