Plan d'annotation BBCH
Le plan d'annotation du commit 18e342…e6d2c génère des erreurs dans le fichier ppdo-baseline-bbch.csv
.
En particulier il génère des URI du type bbch:globalScale_secondaryStage_BBCH-69 là où la véritable URI n'a pas de tiret. Or le code correspondant est celui-ci :
<!-- BBCH-00 -->
<BBCH_DD class="PatternMatcher">
<pattern>
[ @form =^ "BBCH" ]
[ @form == "-"]?
(number:[ @form =~ "[0-9]{2}$" ])
</pattern>
<actions>
<createAnnotation layer="bbch" features='(…),uri=("bbch:globalScale_secondaryStage_BBCH" ^ group:number)'/>
</actions>
<constantAnnotationFeatures>type=BBCH-DD</constantAnnotationFeatures>
</BBCH_DD>
Le texte qui déclenche est «…entre les stades BBCH-69 et 73 (grains…», dans ce BSV là.
On identifie que c'est bien ce code là qui est exécuté par la valeur BBCH-DD du constantAnnotationFeatures.
Si on retire la ligne [ @form == "-"]?
on obtient la même chose (ça matche tout aussi bien le bout de texte entre guillemets). Et si on enlève juste le point d'interrogation ça ne matche plus du tout (ni «BBCH 69», ni «BBCH-69»).
À noter que bbch.plan
n'est pas «exclusif», je veux dire par là que la chaîne en exemple au-dessus va réagir aux patterns "BBCH" et "BBCH-69" et générer 2 lignes de résultat. Il devrait aussi réagir à un pattern défini pour reconnaître "BBCH-69 et 73" mais celui-ci ne fonctionne pas.
D'autres patterns présentent un problème similaire. Par exemple :
- Ce BSV qui renvoie bbch:globalScale_secondaryStage_BBCH31-32 avec le même pattern qu'au-dessus sur la chaîne «stades 1 à 2 nœuds (BBCH31-32).» (Ce fichier présente d'autres occurrences qui ont le même problème).
- Ou cet autre BSV qui renvoie bbch:globalScale_secondaryStage_BBCH13-17 pour la chaîne «(BBCH 13-17)» avec le même pattern.
Pour ces deux exemples, un autre pattern a été défini, qui ne matche pas :
<!-- BBCH 17 à 19-->
<!-- BBCH 17 - 19-->
<BBCH_RANGE class="PatternMatcher">
<pattern>
[ @form == "BBCH" ]
[ @form == "-"]?
(number3 : [ @form =~ "[0-9]{2}" ])
[@form == "à" or @form == "-"]
(number4 : [ @form =~ "[0-9]{2}" ])
</pattern>
<actions>
<createAnnotation layer="bbch" features='number=group:number3,canonical-form=("BBCH " ^ group:number3)'/>
<createAnnotation layer="bbch" features='number=group:number4,canonical-form=("BBCH " ^ group:number4)'/>
</actions>
<constantAnnotationFeatures>type=BBCH_RANGE</constantAnnotationFeatures>
</BBCH_RANGE>