Prolog is a full programming language, SPARQL is only a query language.
SPARQL is similar to non-recursive Datalogˆnot, but that's a subset of full Prolog. SPARQL is a query language, not a full-on programming language as Prolog is.
True. Most notably I badly miss the ability to encapsulate queries in named "functions". That is one of the things I really like in prolog, since it enables to quickly raise one's level of abstraction, by building up a "language" of facts and rules.
If anyone knows a way to do something similar in SPARQL, I'm highly interested to know.
You can do this with user-defined rules in some RDF databases. Stardog(.com) supports it nicely.