Re: A way to generate PK-strings or new blank nodes

Dear David and Richard,

Thank you for expressing in a really better way what I was trying to say :-)

As Richard said, the first solution is not applicable. You seem (David and
Richard) to disagree on the usefulness of adding such a feature.

However, I see two possibilities to implement this feature.

a) Extend the template node, a David proposes
b) Allow more than one logical tables for a triples map, at the only
condition that the rows are the same, and the SQL Version strings are
different. We could then use the SQL Version String to create "generic"
mappings with RDF Views specific to each RDBMS (So we could use the specific
syntax of each RDBMS and use their power)

What do you think about it ?

Anyway, thank you for your answers !

Fabian Pijcke

2011/10/21 Richard Cyganiak <richard@cyganiak.de>

> On 21 Oct 2011, at 13:51, David McNeil wrote:
> > TABLE, PK_COLUMN, PK_COLUMN_ORDER
> > PERSON, FNAME, 1
> > PERSON, LNAME, 2
> >
> > Now you would like to run a query against these tuples to produce an
> aggregate value (grouped on TABLE) something like "FNAME,LNAME". You need a
> list of the key columns in a string that you can use in a template in the
> R2RML mapping. So I see two possibilities:
> >
> > 1) write the query you need in SQL - I don't know if this is possible in
> generic SQL.
>
> Not in generic SQL. In MySQL it's easily done with GROUP_CONCAT, and there
> are equivalents for the other RDBMS but with slightly different syntax.
>
> Still, that's the way to go IMO.
>
> I don't like the idea of adding features to R2RML with the motivation that
> SQL isn't portable. R2RML is not a database abstraction layer. Not even
> string concatenation is portable in SQL – if you do anything non-trivial,
> you'll have to special-case anyways, that's just a fact of life and we may
> just as well accept it.
>
> Best,
> Richard

Received on Saturday, 22 October 2011 08:00:33 UTC