- From: Juan Sequeda <juanfederico@gmail.com>
- Date: Wed, 13 Jul 2011 09:21:55 +0200
- To: Michael Hausenblas <michael.hausenblas@deri.org>
- Cc: RDB2RDF Working Group WG <public-rdb2rdf-wg@w3.org>, Richard Cyganiak <richard.cyganiak@deri.org>, Richard Cyganiak <richard@cyganiak.de>
- Message-ID: <CAMVTWDzvQKPbGc_kGRHiqLArxfH9vJ18AJVvJY4FeD=oG4P9Tw@mail.gmail.com>
On Wed, Jul 13, 2011 at 8:40 AM, Michael Hausenblas < michael.hausenblas@deri.org> wrote: > [[ >> PROPOSAL: To resolve ISSUE-34, drop rr:tableOwner, and instead state that >> rr:tableName MAY be qualified to include a schema name and a catalog name >> ]] >> > > +1 > > +1 > Cheers, > Michael > -- > Dr. Michael Hausenblas, Research Fellow > LiDRC - Linked Data Research Centre > DERI - Digital Enterprise Research Institute > NUIG - National University of Ireland, Galway > Ireland, Europe > Tel. +353 91 495730 > http://linkeddata.deri.ie/ > http://sw-app.org/about.html > > > On 12 Jul 2011, at 19:26, Richard Cyganiak wrote: > > All, >> >> Continuing the discussion from the call. >> >> First, please review what the spec currently says: >> http://www.w3.org/2001/sw/**rdb2rdf/r2rml/#physical-tables<http://www.w3.org/2001/sw/rdb2rdf/r2rml/#physical-tables> >> >> I'll explain the proposal in a bit more detail, for the sake of clarity. >> The proposal is to drop rr:tableOwner, and instead state that a "table or >> view name" MAY be qualified to include a schema name and a catalog name. >> >> The intention is that all of the following are all valid values for >> rr:tableName: >> >> emp >> EMP >> SCOTT.EMP >> CAT.SCOTT.EMP >> "Emp" >> "Scott Smith".EMP >> SCOTT."!@#$%^&" >> >> If catalog or schema are absent, then the defaults of the SQL connection >> are used. (Note that's nothing new; rr:tableOwner was always optional.) >> >> My arguments against other proposed designs are as follows: >> >> Proposal: no change >> Objection: rr:tableOwner is nonstandard terminology and the standard term >> is schema. >> >> Proposal: just rename rr:tableOwner to rr:tableSchema >> Objection: A fully qualified table name is [[Catalog.]Schema.]Table, and >> there is no case for separating [Catalog.]Schema from Table >> >> Proposal: have three properties rr:tableName, rr:schemaName, >> rr:catalogName (or similar names) >> Objection: This works and is consistent. But it puts undue burden on users >> who now have to use three properties for what can be achieved with one. >> Users already can write fully qualified table names in catalog.schema.table >> notation in rr:sqlQuery, so why should rr:tableName work any differently? >> >> Proposal: add rr:fullyQualifiedTableName as an alternative to the current >> design >> Objection: Having two different ways of doing exactly the same thing >> creates extra cognitive load for mapping authors, extra work for >> implementers, and extra work for editors, with no benefit. >> >> Proposal: allow fully qualified names, but call the property rr:objectName >> or similar to make clear it's something different from an unqualified table >> name >> Objection: The SQL spec states that a table name may include schema and >> catalog, so calling it rr:tableName is consistent. >> >> Objection: tableName is not intuitive because it doesn't mention views >> Counter: The SQL spec says that views are identified by table names. One >> can use a view almost everywhere in SQL where a table is allowed; and this >> fact is usually simply assumed and not explicitly pointed out by always >> referring to "table or view". The R2RML spec very explicitly states, in >> multiple places, that views are allowed too. >> >> Objection: Parsing fully qualified table names places undue burden on >> implementers >> Counter: It's not hard. >> Regex for an undelimited identifier: [^.]+ >> Regex for a delimited identifier: ("[^"]*")+ >> Regex for an identifier: (delimited|undelimited) >> Regex for a qualified table name: ((identifier\.)?identifier\.)?** >> identifier >> (This regex is just for matching and splitting the three parts; it doesn't >> validate the characters that are allowed in undelimited identifiers. That's >> orthogonal to ISSUE-34.) >> >> So my proposal is still: >> >> [[ >> PROPOSAL: To resolve ISSUE-34, drop rr:tableOwner, and instead state that >> rr:tableName MAY be qualified to include a schema name and a catalog name >> ]] >> > > >
Received on Wednesday, 13 July 2011 07:22:47 UTC