[ Lire le billet qui introduit cette série « Mettre nos données en réseau – un démonstrateur » ]
Comme les personnes physiques, les organismes de recherche sont identifiés dans différents référentiels. En principe, pour la France, le RNSR a vocation à devenir le référentiel pivot, si ce n’est unique.
D’après nos alignements manuels, cette équipe RNSR http://data.enseignementsup-recherche.gouv.fr/rnsr/structure/200412806G est identique à une équipe IdRef et trois équipes HAL :
- http://www.idref.fr/098390031/id
- https://hal.archives-ouvertes.fr/resource/structure/2092 (avec docs)
- https://hal.archives-ouvertes.fr/resource/structure/150960 (avec docs)
- https://hal.archives-ouvertes.fr/resource/structure/432449 (sans doc ni même description – peut-être non valide ?)
Paradoxalement, pour lister tous les documents HAL de cette équipe de recheche, il faut donc passer par son identifiant dans le RNSR :
select ?doc ?structureCCSD from <http://hub.abes.fr/ccsd/structures/paris4> from <http://hub.abes.fr/alignements/structures/rnsr/idref/ccsd> from <http://hub.abes.fr/rnsr/structures/paris4> from <http://hub.abes.fr/ccsd/docs/paris4> where { ?structureCCSD owl:sameAs <http://data.enseignementsup-recherche.gouv.fr/rnsr/structure/200412806G> . ?authorship hub:hasAuthorshipAffiliation ?structureCCSD . ?doc vivo:relatedBy ?authorship. }
Résultat : tous les documents, avec la structure HAL associée
(...) <https://hal.archives-ouvertes.fr/resource/document/halshs-00398956/w> <https://hal.archives-ouvertes.fr/resource/structure/2092> <https://hal.archives-ouvertes.fr/resource/document/halshs-00487825/w> <https://hal.archives-ouvertes.fr/resource/structure/2092> <https://hal.archives-ouvertes.fr/resource/document/halshs-01059723/w> <https://hal.archives-ouvertes.fr/resource/structure/150960> <https://hal.archives-ouvertes.fr/resource/document/halshs-01059731/w> <https://hal.archives-ouvertes.fr/resource/structure/150960> (...)
Encore mieux, en activant l’inférence logique sur owl:sameAs :
DEFINE input:same-as "yes" select ?doc from <http://hub.abes.fr/ccsd/structures/paris4> from <http://hub.abes.fr/alignements/structures/rnsr/idref/ccsd> from <http://hub.abes.fr/rnsr/structures/paris4> from <http://hub.abes.fr/ccsd/docs/paris4> where { ?authorship hub:hasAuthorshipAffiliation <http://data.enseignementsup-recherche.gouv.fr/rnsr/structure/200412806G> . ?doc vivo:relatedBy ?authorship. }
Grâce à l’inférence logique sur owl:sameAs, on peut faire comme si la structure RNSR était directement rattachée aux documents HAL. On ne mentionne plus les structures HAL.
Cela simplifie la requête.
Enfin, voici une requête générale pour trouver tous les doublons de structures HAL : on cherche les structures HAL qui pointent vers la même structure RNSR :
select ?rnsr ?ccsd1 ?ccsd2 from <http://hub.abes.fr/ccsd/structures/paris4> from <http://hub.abes.fr/alignements/structures/rnsr/idref/ccsd> from <http://hub.abes.fr/rnsr/structures/paris4> from <http://hub.abes.fr/ccsd/docs/paris4> where { ?ccsd1 owl:sameAs ?rnsr ; a <http://schema.org/Organization>. ?ccsd2 owl:sameAs ?rnsr ; a <http://schema.org/Organization>. filter(?ccsd1 != ?ccsd2) } order by ?rnsr