Найти небольшую и чистую реализацию SPARQL будет сложно, поскольку язык довольно сложный и выразительный, и большинство реализаций (включая мою собственную) добавляют различные расширения к синтаксису, как того требуют клиенты / предполагаемые сценарии использования. *
AFAIK Документация Jena содержит наиболее полное описание того, как на самом деле функционирует реализация SPARQL, но, как вы говорите, она довольно сложная.
С точки зрения понимания и обучения SPARQL очень важно разобраться в алгебре SPARQL. Если вы понимаете алгебру, вы можете вручную определить, как запрос должен переводиться в алгебру, а затем выполнить его вручную - очевидно, я не рекомендую пробовать это для чего-либо, кроме относительно простых запросов к очень маленьким наборам данных!
Еще одна ключевая вещь, которую нужно учить, это то, что язык не является процедурным, реализация может свободно изменять порядок и корректировать запрос любым удобным для него способом, если это не меняет фактического значения запроса.