ArchivesNationalesFR / rico-converter

A tool to convert EAC-CPF and EAD 2002 XML files to RDF datasets conforming to Records in Contexts Ontology (RiC-O)
https://archivesnationalesfr.github.io/rico-converter/
Other
29 stars 2 forks source link

Note sur la conversion des fichiers EAD Calames avec Rico converter #89

Open tfrancart opened 4 days ago

tfrancart commented 4 days ago

(Tous les exemples viennent du fichier TestConversionRIC_Calames_143.xml)

  1. Traitement de l'eadid générique (rendre son traitement plus robuste)

  2. Pas de prise en compte des roles de persname/corpname/famname (codes fonctions UNIMARC en majorité)

    • Liste des codes de roles : https://documentation.abes.fr/aidecalames/manuelcatalogageead/index.html#CFPRole
    • Pourrait générer une relation RiC-O dans certains cas ("auteur"), mais pas dans tous les cas ("dessinateur", "graveur")
    • Pouvoir s'aligner sur les codes de RDA-fr ? suppose un travail d'alignement conséquent
    • Faire une extension de RiC-O pour le projet Calames en ajoutant de nouveaux types de relations ?
  3. Génération des liens URI vers IdRef :

<rico:hasOrHadSubject rdf:resource="place/Sudoc-027548465"/>
  1. Génération des seeAlso vers la SIV des AN qu'il faudrait ajuster/enlever:
<rdfs:seeAlso rdf:resource="https://www.siv.archives-nationales.culture.gouv.fr/siv/UD/FR-593509801_Liste mss/Calames-2018315103454591"/>
  1. scopeAndContent vide:
         <rico:RecordResource rdf:about="recordResource/-Calames-2016215142413021">
            <rico:isOrWasPartOf rdf:resource="recordResource/-Calames-201629102437121"/>
            <rico:directlyFollowsInSequence rdf:resource="recordResource/-Calames-2016215142132341"/>
            <rico:directlyPrecedesInSequence rdf:resource="recordResource/-Calames-201621514229451"/>
            <rico:title xml:lang="fr">Revue politique et parlementaire, numéro 309, 10 août 1920</rico:title>
            <rdfs:label xml:lang="fr">Revue politique et parlementaire, numéro 309, 10 août 1920</rdfs:label>
            <rico:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1920-08-10</rico:date>
            <rico:date xml:lang="fr">10 août 1920</rico:date>
            <rico:scopeAndContent rdf:parseType="Literal">
               <html:p xml:lang="fr"/>
            </rico:scopeAndContent>

Voici le contenu de l'ead correspondant:

<scopecontent>
            <p><genreform type="type de document" normal="texte imprimé">Numéro de revue</genreform>. <extref href="http://www.sudoc.fr/045328307">Voir la notice de la revue dans le Sudoc</extref>.</p>
          </scopecontent>

Ou bien autre exemple de scopeAndContent bizarre:

      <c id="D48030021" level="otherlevel" otherlevel="notice">
        <did>
          <unitid type="cote">Ms-105</unitid>
          <unittitle>Pontifical, avec musique notée</unittitle>
          <unitdate era="ce" calendar="gregorian" normal="1501/1600">XVI<emph render="super">e</emph> siècle</unitdate>
          <langmaterial>
            <language langcode="lat">latin</language>
          </langmaterial>
          <physdesc>
            <physfacet type="support">Parchemin</physfacet>
            <extent>113 feuillets</extent>
            <dimensions unit="mm">305 × 212 mm</dimensions>
            <physfacet type="reliure">Reliure moderne en velours violet</physfacet>
          </physdesc>
        </did>
        <scopecontent>
          <p>En haut du fol. 1, d'une main du XVII<emph render="super">e</emph> siècle, la mention : « Pontificale Noviomense » et à l'intérieur du dernier plat de la reliure : « à l'usage de Noyon, selon qu'il paraît par les litanies où les saints évêques de cette ville sont en grand nombre. »</p>
        </scopecontent>

