I've seen in various places where people claim that SPARQL has a Closed World Assumption (CWA ... anything unknown is false) and has a Unique Name Assumption (UNA ... each "name" refers to some thing unique).
An example from this paper:
Querying Semantic Web Data with SPARQL. Marcelo Arenas, Jorge Perez. PODS 2011.
"Nevertheless, SPARQL has adopted a semantics based on a closed world assumption."
For evidence of CWA, people cite issues when considering SPARQL features like negation as failure (!BOUND
/OPTIONAL
or NOT EXISTS
/MINUS
) and counts (returns an exact value like "3", not "≥3").
The UNA of SPARQL has also come up in discussion with various academic types. People cite issues with two URIs that could refer to the same thing not being considered equal, or counts possibly counting the same thing twice if it is given two RDF term references.
The argument then is that the UNA and CWA of SPARQL are somehow incompatible with the No-UNA and OWA of RDF and OWL.
I take exception to this view of SPARQL adopting a CWA or a UNA. For me, SPARQL is defined in terms of lookups on data and data elements (RDF terms). Leaving completely aside SPARQL entailment and datatypes, SPARQL says nothing about what these data mean in relation to the real-world and SPARQL does not say anything about what things might refer to. In other words, SPARQL does not consider an interpretation of the data it indexes.
Thus, for example, when asking a count query, I don't see that as meaning, e.g., "how many presidents have there been in the United States" (SPARQL could only answer "≥0" or "≥1" in all such cases), I see this as asking "how many results/RDF terms for this query can I find for the data indexed" (which can be a non-trivial and actually useful answer). Similarly, in SPARQL I do not expect to ask "has there (not) been a female US president" ... I expect to ask "do these data (not) contain any binding for this query looking for female US presidents".
In summary, without something like interpretations, I don't see that SPARQL has anything to do with either assumption, let alone fall into one side or the other (CWA/OWA # UNA/No UNA).
Nonetheless, I've seen this claim that SPARQL has CWA and/or UNA multiple times and in fairly notable contexts. So I wonder if this is their misconception or mine?
In summary: Is it erroneous to say that SPARQL takes a CWA? Is it erroneous to say that SPARQL takes a UNA?