See also: IRC log
<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> :)
PROPOSED accept minutes of 17 Aug 2010
<juansequeda> +1
APPROVED
<mhausenblas> Agenda is here: +1-617-761-6200
<mhausenblas> http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2010Aug/0029.html
<mhausenblas> http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2010Aug/0004.html
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 }
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
<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
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