owlcollab / oboformat

Automatically exported from code.google.com/p/oboformat
5 stars 2 forks source link

Consider generalizing property_value to allow data values #5

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Current:

property_value-Tag Relation-ID ID

Quick proposal:

Change to 

property_value-Tag Relation-ID ( ID | literal )

Add in "2.4 Tokens"
(borrowing from Manchester Syntax)

nonNegativeInteger ::= zero | positiveInteger
positiveInteger ::= nonZero { digit }
digits ::= digit { digit }
digit ::= zero | nonZero
nonZero := '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
zero ::= '0'

Datatype ::= datatypeIRI | 'integer' | 'decimal' | 'float' | 'string'
datatypeIRI ::= '<' IRI '>' # note - change from Manchester.
Datatype ::= datatypeIRI | 'integer' | 'decimal' | 'float' | 'string'
datatypeIRI ::= IRI 
IRILiteral ::= '<' IRI '>' # not in manchester
literal ::= typedLiteral | stringLiteralNoLanguage | stringLiteralWithLanguage 
| integerLiteral | decimalLiteral | floatingPointLiteral | IRILiteral # added 
IRILiteral
typedLiteral ::= lexicalValue '^^' Datatype
stringLiteralNoLanguage ::= quotedString
stringLiteralWithLanguage ::= quotedString languageTag
languageTag := @ (U+40) followed a nonempty sequence of characters matching the 
langtag production from [BCP 47]
lexicalValue ::= quotedString
quotedString := a finite sequence of characters in which " (U+22) and \ (U+5C) 
occur only in pairs of the form \" (U+5C, U+22) and \\ (U+5C, U+5C), enclosed 
in a pair of " (U+22) characters
floatingPointLiteral ::= [ '+' | '-'] ( digits ['.'digits] [exponent] | '.' 
digits[exponent]) ( 'f' | 'F' )
exponent ::= ('e' | 'E') ['+' | '-'] digits
decimalLiteral ::= ['+' | '-'] digits '.' digits
integerLiteral ::= ['+' | '-'] digits

Original issue reported on code.google.com by alanruttenberg@gmail.com on 3 Nov 2010 at 3:30