def __add_token_to_document(self, token, token_id, connected):
        """
        adds a token to the document graph as a node with the given ID.

        Parameters
        ----------
        token : str
            the token to be added to the document graph
        token_id : int
            the node ID of the token to be added, which must not yet
            exist in the document graph
        connected : bool
            Make the graph connected, i.e. add an edge from root this token.
        """
        regex_match = ANNOTATED_ANAPHORA_REGEX.search(token)
        if regex_match:  # token is annotated
            unannotated_token = regex_match.group('token')
            unicode_token = ensure_unicode(unannotated_token)
            annotation = regex_match.group('annotation')
            anno_type = ANNOTATION_TYPES[annotation]
            certainty = "1.0" if not regex_match.group('uncertain') else "0.5"
            self.add_node(
                token_id,
                layers={self.ns, self.ns+':token', self.ns+':annotated'},
                attr_dict={
                    self.ns+':annotation': anno_type,
                    self.ns+':certainty': certainty,
                    self.ns+':token': unicode_token,
                    'label': u"{0}_{1}".format(unicode_token, anno_type)})
        else:  # token is not annotated
            self.add_node(
                token_id,
                layers={self.ns, self.ns+':token'},
                attr_dict={self.ns+':token': ensure_unicode(token),
                           'label': ensure_unicode(token)})

        if connected:
            self.add_edge(self.root, token_id,
                          layers={self.ns, self.ns+':token'})
def __add_token_to_document ( self , token , token_id , connected ) : regex_match = ANNOTATED_ANAPHORA_REGEX . search ( token ) if regex_match : unannotated_token = regex_match . group ( 'token' ) unicode_token = ensure_unicode ( unannotated_token ) annotation = regex_match . group ( 'annotation' ) anno_type = ANNOTATION_TYPES [ annotation ] certainty = "1.0" if not regex_match . group ( 'uncertain' ) else "0.5" self . add_node ( token_id , layers = { self . ns , self . ns + ':token' , self . ns + ':annotated' } , attr_dict = { self . ns + ':annotation' : anno_type , self . ns + ':certainty' : certainty , self . ns + ':token' : unicode_token , 'label' : u"{0}_{1}" . format ( unicode_token , anno_type ) } ) else : self . add_node ( token_id , layers = { self . ns , self . ns + ':token' } , attr_dict = { self . ns + ':token' : ensure_unicode ( token ) , 'label' : ensure_unicode ( token ) } ) if connected : self . add_edge ( self . root , token_id , layers = { self . ns , self . ns + ':token' } )
adds a token to the document graph as a node with the given ID.

        Parameters
        ----------
        token : str
            the token to be added to the document graph
        token_id : int
            the node ID of the token to be added, which must not yet
            exist in the document graph
        connected : bool
            Make the graph connected, i.e. add an edge from root this token.