Feature #1532

Updated by Serge Heiden about 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 may is not always be resolved (exemple : @"je" @@@[]? [frpos="V.+"]@). "je" @@[]? [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" "je" []? [frpos="V.+"]@ [frpos="V.+"]
The result should be :
<pre>
0001 pour l'Algérie, pour la communauté, je forme des voeux ardents et confiants au premier jour de 1960. Je
0001 apparents. Pour l'année qui commence, je souhaite à la France, à l'Algérie, à la Communauté,
0002 Françaises, Français, je souhaite , en notre nom à tous, une bonne année à la
0002 pas. Solide, laborieuse, cohérente, je crois que jamais, en dépit des difficultés, elle ne fut plus
0003 mise en œuvre de l'actuelle Constitution, je n'ai nommé qu'un premier ministre. Une pareille stabilité est, il
0003 , Français, au nom du pays, je souhaite une bonne année à ses filles et à ses fils, c'
...
</pre>
* and with query : @"je" @@@[]? [frpos="V.+"]@ "je" @[]? [frpos="V.+"]
The result should be :
<pre>
0001 pour l'Algérie, pour la communauté, je forme des voeux ardents et confiants au premier jour de 1960. Je
0001 apparents. Pour l'année qui commence, je souhaite à la France, à l'Algérie, à la Communauté,
0002 Françaises, Français, je souhaite , en notre nom à tous, une bonne année à la
0002 pas. Solide, laborieuse, cohérente, je crois que jamais, en dépit des difficultés, elle ne fut plus
0003 mise en œuvre de l'actuelle Constitution, je [n'] ai nommé qu'un premier ministre. Une pareille stabilité est, il
0003 , Français, au nom du pays, je souhaite une bonne année à ses filles et à ses fils, c'
...
</pre>

Back