code: def validate(self):
          
          log.info("{}\nValidating against {}"
                   .format("-" * 100, self.schema_def.__class__.__name__))
  
          if not self.schema_def:
              raise ValueError("No schema definition supplied.")
  
          self.checked_attributes = []
  
          # TODO - this should maybe choose the actually used namespace, not just
          # the first one in the list
          result = ValidationResult(self.allowed_namespaces[0],
                                    self.schema_def.__class__.__name__)
          for subject, predicate, object_ in self.graph:
              log.info("\nsubj: {subj}\npred: {pred}\n obj: {obj}"
                       .format(subj=subject, pred=predicate,
                               obj=object_.encode('utf-8')))
              result.add_error(self._check_triple((subject, predicate, object_)))
          return result
docs: Iterate over all triples in the graph and validate each one
              appropriately