Skip to content

Inférer les types de personnes #2

@ghost

Description

Actuellement les types de personnes font l'objet d'assertions directes lors du chargement : le type est calculé à partir de là ou des fonctions.
Aperçu du code :

insert_statements(RDF::Statement(@uri, RDF.type, infer_rdf_person_type_from_database_function_type(function)))

...

 def infer_rdf_person_type_from_database_function_type(function)
      return RDF::URI("#{FR_ONTOLOGY}PRS_0000011") if function.pr? || function.dirh? || function.mcf? #enseignant.e chercheur.e
      return RDF::URI("#{FR_ONTOLOGY}PRS_0000009") if function.dr? || function.cr? # chercheur.e
      return RDF::URI("#{FR_ONTOLOGY}PRS_0000012") if function.prem? || function.drem? # professeur.e émérite
      return RDF::URI("#{FR_ONTOLOGY}PRS_0000002") if function.ie? || function.ir? || function.ai? || function.tch? # personnel de soutien
      return RDF::URI("#{FR_ONTOLOGY}PRS_0000006") if function.doc? # doctorant.e
      return RDF::URI("#{FR_ONTOLOGY}PRS_0000008") if function.postdoc? # postdoctorant.e
      return RDF::URI("#{FR_ONTOLOGY}PRS_0000010") if function.prag? # enseignant.e
 end

Cette solution n'est pas viable si la mise à jour des fonctions est autorisée dans Vivo car elle oblige à mettre à jour les types de personnes en mode batch.
Ce code devrait être supprimé au profit d'une inférence . Cela a été tenté dans notre Vivo v1 mais il est apparu impossible de faire calculer cette inférence par Vivo du fait du choix de la persistance en base de données relationnelle.
Consulter cet échange :
https://groups.google.com/g/vivo-tech/c/1eIbDlHzkBY/m/5GJtUrf9AwAJ

@dsi-ehess/vivo-ehess-2-team

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions