'Computes a neighborhood consisting of the  n users to a given user based on the
strategy implemented in this method.
Parameters
user_id:  int or string
ID of user for which to find most similar other users
data_model: DataModel instance
The data model that will be the source for the possible
candidates
n_similarity: string
The similarity to compute the neighborhood (default = user_similarity)
distance: function
Pairwise metric to compute the similarity between the users.
nhood_size: int
The neighborhood size (default = None all users)'

def user_neighborhood(self, user_id, data_model, n_similarity='user_similarity', distance=None, n_users=None, **params):

    raise NotImplementedError('BaseCandidateItemsStrategy    is    an    abstract    class.')
