kg-construct / rml-test-cases

RML conformance test suite
http://rml.io/test-cases/
Creative Commons Attribution 4.0 International
4 stars 12 forks source link

RMLTC0002i & RMLTC0002j: columns that are not `SELECT`ed are used in term maps #39

Open thomas-delva opened 3 years ago

thomas-delva commented 3 years ago

For example in 2i, the source is defined with rml:query "SELECT Name FROM student";, selecting only column Name. Then in a term map, the column ID is also used: rr:template "http://example.com/{ID}/{Name}";, which throws an error.

This is not the goal of the respective test cases however, which test for missing SQL version identifiers and the use of qualified column names.

(I think this slipped under the radar because missing SQL version identifiers were not properly implemented in the mapper, see here and here.)

I propose to simplify the mappings in these test cases so they only test what is in their descriptions (SQL version identifiers/qualified column names), but use column names which are SELECTed. SELECTing column names is already partially covered by test cases 2g and 2h.

This leads to an error in the test case report generator, see https://github.com/kg-construct/rml-test-cases-support/issues/9

bjdmeest commented 3 years ago

Oh that's just plain wrong. I suspect a wrong copy-paste from https://www.w3.org/2001/sw/rdb2rdf/test-cases/#R2RMLTC0002i (where it is correct)