def last_modified(self, name: str = None) -> str:
a = ["<STR_LIT>", "<STR_LIT>"][self.axis]<EOL>if name is None:<EOL><INDENT>if "<STR_LIT>" in self.ds._file[a].attrs:<EOL><INDENT>return self.ds._file[a].attrs["<STR_LIT>"]<EOL><DEDENT>elif self.ds._file.mode == '<STR_LIT>':<EOL><INDENT>self.ds._file[a].attrs["<STR_LIT>"] = timestamp()<EOL>self.ds._file.flush()<EOL>return self.ds._file[a].attrs["<STR_LIT>"]<EOL><DEDENT><DEDENT>if name is not None:<EOL><INDENT>if "<STR_LIT>" in self.ds._file[a + name].attrs:<EOL><INDENT>return self.ds._file[a][name].attrs["<STR_LIT>"]<EOL><DEDENT>elif self.ds._file.mode == '<STR_LIT>':<EOL><INDENT>self.ds._file[a][name].attrs["<STR_LIT>"] = timestamp()<EOL>self.ds._file.flush()<EOL>return self.ds._file[a][name].attrs["<STR_LIT>"]<EOL><DEDENT><DEDENT>return timestamp()<EOL>
Return a compact ISO8601 timestamp (UTC timezone) indicating when a graph was last modified

Note: if no graph name is given (the default), the modification time of the most recently modified graph will be returned
Note: if the graphs do not contain a timestamp, and the mode is 'r+', a new timestamp is created and returned.
Otherwise, the current time in UTC will be returned.