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 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:
			self.status_code = updated_self.status_code
			self.rdf.data = updated_self.rdf.data
			self.headers = updated_self.headers
			self.exists = updated_self.exists
			if type(self) != NonRDFSource:
				self._parse_graph()
			self.versions = SimpleNamespace()
			if type(updated_self) == NonRDFSource and refresh_binary:
				self.binary.refresh(updated_self)
			if hasattr(self,'_post_refresh'):
				self._post_refresh()
			del(updated_self)
		else:
			logger.debug('resource %s not found, dumping values')
			self._empty_resource_attributes()