docs: def refresh(self, refresh_binary=True):
  
  		'''
  		Performs GET request and refreshes RDF information for resource.
  
  		Args:
  			None
  
  		Returns:
  			None
  		'''
  
  		updated_self = self.repo.get_resource(self.uri)
  
  		# if resource type of updated_self != self, raise exception
  		if not isinstance(self, type(updated_self)):
  			raise Exception('Instantiated %s, but repository reports this resource is %s' % (type(updated_self), type(self)) )
  
  		if updated_self:
  
  			# update attributes
  			self.status_code = updated_self.status_code
  			self.rdf.data = updated_self.rdf.data
  			self.headers = updated_self.headers
  			self.exists = updated_self.exists
  
  			# update graph if RDFSource
  			if type(self) != NonRDFSource:
  				self._parse_graph()
  
  			# empty versions
  			self.versions = SimpleNamespace()
  
  			# if NonRDF, set binary attributes
  			if type(updated_self) == NonRDFSource and refresh_binary:
  				self.binary.refresh(updated_self)
  
  			# fire resource._post_create hook if exists
  			if hasattr(self,'_post_refresh'):
  				self._post_refresh()
  
  			# cleanup
  			del(updated_self)
  
  		else:
  			logger.debug('resource %s not found, dumping values')
  			self._empty_resource_attributes()