I've studied SPARQL specification on the topic and also found this answer rather interesting. However definitions are complicated enough, so I still don't see the answer for my question.
I can't find any example of query with blank nodes that returns different results than the same query with variables in place of blank nodes.
For example is there any case when the following queries return different results:
SELECT ?a ?b WHERE { ?a :predicate _:blankNode . _:blankNode :otherPredicate ?b . }
SELECT ?a ?b WHERE { ?a :predicate ?variable . ?variable :otherPredicate ?b . }
Maybe there are more complex queries that cause different behavior?
In particular I wonder is there any examples of different results of queries executed on an RDF graph that doesn't have blank nodes.
Thanks.
PS. Yes, I know that blank nodes can be used only in one BasicGraphPattern as opposed to variables. But this is not the difference I'm talking about.