- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Tue, 17 Aug 2010 07:06:49 +0200
- To: Souri Das <Souripriya.Das@oracle.com>
- Cc: public-rdb2rdf-wg@w3.org
Hi Souri,
On 17 Aug 2010, at 00:04, Souri Das wrote:
> - Regarding Comment 2.5 (Lookup Table): How can we translate a
> SPARQL query with FILTER involving transformed values?
>
> Example: Consider the following SPARQL query involving a
> property, :transfProp, whose values are transformed, via a lookup
> table, into (-1) times the original value
> (e.g., 10 in an INTEGER column, i.e., "10"^^xsd:integer in
> RDF, is transformed into "-10"^^xsd:integer):
>
> SELECT ?x ?y WHERE {?x :transfProp ?v1 . ?y :transfProp ?
> v2 . FILTER (?v1 > ?v2)}
> How can SQL know, without having the lookup table somehow
> specified (in a CASE statement or something equivalent), how to
> evaluate the FILTER clause?
In this example, the table has to be translated to CASE or nested IFs
by the SPARQL-to-SQL engine. Depending on the SPARQL query, this
translation may or may not be necessary.
The main point IMO is that SQL is not a good choice of language for
expressing a translation table, especially if the table is a bit
larger. If you imagine a graphical tool that supports the creation of
mapping files, I believe you'd want to have a separate widget for
editing the table, rather than typing it out as a CASE expression.
Best,
Richard
>
> Thanks,
> - Souri.
>
>
Received on Tuesday, 17 August 2010 05:07:26 UTC