owlcollab / oboformat

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

Specification needs a "one or more" construct #79

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Dear project members,

first thanks for your work in pushing forward the OBO format, especially its 
formal description.

Now to the problem I faced.
Currently the OBO specification contains the "zero or more" ('{}') and "zero or 
one" ('[]') construct. However this is not enough to correctly describe the 
syntax.

For instance
QualifierList ::= Qualifier {',' ws Qualifier }
is fine: we have one or multiple qualifier in list
but
XrefNoComma ::= { ( NonWsChar - ',') } [ ws QuotedString ]
would allow for an empty ID.

In several places in the specification '{}' is used but not as "ZERO or more" 
but "ONE or more". While at some places the meaning may be clear there are 
others which are not. Because the specification is a big step forward for the 
OBO format compared to the 'Guide' description it should strive for accurate 
formal description.

The issue could be resolved e.g. by using '{}+' for "one or more", borrowed 
from regular expression syntax.

Best regards,
Timo

Original issue reported on code.google.com by timo.boe...@gmail.com on 12 Dec 2012 at 9:51

GoogleCodeExporter commented 9 years ago
This issue should be of type "specification" but I haven't found a place to set 
it.

Original comment by timo.boe...@gmail.com on 12 Dec 2012 at 9:53

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r597.

Original comment by cmung...@gmail.com on 4 Nov 2013 at 8:33

GoogleCodeExporter commented 9 years ago
I agree the "+" would be more elegant, but we try to stick to the same BNF as 
used in the OWL specs.

Thanks for pointing out the issue with xrefs. The grammar here is ugly due to 
the necessity to fit existing obo files in the wild.

Original comment by cmung...@gmail.com on 4 Nov 2013 at 8:34