In instanciate_workload, the first iteration injects the value at index instance_id and changes the value according to the instruction given in the markup comment. In q06, the markip comment # const ?word1 in ?label indicates that ?word1 must be drawn from the value pool in ?label. The value pool resides in the corresponding workload_value_selection.csv. However, being a "comparison" (due to regex in the parse_query method ) with the operator "in", the algorithm overwrites the injected value.
Solution
There needs to be an additional check for overwriting value for "in" operator, that is, "whenever the value pool file is not workload_value_selection.csv or instance_id is not specified". This way, even if the primo injection fails, the overwriting mechanism will be activated in the next iteration.
What?
Duplicate value for placeholders for template q06
How?
In
instanciate_workload
, the first iteration injects the value at indexinstance_id
and changes the value according to the instruction given in the markup comment. In q06, the markip comment# const ?word1 in ?label
indicates that?word1
must be drawn from the value pool in?label
. The value pool resides in the correspondingworkload_value_selection.csv
. However, being a "comparison" (due to regex in theparse_query
method ) with the operator "in", the algorithm overwrites the injected value.Solution
There needs to be an additional check for overwriting value for "in" operator, that is, "whenever the value pool file is not
workload_value_selection.csv
orinstance_id
is not specified". This way, even if the primo injection fails, the overwriting mechanism will be activated in the next iteration.