code: def visitUnaryShape(self, ctx: ShExDocParser.UnaryShapeContext):
          
          if ctx.include():
              self.expression = self.context.tripleexprlabel_to_iriref(ctx.include().tripleExprLabel())
          else:
              lbl = self.context.tripleexprlabel_to_iriref(ctx.tripleExprLabel()) if ctx.tripleExprLabel() else None
              if ctx.tripleConstraint():
                  self.expression = TripleConstraint(lbl)
                  self.visit(ctx.tripleConstraint())
              elif ctx.encapsulatedShape():
                  self.visit(ctx.encapsulatedShape())
                  self.expression.id = lbl
docs: unaryShape: ('$' tripleExprLabel)? (tripleConstraint | encapsulatedShape) | include