nodes: 0, module; 1, function_definition; 2, function_name:sortProperties; 3, parameters; 4, comment:# modified to sort objects using their global rank; 5, block; 6, identifier:self; 7, identifier:properties; 8, expression_statement; 9, comment:# Sort object lists; 10, for_statement; 11, comment:# Make sorted list of properties; 12, return_statement; 13, comment:"""Take a hash from predicate uris to lists of values.
             Sort the lists of values.  Return a sorted list of properties."""; 14, pattern_list; 15, call; 16, block; 17, call; 18, identifier:prop; 19, identifier:objects; 20, attribute; 21, argument_list; 22, expression_statement; 23, identifier:sorted; 24, argument_list; 25, identifier:properties; 26, identifier:items; 27, call; 28, identifier:properties; 29, keyword_argument; 30, attribute; 31, argument_list; 32, identifier:key; 33, lambda; 34, identifier:objects; 35, identifier:sort; 36, keyword_argument; 37, lambda_parameters; 38, subscript; 39, identifier:key; 40, attribute; 41, identifier:p; 42, attribute; 43, identifier:p; 44, identifier:self; 45, identifier:_globalSortKey; 46, identifier:self; 47, identifier:predicate_rank
code: def sortProperties(self, properties):  # modified to sort objects using their global rank
          """Take a hash from predicate uris to lists of values.
             Sort the lists of values.  Return a sorted list of properties."""
          # Sort object lists
          for prop, objects in properties.items():
              objects.sort(key=self._globalSortKey)
  
          # Make sorted list of properties
          return sorted(properties, key=lambda p: self.predicate_rank[p])