def select_top_relsent_cred(relsent):
    """Select the top available credibility source for a relsent
    This will be either the domain_credibility or a normalised 
    claimReview_credibility_rating.
    
    :param relsent: a SimilarSent dict
    :returns: either the domain_credibility, or the claimReview_credibility_rating
      whichever has the highest confidence (although claimReview has precedence). 
      If neither is available, returns an empty dict.
    :rtype: dict
    """
    domcred = relsent.get('domain_credibility', {}).get('credibility', {})
    domcred['source'] = 'domain'
    domcred['domainReviewed'] = relsent.get(
        'domain_credibility', {}).get('itemReviewed', "??")

    cr_cred = relsent.get('claimReview_credibility_rating', {})
    cr_cred['source'] = 'claimReview'

    if 'confidence' in cr_cred and cr_cred.get('confidence', -1.0) > 0.2:
        # avoid domcred, it could point to trustworthy factchecker domain!!
        src_creds = [cr_cred]
    else:
        src_creds = [domcred, cr_cred]
    src_creds = sorted(src_creds,
                       key=lambda cred: cred.get('confidence', -1.0),
                       reverse=True)

    return src_creds[0]