- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Tue, 9 Nov 2010 14:35:27 +0800
- To: Eric Prud'hommeaux <eric@w3.org>
- Cc: RDB2RDF WG <public-rdb2rdf-wg@w3.org>
On 9 Nov 2010, at 12:12, Eric Prud'hommeaux wrote: > I propose to get consensus on your FPWD proposal first, then address > the #_ issue in all of the examples. An alternative viewpoint came > from DanC in his review: > [[ > 2010-10-29T17:43:19Z <DanC> yay for #_ > ]] Can you please state why you put the #_ there. You keep refusing to provide a rationale for the inclusion of this. If you're not prepared to provide rationale, then it should go. “Yay” does not count as rationale. >> 4. Inconsistency: Section 2.2 states that predicate IRIs have >> hashes, while all the examples have slashes. > > fixed (if we're speaking of the same place) I see this in the current version: [[ IRIs in the predicate position are composed by concatenating: • the stem • '/' • the url-encoded (per WSDL urlEncoded [WSDL]) table name • '/' • the url-encoded column names, separated by a '_' For example, a table called People with a foreign key with the column names fname, lname would produce the IRI <http://foo.example/DB/People#fname_lname > ]] The rule would produce a different result from the example. >> 8. In order to have an improved narrative in the section titles, I >> propose splitting 2.2 into one section “Identifiers for rows and >> columns” and one section “Row mapping rules”. (Not essential for >> FPWD) > > I believe the current version has more structure and bolding than what > you reviwed. Has this addressed your comment? It's improved. -1 to the subsubsections like 2.2.1. This is not a long document; you should be able to do this with just two levels of headings. >> 9. Section 2.5: “Hierarchies” can refer to many things in an SQL >> context, so it's a bit hard to figure out what the section refers >> to. The first sentence should perhaps talk about “hierarchies of >> tables that represent specializations of the same concept” or >> something similar. > > Is > [[ > It is common to express specializations of some concept as mutiple > tables sharing a common primkary key. > ]] > sufficient? Yes, thanks. > [[ > As a counter example, a Wedding table may > have exactly two spouses but it's still not a many-to-many relation in > most places. > ]] I don't understand why this is a counter-example. The question whether a row in a marriage table is represented as one triple or as one resource with two triples is completely independent from the question whether the relationship is many-to-many or not. These are independent questions. In fact, the whole issue shouldn't be named “many-to-many” because it has nothing to do with questions of cardinality. It's about the question what to do with tables that represent relationships and not entities. You state there that detecting these tables is hard. That is not true. You have already provided a test in an earlier mail. >> 11. See my comments to Juan and Marcelo asking for inclusion of >> table IRIs and of a triple that associates each row to its table. >> I'd really like to see a proposal for this in the FPWD, but at least >> an issue box would be essential. I note that the directGraph/alt >> version already has this. > > The foreign-key-is-candidate-key situation *appears* to imply that the > same node is defined across multiple tables; saying that it's an > Address or an Office won't give you the critical information which is > what predicates came from what table. I don't have a requirement for knowing which columns come from what table. > I propose instead: > > <Offices#building> rdb2rdf:inTable <#Offices> . > and maybe > <Offices> rdb2rdf:inDatabase <> . These don't address what I asked for. I want to be able to query for all resources generated from a single table in an obvious way. > That way you can separate which triples came from which tables. I want to know this for resources, not for triples. Hierarchical tables are a rare corner case and I don't particularly care how that edge case is handled as long as the common case remains simple. > You > can get the type effect where you want it by asserting > <Offices#building> rdfs:domain <#Offices_row> . What do you mean here? Do you suggest to make that triple part of the direct mapping and state that implementations MUST query the RDFS inference closure of the graph? That would address my requirement. Otherwise I don't know how I would “assert that triple”. Best, Richard
Received on Tuesday, 9 November 2010 06:51:43 UTC