Returns the results of the Sparql query to a :class:`lst` of concepts and collections.
            The return :class:`lst`  can be empty.

        :param query (str): Sparql query
        :returns: A :class:`lst` of concepts and collections. Each of these
            is a dict with the following keys:
            * id: id within the conceptscheme
            * uri: :term:`uri` of the concept or collection
            * type: concept or collection
            * label: A label to represent the concept or collection.

def _get_answer(self, query, **kwargs):
        # send request to getty
        """ Returns the results of the Sparql query to a :class:`lst` of concepts and collections.
            The return :class:`lst`  can be empty.

        :param query (str): Sparql query
        :returns: A :class:`lst` of concepts and collections. Each of these
            is a dict with the following keys:
            * id: id within the conceptscheme
            * uri: :term:`uri` of the concept or collection
            * type: concept or collection
            * label: A label to represent the concept or collection.
        """
        request = self.base_url + "sparql.json"
        try:
            res = self.session.get(request, params={"query": query})
        except ConnectionError as e:
            raise ProviderUnavailableException("Request could not be executed - Request: %s - Params: %s" % (request, query))
        if res.status_code == 404:
            raise ProviderUnavailableException("Service not found (status_code 404) - Request: %s - Params: %s" % (request, query))
        if not res.encoding:
            res.encoding = 'utf-8'
        r = res.json()
        d = {}
        for result in r["results"]["bindings"]:
            uri = result["Subject"]["value"]
            if "Term" in result:
                label = result["Term"]["value"]
            else:
                label = "<not available>"
            item = {
            'id': result["Id"]["value"],
            'uri': uri,
            'type': result["Type"]["value"].rsplit('#', 1)[1],
            'label': label,
            'lang': result["Lang"]["value"]
            }

            if uri not in d:
                d[uri] = item
            if tags.tag(d[uri]['lang']).format == tags.tag(self._get_language(**kwargs)).format:
                pass
            elif tags.tag(item['lang']).format == tags.tag(self._get_language(**kwargs)).format:
                d[uri] = item
            elif tags.tag(item['lang']).language and (tags.tag(item['lang']).language.format == tags.tag(self._get_language()).language.format):
                d[uri] = item
            elif tags.tag(item['lang']).format == tags.tag('en').format:
                d[uri] = item
        return list(d.values())