DOL.grammar revision bcc5d40208f7f9ae746d4270937b5f4c72beb2d0
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekLibrary = [ PrefixMap ] , LibraryDefn
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | OMSInConformingLanguage ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekLibraryDefn = 'library' , LibraryName , Qualification , { LibraryItem } ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekOMSInConformingLanguage = ($<$ language and serialization specific $>$) ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekLibraryItem = LibImport
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | OMSDefn
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | NetworkDefn
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | MappingDefn
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | QueryRelatedDefn
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | Qualification ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekLibImport = 'import' , LibraryName ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekQualification = LanguageQual
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | LogicQual
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | SyntaxQual ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaLanguageQual = 'language' , LanguageRef ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaLogicQual = 'logic' , LogicRef ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaSyntaxQual = 'serialization' , SyntaxRef ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaLibraryName = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaPrefixMap = '%prefix(' , { PrefixBinding } , ')%' ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaPrefixBinding = BoundPrefix , IRIBoundToPrefix , [ Separators ] ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaBoundPrefix = ':'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | Prefix ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaIRIBoundToPrefix = '<' , FullIRI , '>' ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaSeparators = 'separators' , String , String ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaString = ($<$ \rm any list of unicode characters $>$) ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaNetworkDefn = NetworkKeyword , NetworkName , '=' , [ ConsStrength ] , Network ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekNetworkKeyword = 'network' ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaNetworkName = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaNetwork = NetworkElements , ExcludeExtensions ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaNetworkElements = NetworkElement , { ',' , NetworkElement } ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaNetworkElement = [ Id , ':' ] , OMSOrMappingorNetworkRef ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaExcludeExtensions = 'excluding' , ExtensionRef , { ',' , ExtensionRef } ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaOMSOrMappingorNetworkRef = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaId = Letter , { LetterOrDigit } ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaBasicOMS = OMSInConformingLanguage ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaMinimizableOMS = BasicOMS
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMSRef , [ ImportName ] ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaExtendingOMS = MinimizableOMS
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | MinimizeKeyword , '{' , MinimizableOMS , '}'
d387c4608dbd3ca056e18e85313ef51aac146fd2Pavel Březina | OMS , Extraction ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaOMS = ExtendingOMS
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMS , Minimization
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMS , Translation
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMS , Reduction
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMS , Approximation
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMS , Filtering
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMS , 'and' , [ ConsStrength ] , OMS
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMS , 'then' , ExtensionOMS
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | { Qualification } , ':' , GroupOMS
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | OMS , 'bridge' , { Translation } , OMS
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | 'combine' , NetworkElements , [ ExcludeExtensions ]
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | 'apply' , SubstName , Sentence
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | GroupOMS ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaMinimization = MinimizeKeyword , CircMin , [ CircVars ] ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaMinimizeKeyword = 'minimize'
d387c4608dbd3ca056e18e85313ef51aac146fd2Pavel Březina | 'closed-world'
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | 'maximize'
dff909d473f43a6bd0f0286fa2d279c0ebe945c6Stef Walter | 'free'
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | 'cofree' ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekCircMin = Symbol , { Symbol } ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekCircVars = 'vars' , Symbol , { Symbol } ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekGroupOMS = '{' , OMS , '}'
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | OMSRef ;
dff909d473f43a6bd0f0286fa2d279c0ebe945c6Stef WalterTranslation = 'with' , { LogicTranslation } , SymbolMapItems
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | 'with' , LogicTranslation , { LogicTranslation } ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekLogicTranslation = 'translation' , OMSLangTrans ;
dff909d473f43a6bd0f0286fa2d279c0ebe945c6Stef WalterReduction = 'hide' , { LogicReduction } , SymbolItems
dff909d473f43a6bd0f0286fa2d279c0ebe945c6Stef Walter | 'hide' , LogicReduction , { LogicReduction }
dff909d473f43a6bd0f0286fa2d279c0ebe945c6Stef Walter | 'reveal' , SymbolMapItems ;
dff909d473f43a6bd0f0286fa2d279c0ebe945c6Stef WalterLogicReduction = 'along' , OMSLangTrans ;
dff909d473f43a6bd0f0286fa2d279c0ebe945c6Stef WalterSymbolItems = Symbol , { ',' , Symbol } ;
dff909d473f43a6bd0f0286fa2d279c0ebe945c6Stef WalterSymbolMapItems = SymbolOrMap , { ',' , SymbolOrMap } ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekExtraction = 'extract' , [ InterfaceSignature ]
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | 'remove' , [ InterfaceSignature ] ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekApproximation = 'forget' , InterfaceSignature , [ 'with' , LogicRef ]
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | 'keep' , InterfaceSignature , [ 'with' , LogicRef ]
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | 'keep' , LogicRef ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekFiltering = 'select' , BasicOMS
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | 'reject' , BasicOMS ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaExtensionOMS = [ ExtConsStrength ] , [ ExtensionName ] , ExtendingOMS ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaConsStrength = Conservative
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | '%mono'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | '%wdef'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | '%def' ;
2fbe9b9373dcdc28558da07690e57ff7a162a11dJakub HrozekExtConsStrength = ConsStrength
3fe339bcba0e211cc666bb3afe34e5c8fce85f4fJakub Hrozek | '%implied' ;
590582be38cdbfde387fcc57df92903d48c5a083Jakub HrozekConservative = '%ccons'
590582be38cdbfde387fcc57df92903d48c5a083Jakub Hrozek | '%mcons' ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekInterfaceSignature = SymbolItems ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekImportName = '%(' , IRI , ')%' ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaExtensionName = '%(' , IRI , ')%' ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaOMSkeyword = 'ontology'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | 'onto'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | 'specification'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | 'spec'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | 'model'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | 'OMS' ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaOMSDefn = OMSkeyword , OMSName , '=' , [ ConsStrength ] , OMS , 'end' ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaSymbol = IRI ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaSymbolMap = Symbol , '|->' , Symbol ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaSymbolOrMap = Symbol
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | SymbolMap ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaTerm = ($<$ an expression specific to a basic OMS language $>$) ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaSentence = ($<$ an expression specific to a basic OMS language $>$) ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaOMSName = IRI ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaOMSRef = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaExtensionRef = IRI ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaLanguageRef = IRI ;
3fe339bcba0e211cc666bb3afe34e5c8fce85f4fJakub HrozekLogicRef = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaSyntaxRef = IRI ;
3fe339bcba0e211cc666bb3afe34e5c8fce85f4fJakub HrozekLoLaRef = LanguageRef
590582be38cdbfde387fcc57df92903d48c5a083Jakub Hrozek | LogicRef ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaOMSLangTrans = OMSLangTransRef
590582be38cdbfde387fcc57df92903d48c5a083Jakub Hrozek | '->' , LoLaRef ;
590582be38cdbfde387fcc57df92903d48c5a083Jakub HrozekOMSLangTransRef = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaMappingDefn = IntprDefn
590582be38cdbfde387fcc57df92903d48c5a083Jakub Hrozek | Entailment
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | EquivDefn
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | ModuleRelDefn
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | AlignDefn ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaIntprDefn = IntprKeyword , IntprName , [ Conservative ] , ':' , IntprType , 'end'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | IntprKeyword , IntprName , [ Conservative ] , ':' , IntprType , '=' , { LogicTranslation } , [ SymbolMapItems ] , 'end'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | IntprKeyword , IntprName , '=' , Refinement , 'end' ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaIntprKeyword = 'interpretation'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | 'view'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | 'refinement' ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaIntprName = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaIntprType = GroupOMS , 'to' , GroupOMS ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaRefinement = OMS
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | Network
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | Refinement , 'then' , Refinement
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | OMS , 'refined' , [ RefMap ] , 'to' , Refinement ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaRefMap = 'via' , { LogicTranslation } , [ SymbolMapItems ]
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | 'via' , NodeMap , { ',' , NodeMap } ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaNodeMap = OMSName , '|->' , OMSName , [ 'using' , { LogicTranslation } , [ SymbolMapItems ] ] ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaEntailment = 'entailment' , EntailmentName , '=' , EntailmentType ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaEntailmentName = IRI ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaEntailmentType = GroupOMS , 'entails' , OMS
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | Network , 'entails' , OMS
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | Network , 'entails' , Network ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaEquivDefn = 'equivalence' , EquivName , ':' , EquivType , 'end' ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaEquivName = IRI ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaEquivType = GroupOMS , '<->' , GroupOMS , '=' , OMS
d387c4608dbd3ca056e18e85313ef51aac146fd2Pavel Březina | Network , '<->' , Network , '=' , Network ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaModuleRelDefn = 'module' , ModuleName , [ Conservative ] , ':' , ModuleType , 'for' , InterfaceSignature ;
d387c4608dbd3ca056e18e85313ef51aac146fd2Pavel BřezinaModuleName = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaModuleType = OMS , 'of' , OMS ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaAlignDefn = 'alignment' , AlignName , [ AlignCards ] , ':' , AlignType , 'end'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | 'alignment' , AlignName , [ AlignCards ] , ':' , AlignType , '=' , Correspondence , { ',' , Correspondence } , 'assuming' , AlignSem , 'end' ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaAlignName = IRI ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaAlignCards = AlignCardForward , AlignCardBackward ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaAlignCardForward = AlignCard ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaAlignCardBackward = AlignCard ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaAlignCard = '1'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | '?'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | '+'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | '*' ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaAlignType = GroupOMS , 'to' , GroupOMS ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaAlignSem = 'SingleDomain'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | 'GlobalDomain'
d387c4608dbd3ca056e18e85313ef51aac146fd2Pavel Březina | 'ContextualizedDomain' ;
d387c4608dbd3ca056e18e85313ef51aac146fd2Pavel BřezinaCorrespondence = CorrespondenceBlock
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | SingleCorrespondence
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | '*' ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekCorrespondenceBlock = 'relation' , [ RelationRef ] , [ Confidence ] , '{' , Correspondence , { ',' , Correspondence } , '}' ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekSingleCorrespondence = SymbolRef , [ RelationRef ] , [ Confidence ] , TermOrSymbolRef , [ CorrespondenceId ] ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekCorrespondenceId = '%(' , IRI , ')%' ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekSymbolRef = IRI ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekTermOrSymbolRef = Term
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | SymbolRef ;
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub HrozekRelationRef = '>'
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | '<'
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | '='
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | '%'
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | 'ni'
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel Březina | 'in'
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina | IRI ;
8a1fd0633e85221da1fb63451516a70d66c0af31Pavel BřezinaConfidence = Double ;
d387c4608dbd3ca056e18e85313ef51aac146fd2Pavel BřezinaDouble = ($<$ a number $\in [0,1]$ $>$) ;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel BřezinaQueryRelatedDefn = QueryDefn
d387c4608dbd3ca056e18e85313ef51aac146fd2Pavel Březina | SubstDefn
8214510f125879c3b1d247f2ce981ee20b5375d1Jakub Hrozek | ResultDefn ;
QueryDefn = 'query' , QueryName , '=' , 'select' , Vars , 'where' , Sentence , 'in' , OMS , [ 'along' , Translation ] ;
SubstDefn = 'substitution' , SubstName , ':' , OMS , 'to' , OMS , '=' , SymbolMap ;
ResultDefn = 'result' , ResultName , SubstName , { ',' , SubstName } , 'for' , QueryName , [ '%complete' ] ;
QueryName = IRI ;
SubstName = IRI ;
ResultName = IRI ;
Vars = Symbol , { ',' , Symbol } ;
IRI = '<' , FullIRI , '>'
| CURIE ;
FullIRI = ($<$ an IRI as defined in \nisref{IETF/RFC 3987:2005} $>$) ;
CURIE = [ Prefix ] , Reference ;
Prefix = NCName , ':' ;
NCName = ($<$ \rm see ``NCName'' in \nisref{W3C/TR REC-xml-names:2009}, Section 3 $>$) ;
Reference = Path , [ Query ] , [ Fragment ] ;
Path = ipath-absolute
| ipath-rootless
| ipath-empty ;
ipath-absolute = ($<$ \rm as defined in \nisref{IETF/RFC 3987} $>$) ;
ipath-rootless = ($<$ \rm as defined in \nisref{IETF/RFC 3987} $>$) ;
ipath-empty = ($<$ \rm as defined in \nisref{IETF/RFC 3987} $>$) ;
Query = '?' , iquery ;
iquery = ($<$ \rm as defined in \nisref{IETF/RFC 3987} $>$) ;
Fragment = '#' , ifragment ;
ifragment = ($<$ \rm as defined in \nisref{IETF/RFC 3987} $>$) ;