def METHOD_NAME(taxonomy_id, user_or_token, session):
    """Query the database and return the requested Taxonomy if it is accessible
    to the requesting User or Token owner. If the Taxonomy is not accessible or
    if it does not exist, return an empty list.
    Parameters
    ----------
    taxonomy_id : integer
       The ID of the requested Taxonomy.
    user_or_token : `baselayer.app.models.User` or `baselayer.app.models.Token`
       The requesting `User` or `Token` object.
    session: sqlalchemy.Session
        Database session for this transaction
    Returns
    -------
    tax : `skyportal.models.Taxonomy`
       The requested Taxonomy.
    """
    return session.scalars(
        Taxonomy.select(session.user_or_token)
        .where(Taxonomy.id == taxonomy_id)
        .where(
            Taxonomy.groups.any(
                Group.id.in_([g.id for g in user_or_token.accessible_groups])
            )
        )
    ).all()