If a Scidata object is modified after calling the SciData.output class property, a KeyError can be raised. This is due to output deleting either self.['@graph']['scidata']['methodology'], self.['@graph']['scidata']['system'], or self.['@graph']['scidata']['dataset'] if ['aspects'], ['facets'], or ['dataseries'] are empty.
I think this can be fixed by adding try/except blocks to each of the self.aspects(), self.facets(), and self.dataseries() class methods to catch these exceptions, but I'm unsure if that fix will break anything else.