code: def inferMainPropertyType(uriref):
      
      if uriref:
          if uriref == rdflib.OWL.DatatypeProperty:
              return uriref
          elif uriref == rdflib.OWL.AnnotationProperty:
              return uriref
          elif uriref == rdflib.RDF.Property:
              return uriref
          else:  # hack..
              return rdflib.OWL.ObjectProperty
      else:
          return None
docs: Attempt to reduce the property types to 4 main types
      (without the OWL ontology - which would be the propert way)
  
      In [3]: for x in g.all_properties:
         ...:		print x.rdftype
         ...:
      http://www.w3.org/2002/07/owl#FunctionalProperty
      http://www.w3.org/2002/07/owl#FunctionalProperty
      http://www.w3.org/2002/07/owl#InverseFunctionalProperty
      http://www.w3.org/2002/07/owl#ObjectProperty
      http://www.w3.org/2002/07/owl#ObjectProperty
      http://www.w3.org/2002/07/owl#TransitiveProperty
      http://www.w3.org/2002/07/owl#TransitiveProperty
      etc.....