code: def sparql(self, dataset_key, query,
                 desired_mimetype='application/sparql-results+json', **kwargs):
          
          api_client = self._build_api_client(
              default_mimetype_header_accept=desired_mimetype)
          sparql_api = kwargs.get('sparql_api_mock',
                                  _swagger.SparqlApi(api_client))
          owner_id, dataset_id = parse_dataset_key(dataset_key)
          try:
              response = sparql_api.sparql_post(
                  owner_id, dataset_id, query, _preload_content=False, **kwargs)
              return six.BytesIO(response.data)
          except _swagger.rest.ApiException as e:
              raise RestApiError(cause=e)
docs: Executes SPARQL queries against a dataset via POST
  
          :param dataset_key: Dataset identifier, in the form of owner/id
          :type dataset_key: str
          :param query: SPARQL query
          :type query: str
          :returns: file object that can be used in file parsers and
              data handling modules.
          :rtype: file object
          :raises RestApiException: If a server error occurs
  
          Examples
          --------
          >>> import datadotworld as dw
          >>> api_client = dw.api_client()
          >>> api_client.sparql_post('username/test-dataset',
          ...     query) # doctest: +SKIP