def get_txn(self, txn_name, txn_uri):

		'''
		Retrieves known transaction and adds to self.txns.

		TODO:
			Perhaps this should send a keep-alive request as well?  Obviously still needed, and would reset timer.

		Args:
			txn_prefix (str, rdflib.term.URIRef): uri of the transaction. e.g. http://localhost:8080/rest/txn:123456789
			txn_name (str): local, human name for transaction

		Return:
			(Transaction) local instance of transactions from self.txns[txn_uri]
		'''

		# parse uri
		txn_uri = self.parse_uri(txn_uri)

		# request new transaction
		txn_response = self.api.http_request('GET',txn_uri, data=None, headers=None)

		# if 200, transaction exists
		if txn_response.status_code == 200:
			logger.debug("transactoin found: %s" % txn_uri)

			# init new Transaction, and pass Expires header
			txn = Transaction(
				self, # pass the repository
				txn_name,
				txn_uri,
				expires = None)

			# append to self
			self.txns[txn_name] = txn

			# return
			return txn

		# if 404, transaction does not exist
		elif txn_response.status_code in [404, 410]:
			logger.debug("transaction does not exist: %s" % txn_uri)
			return False

		else:
			raise Exception('HTTP %s, could not retrieve transaction' % txn_response.status_code)