Dear all, I believe that the FLD document does not specify completely the the combination of annotations with remote formulas. First, it is possible to write (* _xpto *) _a() @ _univ(1) @ _univ(2) According to the specification the annotation refers to the whole formula _a() @ _univ(1) @ _univ(2), but in section 4.2.2 this case is absent. So, I understand this as the annotation is referring to the inner _a(). Is this the intent?
Thank you for pointing out the omission of this case in the presentation-to-XML mapping in Section 4.2.2. This oversight has now been corrected. Regarding the question of whether (* _xpto *) refers to _a() or to _a() @ _univ(1), both parsings are possible. Note that the presentation syntax is abstract and no attempt has been made to define precedence rules. In XML, however, ambiguity does not arise.
Furthermore, notice that it is also syntactically correct the fragment: (* _xpto1 *) (* _xpto2 *) (* _xpto3 *) _a() @ _univ(1) @ _univ(2) How is this handled, since <Remote> does not allow meta information? Should it be discarded?
As mentioned, the oversight of dropped meta information from the <Remote> tag has been corrected. So this is no longer an issue. The above expression happens to parse unambiguously as (* _xpto1 *) ((* _xpto2 *) ((* _xpto3 *) _a()) @ _univ(1)) @ _univ(2). The annotation given in (* _xpto3 *) will be inside <Atom>...</Atom> and the other two annotations will be inside <Remote>...</Remote>.
Moreover, notice that I have been using local names with "_" before, as specified by the grammar (this is not done in Example 4 of RIF-FLD). This is very unpleasant and unnecessary since the initial "_" can be removed without creating ambiguity in the Grammar. Otherwise, please correct Example 4 of RIF-FLD.
There was a typo in which Course appeared by itself in that example. It has been changed to u:Course. The symbol Course was not intended to be local. Do you see any other typos of this kind?
Best regards, RIF WG