def get_metadata(self, refresh=True):
if refresh or not self._metadata:<EOL><INDENT>ident = self._id or self.get_full_name()<EOL>if not ident:<EOL><INDENT>raise ConuException(<EOL>"<STR_LIT>")<EOL><DEDENT>self._metadata = dict()<EOL><DEDENT>return self._metadata<EOL>
return cached metadata by default

:param refresh: bool, update the metadata with up to date content
:return: dict