original_docstring: 
          Creates a simple graph with one workflow handling two independent workflows
          (with one simple calculation each). It was designed and used mainly to point
          out how the deletion behaviour works when setting call_work_forward to true:
          in this case if PWA is deleted, the somewhat independent PWB will also be
          deleted. Even worse, if call_calc_forward was also enabled, even the data
          provenance controlled by PWB (PCB and DOB) would be deleted as well.
          The graph is composed of the following nodes:
  
          * PW0: parent workflow, which calls both PWA and PWB.
          * PWA: it has a single call to PCA, with input DIA and output DOA.
          * PWB: it has a single call to PCB, with input DIB and output DOB.
  
          This should look something like this (you can find a nicer version of
          this graph in the documentation, as it is the same used to explain the
          consistency rules)::
  
                +-------------------------------------+   +-------------------------------------+
                |     inwork                          |   |                          inwork     |
                |                                     v   v                                     |
                |                      call_work    +-------+    call_work                      |
                |                 +---------------- |  PW0  | -----------------+                |
                |                 |                 +-------+                  |                |
                |                 v                  |     |                   v                |
                |     inwork    +---+    return      |     |      return    +---+    inwork     |
                | +-----------> |PWA| ------------+  |     |  +-----------> |PWB| ------------+ |
                | |             +---+             |  |     |  |             +---+             | |
                | |               |               |  |     |  |               |               | |
                | |               | call_calc     |  |     |  |               | call_calc     | |
                | |               |               |  |     |  |               |               | |
                | |               v               v  v     v  v               v               | |
              +-----+  incall   +---+  create   +-----+   +-----+   create  +---+   incall  +-----+
              | DIA | --------> |PCA| --------> | DOA |   | DOB | <-------- |PCB| <-------- | DIB |
              +-----+           +---+           +-----+   +-----+           +---+           +-----+
  
          
docstring: Creates a simple graph with one workflow handling two independent workflows
  (with one simple calculation each). It was designed and used mainly to point
  out how the deletion behaviour works when setting call_work_forward to true:
  in this case if PWA is deleted, the somewhat independent PWB will also be
  deleted. Even worse, if call_calc_forward was also enabled, even the data
  provenance controlled by PWB (PCB and DOB) would be deleted as well.
  The graph is composed of the following nodes.
  
  parent workflow, which calls both PWA and PWB.
  PWA: it has a single call to PCA, with input DIA and output DOA.
  PWB: it has a single call to PCB, with input DIB and output DOB.
  
  This should look something like this (you can find a nicer version of
  this graph in the documentation, as it is the same used to explain the
  consistency rules):.
  
  
