  
  # TODO: document
  cdef class Candidate:
  
      cdef hash_t entity_hash
      cdef hash_t alias_hash
      cdef float prior_prob
  
  
 
</s> remove     def __init__(self, entity_hash, alias_hash, prior_prob):
 </s> add     def __init__(self, KnowledgeBase kb, entity_hash, alias_hash, prior_prob):
        self.kb = kb </s> remove     def get_entity_name(self, KnowledgeBase kb):
        return kb.strings[self.entity_hash]
 </s> add     property kb_id_:
        """RETURNS (unicode): ID of this entity in the KB"""
        def __get__(self):
            return self.kb.strings[self.entity_hash]

    property kb_id:
        """RETURNS (uint64): hash of the entity's KB ID"""
        def __get__(self):
            return self.entity_hash

    property alias_:
        """RETURNS (unicode): ID of the original alias"""
        def __get__(self):
            return self.kb.strings[self.alias_hash] </s> remove         return [Candidate(entity_hash=self._entries[entry_index].entity_hash,
 </s> add         return [Candidate(kb=self,
                          entity_hash=self._entries[entry_index].entity_hash,
    cdef readonly KnowledgeBase kb
  
  # TODO: document
  cdef class Candidate:
  
    cdef readonly KnowledgeBase kb
      cdef hash_t entity_hash
      cdef hash_t alias_hash
      cdef float prior_prob
  
  
keep keep keep add keep keep keep keep keep
 property getters and keep track of KB internally 
spacy/kb.pxd