- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Fri, 18 Feb 2011 11:32:21 -0500
- To: Ivan Herman <ivan@w3.org>
- Cc: Alexandre Bertails <bertails@w3.org>, Juan Sequeda <juanfederico@gmail.com>, RDB2RDF WG <public-rdb2rdf-wg@w3.org>
* Ivan Herman <ivan@w3.org> [2011-02-18 11:40+0100] > Alex, > > > On Feb 17, 2011, at 16:18 , Alexandre Bertails wrote: > > [snip] > > > > Sorry, I did not understand your comment this way as I think that the > > type is already correct. > > > >> But does that specification means that for every table t, primaryKey(t) will give me a set s=primaryKey(t) where size(s)<=1? Ie, that, for every table, the primaryKey is either empty or restricted to one single column? That is the discrepancy with section 2.2 that explicitly speaks about multi-column primary keys... > > > >> From you comment: > > s/the primaryKey is either empty or restricted to one single column/the primaryKey is either empty or restricted to one single CandidateKey/ > > > > Sorry, right > > > So primaryKey's type tells you that primaryKey gives you either 0 or 1 > > CandidateKey. The definition for CandidateKey is > > [[ > > CandidateKey ::= List(ColumnName) > > ]] > > > > So you do have multi-columns for a Primary Key (if there is one). > > > > Am I getting it right? I may be not introducing this one the right way. > > > > I think I get it now but... why do I need this? Why not define > > primaryKey : Table → CandidateKey I think this would say there is exactly one primary key per table. > or is a List necessarily non-empty, ie, > > CandidateKey ::= List(ColumnName) > > means that there _is_ at least one column (ie, the no primary Key alternative would not be covered?) I read this as saying there are 0 or more primary keys, and, including the specification "size(s) ≤ 1" gives us 0 or 1 primary keys, modelling an optional without inventing a new type. > Ivan > > ---- > Ivan Herman, W3C Semantic Web Activity Lead > Home: http://www.w3.org/People/Ivan/ > mobile: +31-641044153 > PGP Key: http://www.ivan-herman.net/pgpkey.html > FOAF: http://www.ivan-herman.net/foaf.rdf > > > > > -- -ericP
Received on Friday, 18 February 2011 16:32:57 UTC