def get_item_annotations(self, item_url, annotation_type=None, label=None):
        """ Retrieve the annotations for an item from the server

        :type item_url: String or Item
        :param item_url: URL of the item, or an Item object
        :type annotation_type: String
        :param annotation_type: return only results with a matching Type field
        :type label: String
        :param label: return only results with a matching Label field

        :rtype: String
        :returns: the annotations as a dictionary, if the item has
            annotations, otherwise None
            The annotation dictionary has keys:
            commonProperties - properties common to all annotations
            @context - the url of the JSON-LD annotation context definition
            alveo:annotations - a list of annotations, each is a dictionary


        :raises: APIError if the request was not successful


        """
        # get the annotation URL from the item metadata, if not present then there are no annotations
        item_url = str(item_url)
        metadata = self.get_item(item_url).metadata()

        try:
            annotation_url = metadata['alveo:annotations_url']
        except KeyError:
            return None


        req_url = annotation_url
        if annotation_type is not None:
            req_url += '?'
            req_url += urlencode((('type', annotation_type),))
        if label is not None:
            if annotation_type is None:
                req_url += '?'
            else:
                req_url += '&'
            req_url += urlencode((('label',label),))
        try:
            return self.api_request(req_url)
        except KeyError:
            return None
def get_item_annotations ( self , item_url , annotation_type = None , label = None ) : item_url = str ( item_url ) metadata = self . get_item ( item_url ) . metadata ( ) try : annotation_url = metadata [ 'alveo:annotations_url' ] except KeyError : return None req_url = annotation_url if annotation_type is not None : req_url += '?' req_url += urlencode ( ( ( 'type' , annotation_type ) , ) ) if label is not None : if annotation_type is None : req_url += '?' else : req_url += '&' req_url += urlencode ( ( ( 'label' , label ) , ) ) try : return self . api_request ( req_url ) except KeyError : return None
Retrieve the annotations for an item from the server

        :type item_url: String or Item
        :param item_url: URL of the item, or an Item object
        :type annotation_type: String
        :param annotation_type: return only results with a matching Type field
        :type label: String
        :param label: return only results with a matching Label field

        :rtype: String
        :returns: the annotations as a dictionary, if the item has
            annotations, otherwise None
            The annotation dictionary has keys:
            commonProperties - properties common to all annotations
            @context - the url of the JSON-LD annotation context definition
            alveo:annotations - a list of annotations, each is a dictionary


        :raises: APIError if the request was not successful