docstring_tokens: Creates a simple graph with one workflow handling two independent workflows ( with one simple calculation each ) . It was designed and used mainly to point out how the deletion behaviour works when setting call_work_forward to true : in this case if PWA is deleted the somewhat independent PWB will also be deleted . Even worse if call_calc_forward was also enabled even the data provenance controlled by PWB ( PCB and DOB ) would be deleted as well . The graph is composed of the following nodes . parent workflow which calls both PWA and PWB . PWA : it has a single call to PCA with input DIA and output DOA . PWB : it has a single call to PCB with input DIB and output DOB . This should look something like this ( you can find a nicer version of this graph in the documentation as it is the same used to explain the consistency rules ) : .
code: def _create_indep2w_graph(self):
          """
          Creates a simple graph with one workflow handling two independent workflows
          (with one simple calculation each). It was designed and used mainly to point
          out how the deletion behaviour works when setting call_work_forward to true:
          in this case if PWA is deleted, the somewhat independent PWB will also be
          deleted. Even worse, if call_calc_forward was also enabled, even the data
          provenance controlled by PWB (PCB and DOB) would be deleted as well.
          The graph is composed of the following nodes:
  
          * PW0: parent workflow, which calls both PWA and PWB.
          * PWA: it has a single call to PCA, with input DIA and output DOA.
          * PWB: it has a single call to PCB, with input DIB and output DOB.
  
          This should look something like this (you can find a nicer version of
          this graph in the documentation, as it is the same used to explain the
          consistency rules)::
  
                +-------------------------------------+   +-------------------------------------+
                |     inwork                          |   |                          inwork     |
                |                                     v   v                                     |
                |                      call_work    +-------+    call_work                      |
                |                 +---------------- |  PW0  | -----------------+                |
                |                 |                 +-------+                  |                |
                |                 v                  |     |                   v                |
                |     inwork    +---+    return      |     |      return    +---+    inwork     |
                | +-----------> |PWA| ------------+  |     |  +-----------> |PWB| ------------+ |
                | |             +---+             |  |     |  |             +---+             | |
                | |               |               |  |     |  |               |               | |
                | |               | call_calc     |  |     |  |               | call_calc     | |
                | |               |               |  |     |  |               |               | |
                | |               v               v  v     v  v               v               | |
              +-----+  incall   +---+  create   +-----+   +-----+   create  +---+   incall  +-----+
              | DIA | --------> |PCA| --------> | DOA |   | DOB | <-------- |PCB| <-------- | DIB |
              +-----+           +---+           +-----+   +-----+           +---+           +-----+
  
          """
  
          dia = orm.Data().store()
          dib = orm.Data().store()
  
          pw0 = orm.WorkflowNode()
          pw0.add_incoming(dia, link_type=LinkType.INPUT_WORK, link_label='inpwork0a')
          pw0.add_incoming(dib, link_type=LinkType.INPUT_WORK, link_label='inpwork0b')
          pw0.store()
  
          pwa = orm.WorkflowNode()
          pwa.add_incoming(dia, link_type=LinkType.INPUT_WORK, link_label='inpworka')
          pwa.add_incoming(pw0, link_type=LinkType.CALL_WORK, link_label='callworka')
          pwa.store()
  
          pwb = orm.WorkflowNode()
          pwb.add_incoming(dib, link_type=LinkType.INPUT_WORK, link_label='inpworkb')
          pwb.add_incoming(pw0, link_type=LinkType.CALL_WORK, link_label='callworkb')
          pwb.store()
  
          pca = orm.CalculationNode()
          pca.add_incoming(dia, link_type=LinkType.INPUT_CALC, link_label='inpcalca')
          pca.add_incoming(pwa, link_type=LinkType.CALL_CALC, link_label='calla')
          pca.store()
  
          pcb = orm.CalculationNode()
          pcb.add_incoming(dib, link_type=LinkType.INPUT_CALC, link_label='inpcalcb')
          pcb.add_incoming(pwb, link_type=LinkType.CALL_CALC, link_label='callb')
          pcb.store()
  
          doa = orm.Data().store()
          doa.add_incoming(pca, link_type=LinkType.CREATE, link_label='createa')
          doa.add_incoming(pwa, link_type=LinkType.RETURN, link_label='returna')
          doa.add_incoming(pw0, link_type=LinkType.RETURN, link_label='return0a')
  
          dob = orm.Data().store()
          dob.add_incoming(pcb, link_type=LinkType.CREATE, link_label='createb')
          dob.add_incoming(pwb, link_type=LinkType.RETURN, link_label='returnb')
          dob.add_incoming(pw0, link_type=LinkType.RETURN, link_label='return0b')
  
          return dia, doa, pca, pwa, dib, dob, pcb, pwb, pw0
