docs: def visitShapeNot(self, ctx: ShExDocParser.ShapeNotContext):
          """ shapeNot: negation? shapeAtom """
          if ctx.negation():
              self.expr = ShapeNot(id=self.label)
              sn = ShexShapeExpressionParser(self.context)
              sn.visit(ctx.shapeAtom())
              self.expr.shapeExpr = sn.expr if sn.expr is not None else Shape()
          else:
              self.visitChildren(ctx)