Feature #1532

Updated by Serge Heiden over 3 years ago

When a CQL contains an '@@@' marker, like in for example "'je' @@@[pos='V.*']", the result match list contains three columns named CQI_CONST_FIELD_MATCH (start), CQI_CONST_FIELD_MATCHEND (end) and CQI_CONST_FIELD_TARGET (target: corresponding to the position of the match marked by '@@@' in the query, that is the verbs in the sample query).

See a complete example usage in Groovy in the "CQi tutorial":https://groupes.renater.fr/wiki/txm-info/tutoriel_cqi?s[]=cqi#executer_une_requete_cql_sur_le_corpus_discours_et_utiliser_les_resultats.

The Index, Concordance commands must use the target position in their arguments if it is present in the queries.

A command can test if an '@@@' target was expressed in the query by using the following test code on the results list: @CQI_CQP_SUBCORPUS_HAS_FIELD("DISCOURS:RES1", CQI_CONST_FIELD_TARGET)@.

In some cases the @@ @ target is not resolved (exemple : "je" @@[]? [frpos="V.+"]). @[] [frpos=[V.+"]).

* Concordance
** wrap with "[" and "]" characters the position marked by the @@@ target in the pivot column text value
** if the target is not resolved, no highlight or wrapping is done

h3. Validation test

* Run a concordance on VOEUX with query : "je" []? [frpos="V.+"] @@[frpos="V.+"] expand to s@
The result should be :
<pre>
0001 Pour la métropole française, pour l'Algérie, pour la communauté, je forme des voeux ardents et confiants au premier jour de 1960. Je suis rempli de l'espoir que cette année nous sera propice
0001 apparents. Pour l'année qui commence, et confiants au premier jour de 1960. je souhaite à la France, à l'Algérie, à la Communauté,
0002 Françaises, Français, je souhaite , en notre nom à tous, une bonne
Je suis rempli de l'espoir que cette année à la
0002 pas. Solide, laborieuse, cohérente, je crois
nous sera propice, parce que jamais, en dépit des difficultés, elle ne fut plus
0003 mise en œuvre
nous avons fait beaucoup au cours de l'actuelle Constitution, je n'ai celle qui finit. nommé qu'un premier ministre. Une pareille stabilité est, il
0003 , Français, au nom du pays, je souhaite une bonne année
En France même, nos institutions assurent à ses filles et à ses fils, c'
...
l'Etat l'efficacité
</pre>
* and with query : "je" @[]? [frpos="V.+"] @@[frpos="V.+"] expand to s@
The result should be :
<pre>

0001 Pour la métropole française, pour l'Algérie, pour la communauté, je forme [forme] des voeux ardents et confiants au premier jour de 1960. Je suis rempli de l'espoir que cette année nous sera propice
0001 apparents. Pour l'année qui commence, et confiants au premier jour de 1960. je souhaite à la France, à l'Algérie, à la Communauté,
0002 Françaises, Français, je souhaite , en notre nom à tous, une bonne
Je [suis] rempli de l'espoir que cette année à la
0002 pas. Solide, laborieuse, cohérente, je crois
nous sera propice, parce que jamais, en dépit des difficultés, elle ne fut plus
0003 mise en œuvre
nous avons fait beaucoup au cours de l'actuelle Constitution, je [n'] ai celle qui finit. nommé qu'un premier ministre. Une pareille stabilité est, il
0003 , Français, au nom du pays, je souhaite une bonne année
En France même, nos institutions assurent à ses filles et à ses fils, c'
...
l'Etat l'efficacité

</pre>

Back