code_tokens: def _create_indep2w_graph ( self ) : dia = orm . Data ( ) . store ( ) dib = orm . Data ( ) . store ( ) pw0 = orm . WorkflowNode ( ) pw0 . add_incoming ( dia , link_type = LinkType . INPUT_WORK , link_label = 'inpwork0a' ) pw0 . add_incoming ( dib , link_type = LinkType . INPUT_WORK , link_label = 'inpwork0b' ) pw0 . store ( ) pwa = orm . WorkflowNode ( ) pwa . add_incoming ( dia , link_type = LinkType . INPUT_WORK , link_label = 'inpworka' ) pwa . add_incoming ( pw0 , link_type = LinkType . CALL_WORK , link_label = 'callworka' ) pwa . store ( ) pwb = orm . WorkflowNode ( ) pwb . add_incoming ( dib , link_type = LinkType . INPUT_WORK , link_label = 'inpworkb' ) pwb . add_incoming ( pw0 , link_type = LinkType . CALL_WORK , link_label = 'callworkb' ) pwb . store ( ) pca = orm . CalculationNode ( ) pca . add_incoming ( dia , link_type = LinkType . INPUT_CALC , link_label = 'inpcalca' ) pca . add_incoming ( pwa , link_type = LinkType . CALL_CALC , link_label = 'calla' ) pca . store ( ) pcb = orm . CalculationNode ( ) pcb . add_incoming ( dib , link_type = LinkType . INPUT_CALC , link_label = 'inpcalcb' ) pcb . add_incoming ( pwb , link_type = LinkType . CALL_CALC , link_label = 'callb' ) pcb . store ( ) doa = orm . Data ( ) . store ( ) doa . add_incoming ( pca , link_type = LinkType . CREATE , link_label = 'createa' ) doa . add_incoming ( pwa , link_type = LinkType . RETURN , link_label = 'returna' ) doa . add_incoming ( pw0 , link_type = LinkType . RETURN , link_label = 'return0a' ) dob = orm . Data ( ) . store ( ) dob . add_incoming ( pcb , link_type = LinkType . CREATE , link_label = 'createb' ) dob . add_incoming ( pwb , link_type = LinkType . RETURN , link_label = 'returnb' ) dob . add_incoming ( pw0 , link_type = LinkType . RETURN , link_label = 'return0b' ) return dia , doa , pca , pwa , dib , dob , pcb , pwb , pw0
short_docstring: Creates a simple graph with one workflow handling two independent workflows
  (with one simple calculation each).
short_docstring_tokens: Creates a simple graph with one workflow handling two independent workflows ( with one simple calculation each ) .
comment: """
          Creates a simple graph with one workflow handling two independent workflows
          (with one simple calculation each). It was designed and used mainly to point
          out how the deletion behaviour works when setting call_work_forward to true:
          in this case if PWA is deleted, the somewhat independent PWB will also be
          deleted. Even worse, if call_calc_forward was also enabled, even the data
          provenance controlled by PWB (PCB and DOB) would be deleted as well.
          The graph is composed of the following nodes:
  
          * PW0: parent workflow, which calls both PWA and PWB.
          * PWA: it has a single call to PCA, with input DIA and output DOA.
          * PWB: it has a single call to PCB, with input DIB and output DOB.
  
          This should look something like this (you can find a nicer version of
          this graph in the documentation, as it is the same used to explain the
          consistency rules)::
  
                +-------------------------------------+   +-------------------------------------+
                |     inwork                          |   |                          inwork     |
                |                                     v   v                                     |
                |                      call_work    +-------+    call_work                      |
                |                 +---------------- |  PW0  | -----------------+                |
                |                 |                 +-------+                  |                |
                |                 v                  |     |                   v                |
                |     inwork    +---+    return      |     |      return    +---+    inwork     |
                | +-----------> |PWA| ------------+  |     |  +-----------> |PWB| ------------+ |
                | |             +---+             |  |     |  |             +---+             | |
                | |               |               |  |     |  |               |               | |
                | |               | call_calc     |  |     |  |               | call_calc     | |
                | |               |               |  |     |  |               |               | |
                | |               v               v  v     v  v               v               | |
              +-----+  incall   +---+  create   +-----+   +-----+   create  +---+   incall  +-----+
              | DIA | --------> |PCA| --------> | DOA |   | DOB | <-------- |PCB| <-------- | DIB |
              +-----+           +---+           +-----+   +-----+           +---+           +-----+
  
          """