@prefix : . @prefix cfg: . @prefix h: . @prefix log: . @prefix rdfs: . @prefix rul: . @forSome <#_g0>, <#_g1>, <#_g2>, <#_g3>, <#_g4>, <#_g5> . "!" h:reference """"!"""" . "(" h:reference """"("""" . ")" h:reference """")"""" . "," h:reference """","""" . "." h:reference """"."""" . "/" h:reference """"/"""" . ";" h:reference """";"""" . "<=" h:reference """"<="""" . "=" h:reference """"="""" . "=>" h:reference """"=>"""" . "@" h:reference """"@"""" . "@a" h:reference """"@a"""" . "@base" h:reference """"@base"""" . "@false" h:reference """"@false"""" . "@forAll" h:reference """"@forAll"""" . "@forSome" h:reference """"@forSome"""" . "@has" h:reference """"@has"""" . "@is" h:reference """"@is"""" . "@keywords" h:reference """"@keywords"""" . "@of" h:reference """"@of"""" . "@prefix" h:reference """"@prefix"""" . "@true" h:reference """"@true"""" . "[" h:reference """"["""" . "]" h:reference """"]"""" . "^" h:reference """"^"""" . "^^" h:reference """"^^"""" . "{" h:reference """"{"""" . "}" h:reference """"}"""" . () a h:Sequence, h:SequenceTail; h:seqlabel "void" . ( "!" :expression ) a h:Sequence, h:SequenceTail; h:seqlabel """"!" expression""" . ( "(" :pathlist ")" ) a h:Sequence, h:SequenceTail; h:seqlabel """"(" pathlist ")"""" . ( ")" ) a h:SequenceTail; h:seqlabel """")"""" . ( "," :barename <#_g3> ) a h:Sequence, h:SequenceTail; h:seqlabel """"," barename barename_csl_tail""" . ( "," :object :objecttail ) a h:Sequence, h:SequenceTail; h:seqlabel """"," object objecttail""" . ( "," :symbol <#_g4> ) a h:Sequence, h:SequenceTail; h:seqlabel """"," symbol symbol_csl_tail""" . ( "," :symbol <#_g5> ) a h:Sequence, h:SequenceTail; h:seqlabel """"," symbol symbol_csl_tail""" . ( "." :statementlist ) a h:Sequence, h:SequenceTail; h:seqlabel """"." statementlist""" . ( "." :statements_optional ) a h:SequenceTail; h:seqlabel """"." statements_optional""" . ( "/" :unsignedint ) a h:SequenceTail; h:seqlabel """"/" unsignedint""" . ( "0" 0 ) log:outputString """ BNF

BNF

Productions are in normal type, linked to their definitions.
Regular expressions are in italics
Literal characters in quoted in bold
void means an empty production.

""" . ( ";" :propertylist ) a h:Sequence, h:SequenceTail; h:seqlabel """";" propertylist""" . ( "<=" ) a h:Sequence, h:SequenceTail; h:seqlabel """"<="""" . ( "=" ) a h:Sequence, h:SequenceTail; h:seqlabel """"="""" . ( "=>" ) a h:Sequence, h:SequenceTail; h:seqlabel """"=>"""" . ( "@" :langcode ) a h:Sequence, h:SequenceTail; h:seqlabel """"@" langcode""" . ( "@a" ) a h:Sequence, h:SequenceTail; h:seqlabel """"@a"""" . ( "@base" :explicituri ) a h:Sequence, h:SequenceTail; h:seqlabel """"@base" explicituri""" . ( "@false" ) a h:Sequence, h:SequenceTail; h:seqlabel """"@false"""" . ( "@forAll" <#_g0> ) a h:Sequence, h:SequenceTail; h:seqlabel """"@forAll" symbol_csl""" . ( "@forSome" <#_g1> ) a h:Sequence, h:SequenceTail; h:seqlabel """"@forSome" symbol_csl""" . ( "@has" :expression ) a h:Sequence, h:SequenceTail; h:seqlabel """"@has" expression""" . ( "@is" :expression "@of" ) a h:Sequence, h:SequenceTail; h:seqlabel """"@is" expression "@of"""" . ( "@keywords" <#_g2> ) a h:Sequence, h:SequenceTail; h:seqlabel """"@keywords" barename_csl""" . ( "@of" ) a h:SequenceTail; h:seqlabel """"@of"""" . ( "@prefix" :prefix :explicituri ) a h:Sequence, h:SequenceTail; h:seqlabel """"@prefix" prefix explicituri""" . ( "@true" ) a h:Sequence, h:SequenceTail; h:seqlabel """"@true"""" . ( "[" :propertylist "]" ) a h:Sequence, h:SequenceTail; h:seqlabel """"[" propertylist "]"""" . ( "]" ) a h:SequenceTail; h:seqlabel """"]"""" . ( "^" :expression ) a h:Sequence, h:SequenceTail; h:seqlabel """"^" expression""" . ( "^^" :symbol ) a h:Sequence, h:SequenceTail; h:seqlabel """"^^" symbol""" . ( "barename" 0 ) log:outputString """
barename
""" . ( "barename" 6 ) log:outputString """

