W3C home > Mailing lists > Public > public-rdb2rdf-comments@w3.org > September 2013

Re: add NULL cases to conformance test

From: Richard Cyganiak <richard@cyganiak.de>
Date: Wed, 18 Sep 2013 07:42:07 +0100
Message-Id: <C44283BE-9A5B-434E-8B20-254AF938F9CA@cyganiak.de>
Cc: "<public-rdb2rdf-comments@w3.org>" <public-rdb2rdf-comments@w3.org>, Gregg Garcia <GGarcia@getty.edu>
To: "<vladimir.alexiev@ontotext.com>" <vladimir.alexiev@ontotext.com>
Hi Vladimir,

On 17 Sep 2013, at 21:03, "Vladimir Alexiev" <vladimir.alexiev@ontotext.com> wrote:
> If a column value (or any of the columns in a rr:template) is null, an r2rml processor should skip the involved triple.
> If the rr:subjectMap column is null, it should skip all triples in that rr:TriplesMap.

Correct.

> This is especially important since R2RML doesn't offer any conditionals.

Well, R2RML Views can express conditions.

> This behaviour is stated quite definitely at:
> http://www.w3.org/2001/sw/rdb2rdf/wiki/RDBNullValues#R2RML
> 
> 1. But IMHO the R2RML spec is silent on what happens when a subjectMap or objectMap is null.

Not at all.

> If we read pedantically: 
> "A predicate-object map is a function that creates *one* or more predicate-object pairs for each logical table row" 
> then it should generate a triple with null.

No. Pedantically speaking, the predicate-object map creates a predicate-object pair, but that pair will never generate any triples.

The spec is clear about that second part.

http://www.w3.org/TR/r2rml/#generated-triples

Here it says: If Subject, Predicate or Object is empty, then abort these steps. (As a result, no triple is generated.)

http://www.w3.org/TR/r2rml/#generated-rdf-term

Here it says: The result of that function can be: Empty – if any of the referenced columns of the term map has a NULL value

> Please add some langauge to the effect of the above wiki page.

That wiki page is a workspace that the group used at some point to hash out some possible designs. It is not a specification of R2RML. If you want to know how a detail of R2RML works, then dig into the spec.

> 2. Please also add conformance tests with NULLs.
> E.g. the perl module RDF::RDB2RDF does NOT ignore nulls, even though it's passed the conformance test.

There are several tests that require NULL values to be ignored, e.g., this one:

http://www.w3.org/2001/sw/rdb2rdf/test-cases/#R2RMLTC0013a

It does not appear that an implementation could pass the test suite if it doesn't handle at least *some* of the cases for NULLs correctly.

Best,
Richard


> 
> Thanks!
> --
> Vladimir Alexiev, PhD, PMP
> Lead, Data and Ontology Management Group
> Ontotext Corp, www.ontotext.com
> Sirma Group Holding, www.sirma.com
> Email: vladimir.alexiev@ontotext.com, skype:valexiev1  
> Mobile: +359 888 568 132, SMS: 359888568132@sms.mtel.net
> Landline: +359 (988) 106 084, Fax: +359 (2) 975 3226
> Calendar: https://www.google.com/calendar/embed?src=vladimir%40sirma.bg
> 
> 
> 
> 
> 
Received on Wednesday, 18 September 2013 06:42:40 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:45:18 UTC