code: @Override
  	public <R extends OBDAResultSet> R execute(InputQuery<R> inputQuery) throws OntopConnectionException,
              OntopReformulationException, OntopQueryEvaluationException, OntopResultConversionException {
  		if (inputQuery instanceof SelectQuery) {
  			return (R) executeInThread((SelectQuery) inputQuery, this::executeSelectQuery);
  		}
  		else if (inputQuery instanceof AskQuery) {
  			return (R) executeInThread((AskQuery) inputQuery, this::executeBooleanQuery);
  		}
  		else if (inputQuery instanceof ConstructQuery) {
  			return (R) executeInThread((ConstructQuery) inputQuery, this::executeConstructQuery);
  		}
  		else if (inputQuery instanceof DescribeQuery) {
  			return (R) executeDescribeQuery((DescribeQuery) inputQuery);
  		}
  		else {
  			throw new OntopUnsupportedInputQueryException("Unsupported query type: " + inputQuery);
  		}
  	}
docs: Calls the necessary tuple or graph query execution Implements describe
  uri or var logic Returns the result set for the given query