Add a discourse relation to the document graph.

        Parameters
        ----------
        add_discrel : etree.Element
            etree representation of a <discRel> element which describes the
            relation between two EDUs.
            The ID of the other EDU is given in the arg2 attribute.
            Note, that arg2 can either reference an EDU (e.g. edu_9_3_2
            or an EDU range, e.g. edus9_3_1-5_0).

        Example
        -------

           <edu xml:id="edu_9_3_0">
            <discRel relation="Explanation-Speechact" marking="-" arg2="edus9_3_1-5_0"/>
            <node xml:id="s128_504" cat="SIMPX" func="--">
            ...
            </node>
            <word xml:id="s128_3" form=":" pos="$." lemma=":" func="--" deprel="ROOT"/>
           </edu>

             <edu xml:id="edu_9_3_1">
              <discRel relation="Continuation" marking="-" arg2="edu_9_3_2"/>
              <node xml:id="s128_506" cat="VF" func="-" parent="s128_525">
              ...
              </node>
              ...
             </edu>

def add_discrel(self, discrel):
        """
        Add a discourse relation to the document graph.

        Parameters
        ----------
        add_discrel : etree.Element
            etree representation of a <discRel> element which describes the
            relation between two EDUs.
            The ID of the other EDU is given in the arg2 attribute.
            Note, that arg2 can either reference an EDU (e.g. edu_9_3_2
            or an EDU range, e.g. edus9_3_1-5_0).

        Example
        -------

           <edu xml:id="edu_9_3_0">
            <discRel relation="Explanation-Speechact" marking="-" arg2="edus9_3_1-5_0"/>
            <node xml:id="s128_504" cat="SIMPX" func="--">
            ...
            </node>
            <word xml:id="s128_3" form=":" pos="$." lemma=":" func="--" deprel="ROOT"/>
           </edu>

             <edu xml:id="edu_9_3_1">
              <discRel relation="Continuation" marking="-" arg2="edu_9_3_2"/>
              <node xml:id="s128_506" cat="VF" func="-" parent="s128_525">
              ...
              </node>
              ...
             </edu>
        """
        if self.ignore_relations is False:
            arg1_id = self.get_element_id(discrel)
            arg2_id = discrel.attrib['arg2']
            reltype = discrel.attrib['relation']
            discrel_attribs = self.element_attribs_to_dict(discrel)
            self.node[arg1_id].update(discrel_attribs)
            self.add_layer(arg1_id, self.ns+':discourse')
            self.add_layer(arg1_id, self.ns+':relation')
            self.add_edge(arg1_id, arg2_id,
                          layers={self.ns, self.ns+':discourse', self.ns+':relation'},
                          edge_type=dg.EdgeTypes.pointing_relation,
                          relation=reltype,
                          label='discourse:'+reltype)