docs: def to_json(self):
          """Create a property dict that is used to recreate an edge dictionary for a :class:`BELGraph`.
  
          :return: Property dictionary of an edge that is participant (sub/obj) related.
          :rtype: dict
          """
          participant = self.side
  
          prop_dict = {
              participant: {
                  MODIFIER: self.modifier  # FIXME this is probably wrong for location
              }
          }
  
          if self.modifier == LOCATION:
              prop_dict[participant] = {
                  LOCATION: self.effect.to_json()
              }
          if self.relative_key:  # for translocations
              prop_dict[participant][EFFECT] = {
                  self.relative_key: self.effect.to_json()
              }
          elif self.effect:  # for activities
              prop_dict[participant][EFFECT] = self.effect.to_json()
  
          # degradations don't have modifications
  
          return prop_dict