add caching to near the metal in Sparql Query