15:57:27 RRSAgent has joined #rdb2rdf 15:57:27 logging to http://www.w3.org/2010/08/03-rdb2rdf-irc 15:57:48 zakim, this is rdb2rdf 15:57:48 Ashok, I see SW_RDB2RDF()12:00PM in the schedule but not yet started. Perhaps you mean "this will be rdb2rdf". 15:58:07 zakim, this will be rdb2rdf 15:58:07 ok, Ashok; I see SW_RDB2RDF()12:00PM scheduled to start in 2 minutes 15:58:12 alexdeleon has joined #rdb2rdf 15:58:16 chair 15:58:27 chair: Ashok 15:58:40 SW_RDB2RDF()12:00PM has now started 15:58:42 whalb has joined #rdb2rdf 15:58:45 meeting: RDB2RDF 15:58:47 +[IPcaller] 15:59:07 Zakim, IPcaller is me 15:59:07 +juansequeda; got it 15:59:35 cygri_ has joined #rdb2rdf 15:59:52 juansequeda has left #rdb2rdf 16:00:04 +Ashok_Malhotra 16:00:41 + +43.316.876.aaaa 16:00:50 zakim, aaaa is me 16:00:50 +whalb; got it 16:02:13 juansequeda has joined #rdb2rdf 16:02:37 +cygri 16:02:54 zakim, boris is with me 16:02:54 +boris; got it 16:03:15 boris_ has joined #RDB2RDF 16:03:39 +Souri 16:04:11 present: Juan, Ashok, Wolfgang, Richard, Boris, Souri 16:04:11 Souri has joined #rdb2rdf 16:04:22 regrets: Marcelo 16:04:41 zakim, who is on the phone? 16:04:41 On the phone I see juansequeda, Ashok_Malhotra, whalb, cygri, Souri 16:04:43 cygri has cygri, boris 16:05:36 scribenick: juansequeda 16:05:46 scribe: Juan 16:06:21 Topic: Approve minutes of minutes 16:06:27 RES 16:06:27 +1 16:06:28 ol 16:06:50 RESOLUTION: Minutes from last meeting July 27 telcon approved 16:07:21 alexdeleon has joined #rdb2rdf 16:07:25 Minutes are at: http://www.w3.org/2010/07/27-rdb2rdf-minutes.html 16:07:45 zakim, who is noisy 16:07:45 I don't understand 'who is noisy', cygri 16:07:49 zakim, who is noisy? 16:07:57 Zakim, please dial ericP-office 16:07:57 zakim, who is making noise? 16:07:58 ok, ericP; the call is being made 16:07:58 +EricP 16:08:02 cygri, listening for 10 seconds I heard sound from the following: juansequeda (100%) 16:08:11 Ashok, listening for 10 seconds I heard sound from the following: juansequeda (95%), Ashok_Malhotra (38%) 16:08:44 present+: EricP 16:08:51 TOPIC: SQL Based Approach by Souri 16:10:16 The approach is taking a SQL query and mapping it to a class and each attribute to a property 16:10:35 Souri's slides from the SemTech F2F: http://www.w3.org/2001/sw/rdb2rdf/wiki/File:RDB2RDF_Map_viaSQL_F2F_at_SemTech2010.pdf 16:11:22 XML schema: http://www.w3.org/2001/sw/rdb2rdf/wiki/Example_XML_Schema_Mapping 16:13:07 Souri: what we are presenting comes from the discussions that we have had 16:13:26 ... DBKeyType is for definition of primary keys.. 16:13:48 ... RDFTermType are the different types that we can have: IRI, blank node or literal 16:14:27 ... A SQL query is associated with a ClassMap. it has several properties associated with this class map: object properties and datatype properties 16:15:13 ... the SQLDefString is required which defines the SQL Query 16:15:53 ... InstURIPropertyMap: this gives us how to get the URI for a row in the particular table/view 16:16:14 ... there should be exactly one 16:16:40 Ashok: is this a database column? 16:16:58 Souri: yes, it actually is but it is mapped to the identity of a row 16:17:13 ... the DBColumnName is required 16:18:00 ... there is InverseExpr, it is for optimizations, but we can discuss about this later 16:18:25 ... RDFTypeURIPropertyMap: gives us a way to say that a particular row may belong to a class which is defined by a class with values defined in that row 16:19:28 +q 16:20:53 Seema has joined #rdb2rdf 16:21:08 +seema 16:21:26 present+: Seema 16:24:03 ericP: could you have multiple PropertyMaps with PropertyName=rdf:type instead of RDFTypeURIPropertyMap? 16:24:26 Souri: yes, but this approach allows for performance optimizations 16:24:59 ... specifically, you can ask for { ?x a ?type } or { ?x a my:SoccerStar } 16:25:48 juansequeda: or a RDFTypeURIPropertyMap, that means that the object has to be a IRI 16:26:08 souri: yes 16:27:05 souri: how do you know which triples belongs to which graph? That is what GraphURIPropertyMap is for 16:27:27 ... this is optional. you don't have to say this 16:28:46 ... can also assign columns to a graph 16:29:13 ... you can divide a row to "column groups" 16:29:39 ericP: then my SS number can go to the tax graph and personal graph 16:29:42 souri: yes 16:29:54 ... useful to organizing datastore 16:30:35 ... PropertyMap is optional. it has a property name, the DBColumnName and the RDFTerm, so you can say if it should be a IRI, literal or blank node 16:30:50 ... KeyMap takes care of constraints 16:31:11 ... Keyname is the name, KeyType which is either a primary, unique or reference. both of these are requireed 16:32:14 +OpenLink_Software 16:32:24 Zakim, OpenLink_Software is temporarily me 16:32:24 +MacTed; got it 16:32:26 Zakim, mute me 16:32:26 MacTed should now be muted 16:32:57 ... InverseExpr is for perfomance 16:33:17 ... Richard points out if we need to have classes or not 16:33:54 ... RDF doesn't have classes. RDFS introduces it 16:34:35 ... why is it good? if you have the same property repeated in different classes 16:35:07 +1 to ask what problems can we have if defining classes is required 16:36:30 ... having a class, you can restrict your query. you can scope down the space that you have to look for 16:37:39 ericP: if we don't define a class type, and we do ?s foaf:name ?o then it will be a union of everything that has foafo:name 16:40:34 a working example (revised version of the old example we had) -- http://www.w3.org/2001/sw/rdb2rdf/wiki/Revised_Example_of_SQL-Query_based_Approach 16:41:30 juansequeda: what are the implications of having typemaps required? 16:42:44 Souri: [ example of multiple columns emiting the same property, implying a common domain ] 16:42:49 cygri: we're chartered to map from DBs to RDF graphs 16:42:50 ... why should we introduce a restriction on the types of generated rdf graphs 16:43:33 souri: if C1 is domain for foaf:name and C2 is also domain for foaf:name, then the actual domain is the intersection of C1 and C2, whihc is false 16:44:01 Richard: why is InverseExpr is needed and how would you use it? 16:44:25 souri: good question but I don't have an example yet on the wiki 16:45:58 ... suppose in your view you are projecting a column whose column is X+Y but you are projecting it as Y. For Y I'm getting a value of 10. When I translate the SPARQL to SQL, I can do Y = 10. However there is no index on Y. I want to say X = 9. We want the user to specify Y-1 as the InverseExpr 16:50:57 souri discusses example in above Wiki -- URL above 16:51:12 ericP: in RIF, you express rule details which don't change the semantics as *annotations* 16:51:15 juansequeda has joined #rdb2rdf 16:52:00 Souri is going through examples in http://www.w3.org/2001/sw/rdb2rdf/wiki/Revised_Example_of_SQL-Query_based_Approach 16:52:03 Annotations that help performance is a good idea 16:54:14 +q to ask are we expecting that the URIs are to be generated in the SQL query with a concat? 16:58:00 juansequeda1 has joined #rdb2rdf 16:58:00 ack juan 16:58:00 juansequeda, you wanted to ask are we expecting that the URIs are to be generated in the SQL query with a concat? 16:58:50 Richard: we should have URI Patterns so they can be reused 16:59:28 Ashok: lets continue next week and talk about class type, uri generation 16:59:38 ... and we should think about if this should be an output of the WG 17:00:21 ... Richard, you had an action to comment on this 17:01:05 Richard: I will send an email that summarizes limitations or the need of expressivity 17:01:33 -seema 17:01:34 -Souri 17:01:34 -Ashok_Malhotra 17:01:35 -whalb 17:01:35 -MacTed 17:01:37 -juansequeda 17:01:37 -cygri 17:01:45 rrsagent, make logs public 17:01:55 rrsagent, draft minutes 17:01:55 I have made the request to generate http://www.w3.org/2010/08/03-rdb2rdf-minutes.html Ashok 17:02:24 -EricP 17:02:25 SW_RDB2RDF()12:00PM has ended 17:02:27 Attendees were juansequeda, Ashok_Malhotra, +43.316.876.aaaa, whalb, cygri, boris, Souri, EricP, seema, MacTed 17:20:54 cygri has joined #rdb2rdf 19:07:05 cygri has joined #rdb2rdf 19:18:33 Zakim has left #rdb2rdf