+AD4- Ray, what is wrong with the ability to define prefixes for any given
+AD4- subquery? We allow in XCQL. Why not in CQL as well? It may sound
+AD4- complex, but the CQL parsers I know of - all have this capability. I'll
+AD4- repeat (more or less what Rob wrote way back), the ability to define
+AD4- prefixes for +ACI-sub queries+ACI- makes it easy to combine them. If you have
+AD4- two arbitrary queries a and b and want to combine them, it becomes
+AD4- rather tricky with up-front prefixes only. First you have parse the
+AD4- front of a, then front of b. Then collect the prefixes, then possibly
+AD4- rename the prefixes inside a, then b to avoid conflicts. For example,
+AD4- had you had the two queries:
+AD4- +AD4-dc+AD0AIg-core-v1+ACI- dc.title+AD0-first
+AD4- +AD4-dc+AD0AIg-core-v2+ACI- dc.title+AD0-second
+AD4- you would have to tranform that to something like:
+AD4- +AD4-dc1+AD0AIg-core-v1+ACI- +AD4-dc2+AD0AIg-core-v2+ACI- dc1.title+AD0-first and dc2.title+AD0-second
+AD4-
+AD4- Allow me to repeat the grammar in used by parsers and semantics for it:
+AD4-
+AD4- search-clause ::+AD0- +ACIAPgAi- +AFs-identifier +ACIAPQAiAF0- term cql-query
Does this produce unambiguous cql?
Consider:
(And I think I have my email settings corrected. We'll see.)
+AD4-dc1+AD0AIg-core-v1+ACI- dc1.title+AD0-first and dc1.title+AD0-second
Is the second dc1 governed by the first assignment? If so, is that because
the first assignment is +ACI-global+ACI- (and if so how do we know that) or because
it is the most recent assignment for dc1?
How about:
+AD4-dc1+AD0AIg-core-v1+ACI- dc1.title+AD0-first and +AD4-dc1+AD0AIg-core-v1a+ACI- dc1.title+AD0-second
and dc1.title+AD0-third
The third occurence of dc1 -- is it governed by the first or second
assignment?
I suppose the only workable rule is that a prefix in a search clause without
an assignment is governed by the most recent assignment for that prefix
(thus no global assignment at the beginning of the query).
Anyway, I don't have any objection to this as long as we know (and agree
with) the semantics.
--Ray
|