Adds a new property to the property layer
        @type pid: string
        @param pid: property identifier
        @type label: string
        @param label: the label of the property
        @type term_span: list
        @param term_span: list of term identifiers

def add_property(self,pid, label,term_span):
        """
        Adds a new property to the property layer
        @type pid: string
        @param pid: property identifier
        @type label: string
        @param label: the label of the property
        @type term_span: list
        @param term_span: list of term identifiers
        """
        new_property = Cproperty(type=self.type)
        self.node.append(new_property.get_node())
        ##Set the id
        if pid is None:
            ##Generate a new pid
            existing_pids = [property.get_id() for property in self]
            n = 0
            new_pid = ''
            while True:
                new_pid = 'p'+str(n)
                if new_pid not in existing_pids: break
                n += 1
            pid = new_pid
        new_property.set_id(pid)
        
        new_property.set_type(label)
        
        new_ref = Creferences()
        new_ref.add_span(term_span)
        new_property.set_reference(new_ref)