For background, see [[ https://issues.apache.org/jira/browse/JENA-2005?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel&focusedCommentId=17241743#comment-17241743 | this issue ]].
When a statement is written having a value that is a quantity, and that quantity is a whole number, the WD Query Service binds a datatyped literal value like "4"^^xsd:decimal . This is the canonical representation under XML Schema 1. However, under XML Schema 1.1, the [[ https://www.w3.org/TR/xmlschema11-2/#decimal | canonical representation]] is now "4.0"^^xsd:decimal .
The practical implication of this is that if a federated query to the Wikidata Query Service is made from a service like Apache Jena that supports XML Schema 1.1, variables that are bound to the same whole decimal number locally and on the remote endpoint do not match.
I realize that Blazegraph is no longer supported by its developers, so I don't know how difficult it would be to update the handling of whole decimal numbers to XML Schema 1.1
To reproduce, load this triple locally in Jena into the graph <http://journals>:
wd:Q97446840 wdt:P2896 4.0 .
Perform the following query
prefix wd: <http://www.wikidata.org/entity/>
prefix wdt: <http://www.wikidata.org/prop/direct/>
SELECT DISTINCT ?value
WHERE {
GRAPH <http://journals> {
wd:Q97446840 wdt:P2896 ?value.
}
}
The result is "4.0"^^xsd:decimal
Now in Jena perform the following federated query:
prefix wd: <http://www.wikidata.org/entity/>
prefix wdt: <http://www.wikidata.org/prop/direct/>
SELECT DISTINCT ?value
WHERE {
SERVICE <https://query.wikidata.org/sparql> {
wd:Q97446840 wdt:P2896 ?value.
}
}
The response is "4"^^xsd:decimal . If you combine the two queries into a single query and perform a MINUS operation, the two bindings for ?value are not seen as the same.