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