docs: def create(self, specify_uri=False, ignore_tombstone=False, serialization_format=None, stream=False, auto_refresh=None):
  
  		'''
  		Primary method to create resources.
  
  		Args:
  			specify_uri (bool): If True, uses PUT verb and sets the URI during creation.  If False, uses POST and gets repository minted URI
  			ignore_tombstone (bool): If True, will attempt creation, if tombstone exists (409), will delete tombstone and retry
  			serialization_format(str): Content-Type header / mimetype that will be used to serialize self.rdf.graph, and set headers for PUT/POST requests
  			auto_refresh (bool): If True, refreshes resource after update. If left None, defaults to repo.default_auto_refresh
  		'''
  
  		# if resource claims existence, raise exception
  		if self.exists:
  			raise Exception('resource exists attribute True, aborting')
  
  		# else, continue
  		else:
  
  			# determine verb based on specify_uri parameter
  			if specify_uri:
  				verb = 'PUT'
  			else:
  				verb = 'POST'
  
  			logger.debug('creating resource %s with verb %s' % (self.uri, verb))
  
  			# check if NonRDFSource, or extension thereof
  			#if so, run self.binary._prep_binary()
  			if issubclass(type(self),NonRDFSource):
  				self.binary._prep_binary()
  				data = self.binary.data
  
  			# otherwise, prep for RDF
  			else:
  				# determine serialization
  				if not serialization_format:
  					serialization_format = self.repo.default_serialization
  				data = self.rdf.graph.serialize(format=serialization_format)
  				logger.debug('Serialized graph used for resource creation:')
  				logger.debug(data.decode('utf-8'))
  				self.headers['Content-Type'] = serialization_format
  
  			# fire creation request
  			response = self.repo.api.http_request(verb, self.uri, data=data, headers=self.headers, stream=stream)
  			return self._handle_create(response, ignore_tombstone, auto_refresh)