Z39.50
The final output from Z39.50 projects is a list of MARC control numbers against some other reference (e.g. a shelfmark). Each project also gives an option to add comments, which can be used to flag up any issues where chosen records don't match exactly.
So, the final results for Z39.50 tasks are stored alongside three keys:
- control_number
- reference
- comments
The values stored alongside these keys are determined first by an automated process, then, if further checking is required, by human intervention.
Automated analysis¶
When a task has recieved the required number of contributions it is marked as complete and the following results analysis process is triggered.
1. Check if all answers are empty.¶
This means that no users were able to find a suitable match and no comments were given. If this is the case, an empty value is stored against each answer key and the analysis process ends.
Example result fragment
If the process ends at this stage, the final result will be stored as below.
{ "info": { "control_number": "", "reference": "", "comments": "" }, "last_version": true ... }
2. Check for any comments¶
A comment given alongside an answer will often signify that the result requires
further checking. So, if a comment is found then the result's last_version
flag is set to false
, an empty value is stored against each answer key and
the analysis process ends.
Example result fragment
If the process ends at this stage, the final result will be stored as below.
{ "info": { "control_number": "", "reference": "", "comments": "Some comment" }, "last_version": false ... }
3. Check if the required match rate is met¶
If all answers were not empty, we check if a specified percentage
of all answers match. That is, the control_number
, reference
and comments
are exactly the same.
By default the required match rate is 60%. This equates to, for example, at least 2 out of 3, or 3 out of 5 answers being exactly the same. If the required match rate is met we store that matching answer as the final result and the analysis process ends.
Example result fragment
If the process ends at this stage, the final result will be stored as below.
{ "info": { "control_number": "ocm00012345", "reference": "123.abc.4", "comments": "" }, "last_version": true ... }
4. Mark the result for further checking¶
If there are non-empty answers and the required match rate was not met then
we mark the result for further checking by setting the last_version
flag to
false
.
Example result fragment
If the process ends at this stage, the final result will be stored as below.
{ "info": { "control_number": "", "reference": "", "comments": "" }, "last_version": false ... }