docs: def refreshCompositeOf(self, single_keywords, composite_keywords,
                             store=None, namespace=None):
          """Re-check sub-parts of this keyword.
  
          This should be called after the whole RDF was processed, because
          it is using a cache of single keywords and if that
          one is incomplete, you will not identify all parts.
          """
          def _get_ckw_components(new_vals, label):
              if label in single_keywords:
                  new_vals.append(single_keywords[label])
              elif ('Composite.%s' % label) in composite_keywords:
                  for l in composite_keywords['Composite.{0}'.format(label)].compositeof:  # noqa
                      _get_ckw_components(new_vals, l)
              elif label in composite_keywords:
                  for l in composite_keywords[label].compositeof:
                      _get_ckw_components(new_vals, l)
              else:
                  # One single or composite keyword is missing from the taxonomy.
                  # This is due to an error in the taxonomy description.
                  message = "The composite term \"%s\""\
                            " should be made of single keywords,"\
                            " but at least one is missing." % self.id
                  if store is not None:
                      message += "Needed components: %s"\
                                 % list(store.objects(self.id,
                                                      namespace["compositeOf"]))
                  message += " Missing is: %s" % label
                  raise TaxonomyError(message)
  
          if self.compositeof:
              new_vals = []
              try:
                  for label in self.compositeof:
                      _get_ckw_components(new_vals, label)
                  self.compositeof = new_vals
              except TaxonomyError as err:
                  # the composites will be empty
                  # (better than to have confusing, partial matches)
                  self.compositeof = []
                  current_app.logger.error(err)