Sort juste le "e":

   <rico:RecordResource rdf:about="recordResource/-D48030021">
      <rico:isDirectlyIncludedIn rdf:resource="recordResource/top-"/>
      <rico:directlyFollowsInSequence rdf:resource="recordResource/-D48030014"/>
      <rico:directlyPrecedesInSequence rdf:resource="recordResource/-D48030029"/>
      <dc:type>notice</dc:type>
      <rico:type>notice</rico:type>
      <rico:title xml:lang="fr">Pontifical, avec musique notée</rico:title>
      <rdfs:label xml:lang="fr">Pontifical, avec musique notée</rdfs:label>
      <rico:beginningDate rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">1501</rico:beginningDate>
      <rico:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">1600</rico:endDate>
      <rico:date xml:lang="fr">XVI siècle</rico:date>
      <dc:language rdf:resource="language/FRAN_RI_100-name9"/>
      <rico:scopeAndContent rdf:parseType="Literal">
         <html:p xml:lang="fr">
            <html:sup>e</html:sup>
         </html:p>
      </rico:scopeAndContent>
  1. Ces controlaccess ne sortent pas (on a pris en compte l'indexation libre sur les persname mais pas sur les autres)
      <c id="D48030021" level="otherlevel" otherlevel="notice">
        <did>
          <unitid type="cote">Ms-105</unitid>
          <unittitle>Pontifical, avec musique notée</unittitle>
          <unitdate era="ce" calendar="gregorian" normal="1501/1600">XVI<emph render="super">e</emph> siècle</unitdate>
          <langmaterial>
            <language langcode="lat">latin</language>
          </langmaterial>
          <physdesc>
            <physfacet type="support">Parchemin</physfacet>
            <extent>113 feuillets</extent>
            <dimensions unit="mm">305 × 212 mm</dimensions>
            <physfacet type="reliure">Reliure moderne en velours violet</physfacet>
          </physdesc>
        </did>
        <scopecontent>
          <p>En haut du fol. 1, d'une main du XVII<emph render="super">e</emph> siècle, la mention : « Pontificale Noviomense » et à l'intérieur du dernier plat de la reliure : « à l'usage de Noyon, selon qu'il paraît par les litanies où les saints évêques de cette ville sont en grand nombre. »</p>
        </scopecontent>
        <custodhist>
          <p>Donation Agache-Desmedt</p>
        </custodhist>
        <controlaccess>
          <persname role="390" normal="Agache, Edmond (1847-1920)" source="Sudoc" authfilenumber="058862501">Agache, Edmond (1847-1920)</persname>
        </controlaccess>
        <controlaccess>
          <geogname>Noyon (Oise)</geogname>
          <subject>Pontifical</subject>
        </controlaccess>
        <controlaccess>
          <subject>Musique</subject>
        </controlaccess>
        <controlaccess>
          <subject>Pontificaux</subject>
        </controlaccess>
  1. Traitement de phyfacet bizarre (type="reliure")
      <c id="D48030058" level="otherlevel" otherlevel="notice">
        <did>
          <unitid type="cote">Ms-202</unitid>
          <unittitle>« Mémoires sur la province de Flandre gallicane, par M<emph render="super">r</emph> de Bagnols »</unittitle>
          <unitdate era="ce" calendar="gregorian" normal="1701/1800">XVIII<emph render="super">e</emph> siècle</unitdate>
          <langmaterial>
            <language langcode="fre">français</language>
          </langmaterial>
          <physdesc>
            <physfacet type="support">Papier</physfacet>
            <extent>113 feuillets</extent>
            <dimensions unit="mm">240 × 180 mm</dimensions>
            <physfacet type="reliure">Reliure veau marbré</physfacet>
          </physdesc>
        </did>
      <rico:hasInstantiation>
         <rico:Instantiation rdf:about="instantiation/-D48030058-i1">
            <rico:isInstantiationOf rdf:resource="recordResource/-D48030058"/>
            <rico:identifier>Ms-202</rico:identifier>
            <rico:title xml:lang="fr">« Mémoires sur la province de Flandre gallicane, par Mr de Bagnols »</rico:title>
            <rdfs:label xml:lang="fr">« Mémoires sur la province de Flandre gallicane, par Mr de Bagnols »</rdfs:label>
            <rico:beginningDate rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">1701</rico:beginningDate>
            <rico:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">1800</rico:endDate>
            <rico:date xml:lang="fr">XVIII siècle</rico:date>
            <rico:hasCarrierType rdf:resource="carrierType/-support"/>
            <rico:instantiationExtent rdf:parseType="Literal">
               <html:p xml:lang="fr">113 feuillets</html:p>
            </rico:instantiationExtent>
            <rico:carrierExtent rdf:parseType="Literal">
               <html:p xml:lang="fr">240 × 180 mm</html:p>
            </rico:carrierExtent>
            <rico:hasCarrierType rdf:resource="carrierType/-reliure"/>
            <rdfs:seeAlso rdf:resource="https://www.siv.archives-nationales.culture.gouv.fr/siv/UD/FR-593509801_Liste mss/D48030058"/>
         </rico:Instantiation>
      </rico:hasInstantiation>
  1. genreform ne sont pas traités:
<c id="Calames-2016215122117681" level="otherlevel">
          <did>
            <unitid type="division">Dossier 7</unitid>
            <unittitle>... Le printemps a fui, l'été touche à son terme</unittitle>
            <unitdate era="ce" calendar="gregorian" normal="1915">1915</unitdate>
            <physdesc>
              <extent>12 feuillets</extent>
            </physdesc>
          </did>
          <scopecontent>
            <p><genreform type="type de document" normal="texte manuscrit">Manuscrit</genreform>.</p>
          </scopecontent>
        </c>
  1. Valeurs de otherlevel qui ne sont pas prises en compte et qui pourraient être analysés pour déterminer si c'est un Record, RecordSet, RecordPart

  2. Pas de prise en compte de bioghist

  3. Pas de prise en compte de legalstatus dans accessrestrict

<archdesc level="fonds" type="catalogue">
    <accessrestrict>
      <p>La consultation des manuscrits se fait sur demande motivée visée par le conservateur responsable du fonds et après dépôt d'une carte de lecteur ou d'une pièce d'identité.</p>
      <p>Suite aux travaux de rénovation de la BU SHS, un délai supplémentaire de 48 à 72h est necéssaire pour la consultation des manuscrits;</p>
      <legalstatus>SCD Université de Lille</legalstatus>
    </accessrestrict>
  1. Utilisation différente de physloc car les valeurs sont très variés (texte varié car c'est un catalogue collectif)

  2. langcode pour la langue des documents est mappé sur le référentiel des langues des AN.

  3. Pas de conversion de dao

florenceclavaud commented 4 days ago
2. Pas de prise en compte des roles de persname/corpname/famname (codes fonctions UNIMARC en majorité)
    - Liste des codes de roles : https://documentation.abes.fr/aidecalames/manuelcatalogageead/index.html#CFPRole
    - Pourrait générer une relation RiC-O dans certains cas ("auteur"), mais pas dans tous les cas ("dessinateur", "graveur")
    - Pouvoir s'aligner sur les codes de RDA-fr ? suppose un travail d'alignement conséquent
    - Faire une extension de RiC-O pour le projet Calames en ajoutant de nouveaux types de relations ?

Autre option : ajouter directement de nouvelles relations à RiC-O, notamment comme sous-propriétés de rico:hasAuthor. On peut le faire pour des valeurs de @role telles que 'graveur' ou 'dessinateur' ; cela pourrait se justifier pour répondre à ces besoins, et aussi pour des besoins similaires dans un univers métier purement archivistique (on décrit souvent des documents iconographiques ou audiovisuels par ex. dans les services d'archives). Cette propriété rico:hasAuthor va sans doute, de toute façon, accueillir d'autres sous-propriétés. Noter qu'il existe aussi une propriété rico:creationWithRole, avec pour domaine la relation n-aire CreationRelation, superclasse de AuthorshipRelation. Dans tous les cas, quelle que soit la solution retenue, il faut à la fois travailler sur le logiciel et sur le modèle de référence pour traiter ce point. Ca peut prendre un peu de temps.

tfrancart commented 4 days ago

Note : surcharge de la fonction de création des URIs d'Agents dans "main.xslt" pour pointer vers IdRef:

    <xsl:function name="ead2rico:URI-Agent">
        <xsl:param name="authfilenumber" />
        <xsl:param name="source" />
        <xsl:value-of select="concat('http://www.idref.fr/',$authfilenumber,'/id')" />
    </xsl:function>