Parameters
        ----------
        ne : etree.Element
            etree representation of a <ne> element
            (marks a text span -- (one or more <node> or <word> elements) as a named entity)

        Example
        -------
            <ne xml:id="ne_23" type="PER">
             <word xml:id="s3_2" form="Ute" pos="NE" morph="nsf" lemma="Ute" func="-" parent="s3_501" dephead="s3_1" deprel="APP"/>
             <word xml:id="s3_3" form="Wedemeier" pos="NE" morph="nsf" lemma="Wedemeier" func="-" parent="s3_501" dephead="s3_2" deprel="APP"/>
            </ne>

def add_ne(self, ne):
        """
        Parameters
        ----------
        ne : etree.Element
            etree representation of a <ne> element
            (marks a text span -- (one or more <node> or <word> elements) as a named entity)

        Example
        -------
            <ne xml:id="ne_23" type="PER">
             <word xml:id="s3_2" form="Ute" pos="NE" morph="nsf" lemma="Ute" func="-" parent="s3_501" dephead="s3_1" deprel="APP"/>
             <word xml:id="s3_3" form="Wedemeier" pos="NE" morph="nsf" lemma="Wedemeier" func="-" parent="s3_501" dephead="s3_2" deprel="APP"/>
            </ne>
        """
        ne_id = self.get_element_id(ne)
        ne_label = 'ne:'+ne.attrib['type']
        self.add_node(ne_id, layers={self.ns, self.ns+':ne'},
                      attr_dict=self.element_attribs_to_dict(ne),
                      label=ne_label)
        # possible children: [('word', 78703), ('node', 11152), ('ne', 49)]
        for child in ne.iterchildren():
            child_id = self.get_element_id(child)
            self.add_edge(ne_id, child_id, layers={self.ns, self.ns+':ne'},
                          edge_type=dg.EdgeTypes.spanning_relation,
                          label=ne_label)