Virtuoso is a high-performance and scalable Multi-Model RDBMS, Data Integration Middleware, Linked Data Deployment, and HTTP Application Server Platform
The following query fails with Virtuoso 22023 Error SR048: Function abs needs a numeric type as its argument, not an argument of type IRI_ID (243) on the http://dbpedia.org/sparql endpoint (Virtuoso 7.20).
The dbp:engine predicate contains both xsd:decimal values and IRI references and guarding against non-numeric values is neither straightforward nor efficient.
Same behaviour for all numeric functions (SPARQL 1.1 Query Language § 17.4.4), which would be expected to raise an error, i.e. to return an unbound value, if the argument is not a numeric value.
The following query fails with
Virtuoso 22023 Error SR048: Function abs needs a numeric type as its argument, not an argument of type IRI_ID (243)
on the http://dbpedia.org/sparql endpoint (Virtuoso 7.20).The
dbp:engine
predicate contains bothxsd:decimal
values and IRI references and guarding against non-numeric values is neither straightforward nor efficient.Same behaviour for all numeric functions (SPARQL 1.1 Query Language § 17.4.4), which would be expected to raise an error, i.e. to return an unbound value, if the argument is not a numeric value.