Please have a look at the next example.

Select ?Var1
Where ?Var1.Attribute.GlobalId = “32UdM49pfAMxiX5WyXhCuy”

In the second line the selection is narrowed by providing a string after the equal sign, in this case a Global ID. You can clearly see it is string, because it starts and ends with quotation marks. However in the example above the characters which form the word Global ID are also a string although no quotation marks are present.

This might not sound like a problem, however it is the inconsistency that worries me.

Possible Solution

A distinction should be made between strings and idents. Currently the two rules which relate to this problem are the DQSTRING- and the STRING-rule. The first one requires the quotation marks while the second does not.

Many ANTLR examples and tutorials introduce an IDENT-rule. Often this rule allows the use of letters and numbers. A STRING-rule also allows the use of punctuation marks. It is my believe the grammar will be better after the implementation of the strings are rethought, considering the many ANTLR examples.

Keep in mind these rules also relate to many other rules, like the VARIABLE-rule