code: def addParts(self, part_id, parent_id, part_relationship=None):
          
          if part_relationship is None:
              part_relationship = self.globaltt['has_part']
          # Fail loudly if parent or child identifiers are None
          if parent_id is None:
              raise TypeError('Attempt to pass None as parent')
          elif part_id is None:
              raise TypeError('Attempt to pass None as child')
          elif part_relationship is None:
              part_relationship = self.globaltt['has_part']
  
          self.graph.addTriple(parent_id, part_relationship, part_id)
  
          return
docs: This will add a has_part (or subproperty) relationship between
          a parent_id and the supplied part.
          By default the relationship will be BFO:has_part,
          but any relationship could be given here.
          :param part_id:
          :param parent_id:
          :param part_relationship:
          :return: