code: def add_discrel(self, discrel):
          
          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)
docs: 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>