On the semantics of SPARQL