Open jindrichmynarz opened 7 years ago
The support is not planned as it is always possible to use uuid() - I do it this way - and blank nodes only cause trouble.
However, the error could be more desriptive.
So perhaps the component can simply raise an error that the configuration contains blank nodes if the following query evaluates to true
:
ASK {
?s ?p ?o .
FILTER (isBlank(?s) || isBlank(?o))
}
Blank nodes are not supported in configuration for LP-ETL components. This is already documented. However, if there is not a strong reason not to support them, it would be convenient for users if they were supported. First, users could use full syntax of RDF without worrying about LP-ETL-specific restrictions. Second, in some cases blank nodes are easier to generate than unique IRIs (in the absence of unique keys, unique IRIs would require to use
uuid()
).If blank nodes will not be supported, then can we get a more precise error? Currently, if blank nodes are used in configuration, the exception
Not a valid (absolute) IRI
is thrown:While it is true that blank nodes are not valid (absolute) IRIs, the error could be more specific. Upon seeing this error, the users may suspect they have syntax errors in the IRIs. The error can report explicitly that blank nodes are unsupported.
Tested using the develop version fd194f2aa4f49eb44e79b45d2b9e2057e3745c14.