class _Anon3(jsg.JSGString): pattern = jsg.JSGPattern(r'(iri)|(bnode)|(nonliteral)|(literal)')
class BNODE(jsg.JSGString): pattern = jsg.JSGPattern(r'_\:[A-Z]+')
class TEMPLATE(jsg.JSGString): pattern = jsg.JSGPattern(r'\{.*\}')
class SHAPEEXPR(jsg.JSGString): pattern = jsg.JSGPattern(r'[a-z]')
class IRI(jsg.String): pattern = jsg.JSGPattern(r'')
class EXPONENT(jsg.JSGString): pattern = jsg.JSGPattern(r'[eE][+-]?[0-9]+')
class HEX(jsg.JSGString): pattern = jsg.JSGPattern(r'[0-9]|[A-F]|[a-f]')
class DECIMAL(jsg.JSGString): pattern = jsg.JSGPattern(r'[+-]?[0-9]*\.[0-9]+')
class STRING(jsg.JSGString): pattern = jsg.JSGPattern(r'.*')
class INTEGER(jsg.String): pattern = jsg.JSGPattern(r'')
class INTEGER(jsg.JSGString): pattern = jsg.JSGPattern(r'[+-]?[0-9]+')
class BNODE(jsg.String): pattern = jsg.JSGPattern(r'')
class _Anon1(jsg.JSGString): pattern = jsg.JSGPattern(r'unbounded')
class LANGTAG(jsg.JSGString): pattern = jsg.JSGPattern(r'[a-zA-Z]+(\-([a-zA-Z0-9])+)*')
class PN_PREFIX(jsg.JSGString): pattern = jsg.JSGPattern(r'({PN_CHARS_BASE})((({PN_CHARS})|\.)*({PN_CHARS}))?'.format(PN_CHARS=PN_CHARS.pattern, PN_CHARS_BASE=PN_CHARS_BASE.pattern))
class PN_CHARS_BASE(jsg.JSGString): pattern = jsg.JSGPattern(r'[A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]|[\u10000-\uEFFFF]')
class BOOL(jsg.JSGString): pattern = jsg.JSGPattern(r'true|false')
class DOUBLE(jsg.JSGString): pattern = jsg.JSGPattern(r'[+-]?([0-9]+\.[0-9]*({EXPONENT})|\.[0-9]+({EXPONENT})|[0-9]+({EXPONENT}))'.format(EXPONENT=EXPONENT.pattern))
class LANGTAG(jsg.JSGString): pattern = jsg.JSGPattern(r'@[a-zA-Z]+(\-[a-zA-Z0-9]+)*')
class PN_CHARS_U(jsg.JSGString): pattern = jsg.JSGPattern(r'({PN_CHARS_BASE})|_'.format(PN_CHARS_BASE=PN_CHARS_BASE.pattern))
class YY(jsg.JSGString): pattern = jsg.JSGPattern(r'[0-9]')
class UCHAR(jsg.JSGString): pattern = jsg.JSGPattern(r'\\\\u({HEX})({HEX})({HEX})({HEX})|\\\\U({HEX})({HEX})({HEX})({HEX})({HEX})({HEX})({HEX})({HEX})'.format(HEX=HEX.pattern))
class _Anon1(jsg.JSGString): pattern = jsg.JSGPattern(r'ShapeOr')
class IRI(jsg.JSGString): pattern = jsg.JSGPattern(r'([~\u0000-\u0020\u005C\u007B\u007D<>"|^`]|({UCHAR}))*'.format(UCHAR=UCHAR.pattern))
class IRIREF(jsg.JSGString): pattern = jsg.JSGPattern(r'[A-Z]+')
class PN_CHARS(jsg.JSGString): pattern = jsg.JSGPattern(r'({PN_CHARS_U})|\-|[0-9]|\\u00B7|[\u0300-\u036F]|[\u203F-\u2040]'.format(PN_CHARS_U=PN_CHARS_U.pattern))
class NAME(jsg.JSGString): pattern = jsg.JSGPattern(r'.*')
class BNODE(jsg.JSGString): pattern = jsg.JSGPattern(r'_:(({PN_CHARS_U})|[0-9])((({PN_CHARS})|\.)*({PN_CHARS}))?'.format(PN_CHARS=PN_CHARS.pattern, PN_CHARS_U=PN_CHARS_U.pattern))
class _Anon1(jsg.JSGString): pattern = jsg.JSGPattern(r'\*')
class _Anon2(jsg.JSGString): pattern = jsg.JSGPattern(r'http://www\.w3\.org/ns/shex\.jsonld')