parameters: (self)
return_statement: return self.abstract
docstring: get abstract of data, with cache
          :return:
docstring_summary: get abstract of data, with cache
          :return:
docstring_tokens: get abstract of data with cache : return :
function: def get_abstract(self):
          """
          get abstract of data, with cache
          :return:
          """
          if self.data_name is None:
              raise DataNotFoundException
          if self.abstract is None:
              self.abstract = DataAbstract.query.filter_by(name=self.data_name, owner=current_user()).first()
          if self.abstract is None:
              raise DataNotFoundException
          return self.abstract
function_tokens: def get_abstract ( self ) : if self . data_name is None : raise DataNotFoundException if self . abstract is None : self . abstract = DataAbstract . query . filter_by ( name = self . data_name , owner = current_user ( ) ) . first ( ) if self . abstract is None : raise DataNotFoundException return self . abstract