-
Notifications
You must be signed in to change notification settings - Fork 11
Description
R2RML states
When providing access to the output dataset, an R2RML processor MUST abort any operation that requires inspecting or returning an RDF term whose generation would give rise to a data error, and report an error to the agent invoking the operation.
but also
Data errors cannot generally be detected by analyzing the table schema of the database, but only by scanning the data in the tables. For large and rapidly changing databases, this can be impractical. Therefore, R2RML processors are allowed to answer queries that do not “touch” a data error, and the behavior of such operations is well-defined. For the same reason, the conformance of R2RML mappings is defined without regard for the presence of data errors.
So, data validation (ie incoming data) is optional for [R2]RML engines and I agree with that.
Remaining question is: does that means that IRI validation (ie outgoing data) is optional?
If it's not, every generated term should be validated (so increased processing time) to make sure the engine does not output invalid RDF
If it is, and RML engine (whose sole purpose is to generate RDF) could generate invalid RDF.
I vote for 'IRI validation MUST be part of the functionality of an RML engine', but that doesn't mean that individual engines cannot support 'lenient' modes to generate RDF-like strings faster, but without validation (I'm removing this last comment as it's out of scope).