code: def _buildPredicateHash(self, subject):  # XXX unmodified
          
          properties = {}
          for s, p, o in self.store.triples((subject, None, None)):
              oList = properties.get(p, [])
              oList.append(o)
              properties[p] = oList
  
          return properties
docs: Build a hash key by predicate to a list of objects for the given
          subject