docs: def to_json(self, include_id=False):
          """Create a citation dictionary that is used to recreate the edge data dictionary of a :class:`BELGraph`.
  
          :param bool include_id: If true, includes the model identifier
          :return: Citation dictionary for the recreation of a :class:`BELGraph`.
          :rtype: dict[str,str]
          """
          result = {
              CITATION_REFERENCE: self.reference,
              CITATION_TYPE: self.type
          }
  
          if include_id:
              result['id'] = self.id
  
          if self.name:
              result[CITATION_NAME] = self.name
  
          if self.title:
              result[CITATION_TITLE] = self.title
  
          if self.volume:
              result[CITATION_VOLUME] = self.volume
  
          if self.pages:
              result[CITATION_PAGES] = self.pages
  
          if self.date:
              result[CITATION_DATE] = self.date.strftime('%Y-%m-%d')
  
          if self.first:
              result[CITATION_FIRST_AUTHOR] = self.first.name
  
          if self.last:
              result[CITATION_LAST_AUTHOR] = self.last.name
  
          if self.authors:
              result[CITATION_AUTHORS] = sorted(
                  author.name
                  for author in self.authors
              )
  
          return result