[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*

""" . ( "barename" 9 ) log:outputString "\t
\n" . ( "barename_csl" 0 ) log:outputString """
barename_csl
""" . ( "barename_csl" 5 ) log:outputString """

barename barename_csl_tail

""", """

void

""" . ( "barename_csl" 9 ) log:outputString "\t
\n" . ( "barename_csl_tail" 0 ) log:outputString """
barename_csl_tail
""" . ( "barename_csl_tail" 5 ) log:outputString """

"," barename barename_csl_tail

""", """

void

""" . ( "barename_csl_tail" 9 ) log:outputString "\t
\n" . ( "boolean" 0 ) log:outputString """
boolean
""" . ( "boolean" 5 ) log:outputString """

"@false"

""", """

"@true"

""" . ( "boolean" 9 ) log:outputString "\t
\n" . ( "date" 0 ) log:outputString """
date
""" . ( "date" 6 ) log:outputString """

[0-9][0-9]-[0-9][0-9]-[0-9][0-9]Z?

""" . ( "date" 9 ) log:outputString "\t
\n" . ( "dateTime" 0 ) log:outputString """
dateTime
""" . ( "dateTime" 6 ) log:outputString """

[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9](T[0-9][0-9]:[0-9][0-9](:[0-9][0-9](\\.[0-9]*)?)?)?Z?

""" . ( "dateTime" 9 ) log:outputString "\t
\n" . ( "decimal" 0 ) log:outputString """
decimal
""" . ( "decimal" 6 ) log:outputString """

[-+]?[0-9]+\\.[0-9]*

""" . ( "decimal" 9 ) log:outputString "\t
\n" . ( "declaration" 0 ) log:outputString """
declaration
""" . ( "declaration" 5 ) log:outputString """

"@base" explicituri

""", """

"@keywords" barename_csl

""", """

"@prefix" prefix explicituri

""" . ( "declaration" 9 ) log:outputString "\t
\n" . ( "document" 0 ) log:outputString """
document
""" . ( "document" 5 ) log:outputString """

statements_optional EOF

""" . ( "document" 9 ) log:outputString "\t
\n" . ( "double" 0 ) log:outputString """
double
""" . ( "double" 6 ) log:outputString """

[-+]?[0-9]+(\\.[0-9]+)?([eE][-+]?[0-9]+)

""" . ( "double" 9 ) log:outputString "\t
\n" . ( "dtlang" 0 ) log:outputString """
dtlang
""" . ( "dtlang" 5 ) log:outputString """

"@" langcode

""", """

"^^" symbol

""", """

void

""" . ( "dtlang" 9 ) log:outputString "\t
\n" . ( "existential" 0 ) log:outputString """
existential
""" . ( "existential" 5 ) log:outputString """

"@forSome" symbol_csl

""" . ( "existential" 9 ) log:outputString "\t
\n" . ( "explicituri" 0 ) log:outputString """
explicituri
""" . ( "explicituri" 6 ) log:outputString """

<[^>]*>

""" . ( "explicituri" 9 ) log:outputString "\t
\n" . ( "expression" 0 ) log:outputString """
expression
""" . ( "expression" 5 ) log:outputString """

pathitem pathtail

""" . ( "expression" 9 ) log:outputString "\t
\n" . ( "formulacontent" 0 ) log:outputString """
formulacontent
""" . ( "formulacontent" 5 ) log:outputString """

statementlist

""" . ( "formulacontent" 9 ) log:outputString "\t
\n" . ( "integer" 0 ) log:outputString """
integer
""" . ( "integer" 6 ) log:outputString """

[-+]?[0-9]+

""" . ( "integer" 9 ) log:outputString "\t
\n" . ( "langcode" 0 ) log:outputString """
langcode
""" . ( "langcode" 6 ) log:outputString """

[a-z]+(-[a-z0-9]+)*

""" . ( "langcode" 9 ) log:outputString "\t
\n" . ( "literal" 0 ) log:outputString """
literal
""" . ( "literal" 5 ) log:outputString """

string dtlang

""" . ( "literal" 9 ) log:outputString "\t
\n" . ( "numericliteral" 0 ) log:outputString """
numericliteral
""" . ( "numericliteral" 5 ) log:outputString """

decimal

""", """

double

""", """

integer

""", """

rational

""" . ( "numericliteral" 9 ) log:outputString "\t
\n" . ( "object" 0 ) log:outputString """
object
""" . ( "object" 5 ) log:outputString """

expression

""" . ( "object" 9 ) log:outputString "\t
\n" . ( "objecttail" 0 ) log:outputString """
objecttail
""" . ( "objecttail" 5 ) log:outputString """

"," object objecttail

""", """

void

""" . ( "objecttail" 9 ) log:outputString "\t
\n" . ( "pathitem" 0 ) log:outputString """
pathitem
""" . ( "pathitem" 5 ) log:outputString """

boolean

""", """

literal

""", """

numericliteral

""", """

quickvariable

""", """

symbol

""", """

"(" pathlist ")"

""", """

"[" propertylist "]"

""", """

"{" formulacontent "}"

""" . ( "pathitem" 9 ) log:outputString "\t
\n" . ( "pathlist" 0 ) log:outputString """
pathlist
""" . ( "pathlist" 5 ) log:outputString """

expression pathlist

""", """

void

""" . ( "pathlist" 9 ) log:outputString "\t
\n" . ( "pathtail" 0 ) log:outputString """
pathtail
""" . ( "pathtail" 5 ) log:outputString """

"!" expression

""", """

"^" expression

""", """

void

""" . ( "pathtail" 9 ) log:outputString "\t
\n" . ( "predicate" 0 ) log:outputString """
predicate
""" . ( "predicate" 5 ) log:outputString """

expression

""", """

"<="

""", """

"="

""", """

"=>"

""", """

"@a"

""", """

"@has" expression

""", """

"@is" expression "@of"

""" . ( "predicate" 9 ) log:outputString "\t
\n" . ( "prefix" 0 ) log:outputString """
prefix
""" . ( "prefix" 6 ) log:outputString """

([A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*)?:

""" . ( "prefix" 9 ) log:outputString "\t
\n" . ( "propertylist" 0 ) log:outputString """
propertylist
""" . ( "propertylist" 5 ) log:outputString """

predicate object objecttail propertylisttail

""", """

void

""" . ( "propertylist" 9 ) log:outputString "\t
\n" . ( "propertylisttail" 0 ) log:outputString """
propertylisttail
""" . ( "propertylisttail" 5 ) log:outputString """

";" propertylist

""", """

void

""" . ( "propertylisttail" 9 ) log:outputString "\t
\n" . ( "qname" 0 ) log:outputString """
qname
""" . ( "qname" 6 ) log:outputString """

(([A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*)?:)?[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*

""" . ( "qname" 9 ) log:outputString "\t
\n" . ( "quickvariable" 0 ) log:outputString """
quickvariable
""" . ( "quickvariable" 6 ) log:outputString """

\\?[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*

""" . ( "quickvariable" 9 ) log:outputString "\t
\n" . ( "rational" 0 ) log:outputString """
rational
""" . ( "rational" 5 ) log:outputString """

integer "/" unsignedint

""" . ( "rational" 9 ) log:outputString "\t
\n" . ( "simpleStatement" 0 ) log:outputString """
simpleStatement
""" . ( "simpleStatement" 5 ) log:outputString """

subject propertylist

""" . ( "simpleStatement" 9 ) log:outputString "\t
\n" . ( "statement" 0 ) log:outputString """
statement
""" . ( "statement" 5 ) log:outputString """

declaration

""", """

existential

""", """

simpleStatement

""", """

universal

""" . ( "statement" 9 ) log:outputString "\t
\n" . ( "statementlist" 0 ) log:outputString """
statementlist
""" . ( "statementlist" 5 ) log:outputString """

statement statementtail

""", """

void

""" . ( "statementlist" 9 ) log:outputString "\t
\n" . ( "statements_optional" 0 ) log:outputString """
statements_optional
""" . ( "statements_optional" 5 ) log:outputString """

statement "." statements_optional

""", """

void

""" . ( "statements_optional" 9 ) log:outputString "\t
\n" . ( "statementtail" 0 ) log:outputString """
statementtail
""" . ( "statementtail" 5 ) log:outputString """

"." statementlist

""", """

void

""" . ( "statementtail" 9 ) log:outputString "\t
\n" . ( "string" 0 ) log:outputString """
string
""" . ( "string" 6 ) log:outputString """

(\"""[^"\\\\]*(?:(?:\\\\.|"(?!""))[^"\\\\]*)*\""")|("[^"\\\\]*(?:\\\\.[^"\\\\]*)*")

""" . ( "string" 9 ) log:outputString "\t
\n" . ( "subject" 0 ) log:outputString """
subject
""" . ( "subject" 5 ) log:outputString """

expression

""" . ( "subject" 9 ) log:outputString "\t
\n" . ( "symbol" 0 ) log:outputString """
symbol
""" . ( "symbol" 5 ) log:outputString """

explicituri

""", """

qname

""" . ( "symbol" 9 ) log:outputString "\t
\n" . ( "symbol_csl" 0 ) log:outputString """
symbol_csl
""" . ( "symbol_csl" 5 ) log:outputString """

symbol symbol_csl_tail

""", """

void

""" . ( "symbol_csl" 9 ) log:outputString "\t
\n" . ( "symbol_csl_tail" 0 ) log:outputString """
symbol_csl_tail
""" . ( "symbol_csl_tail" 5 ) log:outputString """

"," symbol symbol_csl_tail

""", """

void

""" . ( "symbol_csl_tail" 9 ) log:outputString "\t
\n" . ( "universal" 0 ) log:outputString """
universal
""" . ( "universal" 5 ) log:outputString """

"@forAll" symbol_csl

""" . ( "universal" 9 ) log:outputString "\t
\n" . ( "unsignedint" 0 ) log:outputString """
unsignedint
""" . ( "unsignedint" 6 ) log:outputString """

[0-9]+

""" . ( "unsignedint" 9 ) log:outputString "\t
\n" . ( "{" :formulacontent "}" ) a h:Sequence, h:SequenceTail; h:seqlabel """"{" formulacontent "}"""" . ( "}" ) a h:SequenceTail; h:seqlabel """"}"""" . ( "~~" 9 ) log:outputString "\n
\n\n" . ( cfg:eof ) a h:SequenceTail; h:seqlabel "EOF" . ( :barename <#_g3> ) a h:Sequence, h:SequenceTail; h:seqlabel "barename barename_csl_tail" . ( :boolean ) a h:Sequence, h:SequenceTail; h:seqlabel "boolean" . ( :decimal ) a h:Sequence, h:SequenceTail; h:seqlabel "decimal" . ( :declaration ) a h:Sequence, h:SequenceTail; h:seqlabel "declaration" . ( :double ) a h:Sequence, h:SequenceTail; h:seqlabel "double" . ( :dtlang ) a h:SequenceTail; h:seqlabel "dtlang" . ( :existential ) a h:Sequence, h:SequenceTail; h:seqlabel "existential" . ( :explicituri ) a h:Sequence, h:SequenceTail; h:seqlabel "explicituri" . ( :expression "@of" ) a h:SequenceTail; h:seqlabel """expression "@of"""" . ( :expression :pathlist ) a h:Sequence, h:SequenceTail; h:seqlabel "expression pathlist" . ( :expression ) a h:Sequence, h:SequenceTail; h:seqlabel "expression" . ( :formulacontent "}" ) a h:SequenceTail; h:seqlabel """formulacontent "}"""" . ( :integer "/" :unsignedint ) a h:Sequence, h:SequenceTail; h:seqlabel """integer "/" unsignedint""" . ( :integer ) a h:Sequence, h:SequenceTail; h:seqlabel "integer" . ( :langcode ) a h:SequenceTail; h:seqlabel "langcode" . ( :literal ) a h:Sequence, h:SequenceTail; h:seqlabel "literal" . ( :numericliteral ) a h:Sequence, h:SequenceTail; h:seqlabel "numericliteral" . ( :object :objecttail :propertylisttail ) a h:SequenceTail; h:seqlabel "object objecttail propertylisttail" . ( :object :objecttail ) a h:SequenceTail; h:seqlabel "object objecttail" . ( :objecttail :propertylisttail ) a h:SequenceTail; h:seqlabel "objecttail propertylisttail" . ( :objecttail ) a h:SequenceTail; h:seqlabel "objecttail" . ( :pathitem :pathtail ) a h:Sequence, h:SequenceTail; h:seqlabel "pathitem pathtail" . ( :pathlist ")" ) a h:SequenceTail; h:seqlabel """pathlist ")"""" . ( :pathlist ) a h:SequenceTail; h:seqlabel "pathlist" . ( :pathtail ) a h:SequenceTail; h:seqlabel "pathtail" . ( :predicate :object :objecttail :propertylisttail ) a h:Sequence, h:SequenceTail; h:seqlabel "predicate object objecttail propertylisttail" . ( :prefix :explicituri ) a h:SequenceTail; h:seqlabel "prefix explicituri" . ( :propertylist "]" ) a h:SequenceTail; h:seqlabel """propertylist "]"""" . ( :propertylist ) a h:SequenceTail; h:seqlabel "propertylist" . ( :propertylisttail ) a h:SequenceTail; h:seqlabel "propertylisttail" . ( :qname ) a h:Sequence, h:SequenceTail; h:seqlabel "qname" . ( :quickvariable ) a h:Sequence, h:SequenceTail; h:seqlabel "quickvariable" . ( :rational ) a h:Sequence, h:SequenceTail; h:seqlabel "rational" . ( :simpleStatement ) a h:Sequence, h:SequenceTail; h:seqlabel "simpleStatement" . ( :statement "." :statements_optional ) a h:Sequence, h:SequenceTail; h:seqlabel """statement "." statements_optional""" . ( :statement :statementtail ) a h:Sequence, h:SequenceTail; h:seqlabel "statement statementtail" . ( :statementlist ) a h:Sequence, h:SequenceTail; h:seqlabel "statementlist" . ( :statements_optional cfg:eof ) a h:Sequence, h:SequenceTail; h:seqlabel "statements_optional EOF" . ( :statements_optional ) a h:SequenceTail; h:seqlabel "statements_optional" . ( :statementtail ) a h:SequenceTail; h:seqlabel "statementtail" . ( :string :dtlang ) a h:Sequence, h:SequenceTail; h:seqlabel "string dtlang" . ( :subject :propertylist ) a h:Sequence, h:SequenceTail; h:seqlabel "subject propertylist" . ( :symbol <#_g4> ) a h:Sequence, h:SequenceTail; h:seqlabel "symbol symbol_csl_tail" . ( :symbol <#_g5> ) a h:Sequence, h:SequenceTail; h:seqlabel "symbol symbol_csl_tail" . ( :symbol ) a h:Sequence, h:SequenceTail; h:seqlabel "symbol" . ( :universal ) a h:Sequence, h:SequenceTail; h:seqlabel "universal" . ( :unsignedint ) a h:SequenceTail; h:seqlabel "unsignedint" . ( <#_g0> ) a h:SequenceTail; h:seqlabel "symbol_csl" . ( <#_g1> ) a h:SequenceTail; h:seqlabel "symbol_csl" . ( <#_g2> ) a h:SequenceTail; h:seqlabel "barename_csl" . ( <#_g3> ) a h:SequenceTail; h:seqlabel "barename_csl_tail" . ( <#_g4> ) a h:SequenceTail; h:seqlabel "symbol_csl_tail" . ( <#_g5> ) a h:SequenceTail; h:seqlabel "symbol_csl_tail" . rdfs:comment """ These are rules to take the shortcut ontology such as cfg:zeroOrOneOf and expland them into the base cfg:mustBeOneSequence. It also generates human-readable labels for things which have been generated. This file was split from n3.n3 on 2007-01-20. """ . cfg:eof h:reference "EOF" . :barename a h:Production; cfg:canStartWith "_", "a"; cfg:label "barename"; cfg:matches "[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*"; h:reference "barename" . :boolean a h:Production; cfg:canBeSequence ( "@false" ), ( "@true" ); cfg:label "boolean"; cfg:mustBeOneSequence ( ( "@true" ) ( "@false" ) ); h:optionTail (), ( ( "@false" ) ), ( ( "@true" ) ( "@false" ) ); h:reference "boolean" . :date a h:Production; cfg:canStartWith "0"; cfg:label "date"; cfg:matches "[0-9][0-9]-[0-9][0-9]-[0-9][0-9]Z?"; h:reference "date" . :dateTime a h:Production; cfg:canStartWith "0"; cfg:label "dateTime"; cfg:matches "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9](T[0-9][0-9]:[0-9][0-9](:[0-9][0-9](\\.[0-9]*)?)?)?Z?"; h:reference "dateTime" . :decimal a h:Production; cfg:canStartWith "+", "-", "0"; cfg:label "decimal"; cfg:matches "[-+]?[0-9]+\\.[0-9]*"; h:reference "decimal" . :declaration a h:Production; cfg:canBeSequence ( "@base" :explicituri ), ( "@keywords" <#_g2> ), ( "@prefix" :prefix :explicituri ); cfg:label "declaration"; cfg:mustBeOneSequence ( ( "@base" :explicituri ) ( "@prefix" :prefix :explicituri ) ( "@keywords" <#_g2> ) ); h:optionTail (), ( ( "@base" :explicituri ) ( "@prefix" :prefix :explicituri ) ( "@keywords" <#_g2> ) ), ( ( "@keywords" <#_g2> ) ), ( ( "@prefix" :prefix :explicituri ) ( "@keywords" <#_g2> ) ); h:reference "declaration" . :document a rul:Used, h:Production; cfg:canBeSequence ( :statements_optional cfg:eof ); cfg:label "document"; cfg:mustBeOneSequence ( ( :statements_optional cfg:eof ) ); h:optionTail (), ( ( :statements_optional cfg:eof ) ); h:reference "document" . :double a h:Production; cfg:canStartWith "+", "-", "0"; cfg:label "double"; cfg:matches "[-+]?[0-9]+(\\.[0-9]+)?([eE][-+]?[0-9]+)"; h:reference "double" . :dtlang a h:Production; cfg:canBeSequence (), ( "@" :langcode ), ( "^^" :symbol ); cfg:label "dtlang"; cfg:mustBeOneSequence ( () ( "@" :langcode ) ( "^^" :symbol ) ); h:optionTail (), ( () ( "@" :langcode ) ( "^^" :symbol ) ), ( ( "@" :langcode ) ( "^^" :symbol ) ), ( ( "^^" :symbol ) ); h:reference "dtlang" . :existential a h:Production; cfg:canBeSequence ( "@forSome" <#_g1> ); cfg:label "existential"; cfg:mustBeOneSequence ( ( "@forSome" <#_g1> ) ); h:optionTail (), ( ( "@forSome" <#_g1> ) ); h:reference "existential" . :explicituri a h:Production; cfg:canStartWith "<"; cfg:label "explicituri"; cfg:matches "<[^>]*>"; h:reference "explicituri" . :expression a h:Production; cfg:canBeSequence ( :pathitem :pathtail ); cfg:label "expression"; cfg:mustBeOneSequence ( ( :pathitem :pathtail ) ); h:optionTail (), ( ( :pathitem :pathtail ) ); h:reference "expression" . :formulacontent a h:Production; cfg:canBeSequence ( :statementlist ); cfg:label "formulacontent"; cfg:mustBeOneSequence ( ( :statementlist ) ); h:optionTail (), ( ( :statementlist ) ); h:reference "formulacontent" . :integer a h:Production; cfg:canStartWith "+", "-", "0"; cfg:label "integer"; cfg:matches "[-+]?[0-9]+"; h:reference "integer" . :langcode a h:Production; cfg:canStartWith "a"; cfg:label "langcode"; cfg:matches "[a-z]+(-[a-z0-9]+)*"; h:reference "langcode" . :language a cfg:Language; cfg:document :document; cfg:whiteSpace "@@@@@" . :literal a h:Production; cfg:canBeSequence ( :string :dtlang ); cfg:label "literal"; cfg:mustBeOneSequence ( ( :string :dtlang ) ); h:optionTail (), ( ( :string :dtlang ) ); h:reference "literal" . :numericliteral a h:Production; cfg:canBeSequence ( :decimal ), ( :double ), ( :integer ), ( :rational ); cfg:label "numericliteral"; cfg:mustBeOneSequence ( ( :integer ) ( :rational ) ( :double ) ( :decimal ) ); h:optionTail (), ( ( :decimal ) ), ( ( :double ) ( :decimal ) ), ( ( :integer ) ( :rational ) ( :double ) ( :decimal ) ), ( ( :rational ) ( :double ) ( :decimal ) ); h:reference "numericliteral" . :object a h:Production; cfg:canBeSequence ( :expression ); cfg:label "object"; cfg:mustBeOneSequence ( ( :expression ) ); h:optionTail (), ( ( :expression ) ); h:reference "object" . :objecttail a h:Production; cfg:canBeSequence (), ( "," :object :objecttail ); cfg:label "objecttail"; cfg:mustBeOneSequence ( () ( "," :object :objecttail ) ); h:optionTail (), ( () ( "," :object :objecttail ) ), ( ( "," :object :objecttail ) ); h:reference "objecttail" . :pathitem a h:Production; cfg:canBeSequence ( "(" :pathlist ")" ), ( "[" :propertylist "]" ), ( "{" :formulacontent "}" ), ( :boolean ), ( :literal ), ( :numericliteral ), ( :quickvariable ), ( :symbol ); cfg:label "pathitem"; cfg:mustBeOneSequence ( ( :symbol ) ( "{" :formulacontent "}" ) ( :quickvariable ) ( :numericliteral ) ( :literal ) ( "[" :propertylist "]" ) ( "(" :pathlist ")" ) ( :boolean ) ); h:optionTail (), ( ( "(" :pathlist ")" ) ( :boolean ) ), ( ( "[" :propertylist "]" ) ( "(" :pathlist ")" ) ( :boolean ) ), ( ( "{" :formulacontent "}" ) ( :quickvariable ) ( :numericliteral ) ( :literal ) ( "[" :propertylist "]" ) ( "(" :pathlist ")" ) ( :boolean ) ), ( ( :boolean ) ), ( ( :literal ) ( "[" :propertylist "]" ) ( "(" :pathlist ")" ) ( :boolean ) ), ( ( :numericliteral ) ( :literal ) ( "[" :propertylist "]" ) ( "(" :pathlist ")" ) ( :boolean ) ), ( ( :quickvariable ) ( :numericliteral ) ( :literal ) ( "[" :propertylist "]" ) ( "(" :pathlist ")" ) ( :boolean ) ), ( ( :symbol ) ( "{" :formulacontent "}" ) ( :quickvariable ) ( :numericliteral ) ( :literal ) ( "[" :propertylist "]" ) ( "(" :pathlist ")" ) ( :boolean ) ); h:reference "pathitem" . :pathlist a h:Production; cfg:canBeSequence (), ( :expression :pathlist ); cfg:label "pathlist"; cfg:mustBeOneSequence ( () ( :expression :pathlist ) ); h:optionTail (), ( () ( :expression :pathlist ) ), ( ( :expression :pathlist ) ); h:reference "pathlist" . :pathtail a h:Production; cfg:canBeSequence (), ( "!" :expression ), ( "^" :expression ); cfg:label "pathtail"; cfg:mustBeOneSequence ( () ( "!" :expression ) ( "^" :expression ) ); h:optionTail (), ( () ( "!" :expression ) ( "^" :expression ) ), ( ( "!" :expression ) ( "^" :expression ) ), ( ( "^" :expression ) ); h:reference "pathtail" . :predicate a h:Production; cfg:canBeSequence ( "<=" ), ( "=" ), ( "=>" ), ( "@a" ), ( "@has" :expression ), ( "@is" :expression "@of" ), ( :expression ); cfg:label "predicate"; cfg:mustBeOneSequence ( ( :expression ) ( "@has" :expression ) ( "@is" :expression "@of" ) ( "@a" ) ( "=" ) ( "=>" ) ( "<=" ) ); h:optionTail (), ( ( "<=" ) ), ( ( "=" ) ( "=>" ) ( "<=" ) ), ( ( "=>" ) ( "<=" ) ), ( ( "@a" ) ( "=" ) ( "=>" ) ( "<=" ) ), ( ( "@has" :expression ) ( "@is" :expression "@of" ) ( "@a" ) ( "=" ) ( "=>" ) ( "<=" ) ), ( ( "@is" :expression "@of" ) ( "@a" ) ( "=" ) ( "=>" ) ( "<=" ) ), ( ( :expression ) ( "@has" :expression ) ( "@is" :expression "@of" ) ( "@a" ) ( "=" ) ( "=>" ) ( "<=" ) ); h:reference "predicate" . :prefix a h:Production; cfg:canStartWith ":", "_", "a"; cfg:label "prefix"; cfg:matches "([A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*)?:"; h:reference "prefix" . :propertylist a h:Production; cfg:canBeSequence (), ( :predicate :object :objecttail :propertylisttail ); cfg:label "propertylist"; cfg:mustBeOneSequence ( () ( :predicate :object :objecttail :propertylisttail ) ); h:optionTail (), ( () ( :predicate :object :objecttail :propertylisttail ) ), ( ( :predicate :object :objecttail :propertylisttail ) ); h:reference "propertylist" . :propertylisttail a h:Production; cfg:canBeSequence (), ( ";" :propertylist ); cfg:label "propertylisttail"; cfg:mustBeOneSequence ( () ( ";" :propertylist ) ); h:optionTail (), ( () ( ";" :propertylist ) ), ( ( ";" :propertylist ) ); h:reference "propertylisttail" . :qname a h:Production; cfg:canStartWith ":", "_", "a"; cfg:label "qname"; cfg:matches "(([A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*)?:)?[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*"; h:reference "qname" . :quickvariable a h:Production; cfg:canStartWith "?"; cfg:label "quickvariable"; cfg:matches "\\?[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿][\\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿]*"; h:reference "quickvariable" . :rational a h:Production; cfg:canBeSequence ( :integer "/" :unsignedint ); cfg:label "rational"; cfg:mustBeOneSequence ( ( :integer "/" :unsignedint ) ); h:optionTail (), ( ( :integer "/" :unsignedint ) ); h:reference "rational" . :simpleStatement a h:Production; cfg:canBeSequence ( :subject :propertylist ); cfg:label "simpleStatement"; cfg:mustBeOneSequence ( ( :subject :propertylist ) ); h:optionTail (), ( ( :subject :propertylist ) ); h:reference "simpleStatement" . :statement a h:Production; cfg:canBeSequence ( :declaration ), ( :existential ), ( :simpleStatement ), ( :universal ); cfg:label "statement"; cfg:mustBeOneSequence ( ( :declaration ) ( :universal ) ( :existential ) ( :simpleStatement ) ); h:optionTail (), ( ( :declaration ) ( :universal ) ( :existential ) ( :simpleStatement ) ), ( ( :existential ) ( :simpleStatement ) ), ( ( :simpleStatement ) ), ( ( :universal ) ( :existential ) ( :simpleStatement ) ); h:reference "statement" . :statementlist a h:Production; cfg:canBeSequence (), ( :statement :statementtail ); cfg:label "statementlist"; cfg:mustBeOneSequence ( () ( :statement :statementtail ) ); h:optionTail (), ( () ( :statement :statementtail ) ), ( ( :statement :statementtail ) ); h:reference "statementlist" . :statements_optional a h:Production; cfg:canBeSequence (), ( :statement "." :statements_optional ); cfg:label "statements_optional"; cfg:mustBeOneSequence ( () ( :statement "." :statements_optional ) ); h:optionTail (), ( () ( :statement "." :statements_optional ) ), ( ( :statement "." :statements_optional ) ); h:reference "statements_optional" . :statementtail a h:Production; cfg:canBeSequence (), ( "." :statementlist ); cfg:label "statementtail"; cfg:mustBeOneSequence ( () ( "." :statementlist ) ); h:optionTail (), ( () ( "." :statementlist ) ), ( ( "." :statementlist ) ); h:reference "statementtail" . :string a h:Production; cfg:canStartWith "\""; cfg:label "string"; cfg:matches """(\"""[^"\\\\]*(?:(?:\\\\.|"(?!""))[^"\\\\]*)*\""")|("[^"\\\\]*(?:\\\\.[^"\\\\]*)*")"""; h:reference "string" . :subject a h:Production; cfg:canBeSequence ( :expression ); cfg:label "subject"; cfg:mustBeOneSequence ( ( :expression ) ); h:optionTail (), ( ( :expression ) ); h:reference "subject" . :symbol a h:Production; cfg:canBeSequence ( :explicituri ), ( :qname ); cfg:label "symbol"; cfg:mustBeOneSequence ( ( :explicituri ) ( :qname ) ); h:optionTail (), ( ( :explicituri ) ( :qname ) ), ( ( :qname ) ); h:reference "symbol" . :universal a h:Production; cfg:canBeSequence ( "@forAll" <#_g0> ); cfg:label "universal"; cfg:mustBeOneSequence ( ( "@forAll" <#_g0> ) ); h:optionTail (), ( ( "@forAll" <#_g0> ) ); h:reference "universal" . :unsignedint a h:Production; cfg:canStartWith "0"; cfg:label "unsignedint"; cfg:matches "[0-9]+"; h:reference "unsignedint" . <#_g0> a h:Production; cfg:canBeSequence (), ( :symbol <#_g5> ); cfg:commaSeparatedListOf :symbol; cfg:label "symbol_csl"; cfg:mustBeOneSequence ( () ( :symbol <#_g5> ) ); h:optionTail (), ( () ( :symbol <#_g5> ) ), ( ( :symbol <#_g5> ) ); h:reference "symbol_csl" . <#_g1> a h:Production; cfg:canBeSequence (), ( :symbol <#_g4> ); cfg:commaSeparatedListOf :symbol; cfg:label "symbol_csl"; cfg:mustBeOneSequence ( () ( :symbol <#_g4> ) ); h:optionTail (), ( () ( :symbol <#_g4> ) ), ( ( :symbol <#_g4> ) ); h:reference "symbol_csl" . <#_g2> a h:Production; cfg:canBeSequence (), ( :barename <#_g3> ); cfg:commaSeparatedListOf :barename; cfg:label "barename_csl"; cfg:mustBeOneSequence ( () ( :barename <#_g3> ) ); h:optionTail (), ( () ( :barename <#_g3> ) ), ( ( :barename <#_g3> ) ); h:reference "barename_csl" . <#_g3> a h:Production; cfg:CSLTail2 :barename; cfg:canBeSequence (), ( "," :barename <#_g3> ); cfg:label "barename_csl_tail"; cfg:mustBeOneSequence ( () ( "," :barename <#_g3> ) ); h:optionTail (), ( () ( "," :barename <#_g3> ) ), ( ( "," :barename <#_g3> ) ); h:reference "barename_csl_tail" . <#_g4> a h:Production; cfg:CSLTail2 :symbol; cfg:canBeSequence (), ( "," :symbol <#_g4> ); cfg:label "symbol_csl_tail"; cfg:mustBeOneSequence ( () ( "," :symbol <#_g4> ) ); h:optionTail (), ( () ( "," :symbol <#_g4> ) ), ( ( "," :symbol <#_g4> ) ); h:reference "symbol_csl_tail" . <#_g5> a h:Production; cfg:CSLTail2 :symbol; cfg:canBeSequence (), ( "," :symbol <#_g5> ); cfg:label "symbol_csl_tail"; cfg:mustBeOneSequence ( () ( "," :symbol <#_g5> ) ); h:optionTail (), ( () ( "," :symbol <#_g5> ) ), ( ( "," :symbol <#_g5> ) ); h:reference "symbol_csl_tail" .