Re: Re-opening ISSUE-22 on vendor-specific SQL

* Richard Cyganiak <richard@cyganiak.de> [2011-06-02 09:52+0100]
> 
> On 2 Jun 2011, at 00:04, Eric Prud'hommeaux wrote:
> > I'm proposing that the WG establish one IRI for SQL 2008 and put a static document there.
> > 
> > The benefits to allowing users to flag the language include:
> > 
> >  R2RML implementations can support vendor-specific dialects without fishing the name out of highly-variable ODBC or JDBC strings.
> 
> ODBC and JDBC are well-defined and (somewhat) consistently implemented standards and APIs. Drivers -- and hence identifying strings -- exist for every database engine under the sun. Your new wheel is worse.

hmm, I've found ODBC connection strings hilariously complex to parse, e.g. sometimes the driver name is before the '//', sometimes there is no '//':
  http://www.herongyang.com/JDBC/Summary-Connection-URL.html


> > Users can flag specific queries as having extensions which are not peculiar to the database, e.g. OpenGIS's Within(g1 Geometry, g2 Geometry), and implementations can confidently dig into the guts of the constituent types, e.g. knowing that the Geometry is exactly the one defined by OpenGIS.
> 
> Can you expand on this? What is the scenario where an OpenGIS-capable R2RML implementation would encounter an R2RML mapping document that contains SQL queries that use OpenGIS syntax, but not OpenGIS semantics?

I'll poke around, but my presumption is that the industry has or is taking some time to settle into this standard, resulting in incompatibilities as venders lead or trailed behind the standard.


> >  We can future-proof R2RML so that when R2RML 2.0 switches to SQL 2012, older implementations will know that they can parse the 1.0's ref's to SQL 2008.
> 
> Flagging is not necessary to achieve this. A SQL 2008 parser is sufficient to distinguish between SQL 2008 and SQL 20XX queries.

I had a similar conversation with the MySQL folks when I was strapping alternate parsers into mysqld. Some folks wanted to just try all of the parsers and see which ones (if any) parsed the query, others wanted to invoke the user-selected parser.


> You presume that R2RML authors are able *and* willing to manually annotate the specific version of SQL that their queries conforms to. I find this assumption highly questionable. The users I talk to on average certainly aren't able to tell what SQL features are in SQL-92 vs SQL-08.

I presume that *some* will be willing, particularly in an industrial setting.
The cost of the feature is pretty small, instead of flagging extensions
  _:someTriplesMap rr:SQLisOpaque true .
we can flag them with a bnode
  _:someTriplesMap rr:SQLdialect [] .
or a language identifier
  _:someTriplesMap rr:SQLdialect <...openGIS> .


> Best,
> Richard
> 
> 
> > 
> > 
> >> Best,
> >> Richard
> > 
> > -- 
> > -ericP
> > 
> 

-- 
-ericP

Received on Thursday, 2 June 2011 14:17:05 UTC