ISSUE-9 (bn_directmapping): Generate Blank Nodes for duplicate tuples [Direct Mapping]

ISSUE-9 (bn_directmapping): Generate Blank Nodes for duplicate tuples [Direct Mapping]

http://www.w3.org/2001/sw/rdb2rdf/track/issues/9

Raised by: Juan Sequeda
On product: Direct Mapping

Given a table that does not have a primary key, which has duplicate tuples, a different blank node must be created for each tuple. 

In the Direct Mapping as rules section of the Direct Mapping document, we described this scenario by using all the values of the tuple to create the blank node [1] [2]. However, there is a bug, raised by Alexandre [3]. The issue is that datalog cannot deal with duplicate. Consequently, Marcelo raised the point that we can use simple versions of datalog that can deal with duplicate solutions.

Possible solutions:

1) assume that each table implicitly has a row id which is part of its set of attributes. The row id is unique.
2) associates to each tuple an annotation that corresponds to the multiplicity of the tuple in the database. This annotation function corresponds to the function card in the definition of the semantics of SPARQL


[1] http://www.w3.org/TR/2010/WD-rdb-direct-mapping-20101118/#rules_table_triples_no_pk
[2] http://www.w3.org/TR/2010/WD-rdb-direct-mapping-20101118/#rules_literal_triples_no_pk
[3] http://lists.w3.org/Archives/Public/public-rdb2rdf-wg/2011Jan/0044.html

Received on Friday, 21 January 2011 20:41:31 UTC