ArchivesNationalesFR/rico-converter

Process values of XML attribute "otherlevel" when level="otherlevel"

tfrancart opened this issue · 9 comments

Florence to check the values of that attribute and create unit tests

Example "sous-sous-sous-série", "groupe de pièces". Use this to determine the exact type of the resource.

We could test on the presence of words "group" / "série" / "serie" and then create a RecordSet. This can be already implemented. Add a warning if this is not the case + use rico:type + dc:type with a literal value to store the value.

i @tfrancart, I have had a quick look at the whole corpus of our about 31000 finding aids (dated March 2022) and found 15605 otherlevel attributes with 47 different values, among which a few silly ones, a few odd ones, and many others that include at least:

  • one of the following strings:
    dossier | fonds | serie | série | articles | groupe-de-pieces | collection | subgrp | sbgrp
    which means that the description unit is a rico:RecordSet.
  • or one of the following strings:
    page-de-titre | groupe-de-page | groupes-de-page | groupe-depage
    which means that the description unit is a rico:RecordPart.

So I think we could try and take these values into account, maybe in params like the OTHERLEVEL_RECORDSET_PATTERN you created in the latest release (commit 4a3599b), or in keywords file like the eac2rico-keywords.xml file, so that this can be modified later on by the users of the tool. I suspect that the ANF are not the only institution that uses @otherlevel with free values, at least in France. Anyway at the ANF, we will need time to check and standardize these values.
I can prepare unit tests for this of course.

Another suggestion: in the log files, would it be possible to output, not only the id of the finding aid, but also the id (c/@id) of the description unit, for such warnings? it would help find the description unit concerned (particularly about @otherlevel, or when there is no @Level attribute for example).

@florenceclavaud : I have moved the OTHERLEVEL_RECORDSET_PATTERN, as well as all other XSLT parameters in the main.xslt (for EAD and EAC). This allows to easily modify them without touching the large XSLT(s). I have also adjusted the otherlevel pattern to match your value.

I still need to see what can be done regarding the RecordPart

HI @tfrancart, I can create the unit tests for both Record Sets and Record Parts.

Inclure telle quelle la valeur de otherlevel dans dc:type systématiquement, pour RecordSet et RecordPart.
Faire un test unitaire 15d_RecordPart pour tester ce cas
On laisse rico:hasOrHadPart dans le cas où c'est un RecordPart

HI @tfrancart, just to say that the EGAD subteam that develops RiC-O has made the decision to make rico:includesOrIncluded a subproperty of rico:hasOrHadPart (see ICA-EGAD/RiC-O#55). So we can use hasOrHadPart to connect the record resource to a component when we do not know if it is a Record Set or a Record. And keep the more precise subproperties, includesOrIncluded, and hasOrHadConstituent, when we know what we have.

@florenceclavaud this is implemented and can be reviewed in PR #43