Journée Sudoc-PS 2019, application de visualisation de corpus de périodiques (unicas & presse locale)
1. Unicas & presse locale ancienne
sont dans une interface…
POUR UNE APPLICATION DE VISUALISATION ET D’EXPLORATION DES
DONNÉES.
2. Le contexte
Point de départ : valorisation de 2 corpus spécifiques de périodiques :
Unicas et presse locale ancienne
Axe « Valorisation des collections » dans notre convention sur objectifs :
- Évaluer nos collections
- améliorer leur visibilité
- Qualité des données et signalement
Moyen :
- Création et mise en ligne d’un outil de visualisation des données du CR basé sur
les web services du Sudoc
4. Traduction en Excel
Fichier des unicas Sudoc Fichier des titres de presse locale BnF
5. Traduction en langage graphe (my name is Graph, Property Graph)
Node 2
Node 4
Node 1
Node 5
Node 3
Etapes
- On modélise le graphe (quelles sont les ressources – les nœuds – et quelles sont
leurs relations – connues et à construire - ?)
- On fait un chargement initial de données à minima dans la BDD et on automatise
les enrichissements par des requêtes directement dans le graphe
- On développe l’application au-dessus de la BDD
• pour exposer les données (exports Excel et API)
• pour proposer une interface web de visualisation
6. Pour bien commencer : déterminer les entités que l’on veut étudier = les nœuds
génériques du graphe
Bibliothèques
Titres unicas
Titres presse
loc. anc.
Titres presse
loc. anc.
numérisés
{Nom,rcr,lat,lon}
{titre,ppn,issn,309}
{titre,ark,issn}
{url,étab}
OWNED_BY
{etatd_de_coll}
HAS_VERSION
Départements
{Nom,numéro}
L
O
C
A
T
E
D
IS_ABOUT
S
A
M
E
_
A
S
7. Petit aparté : la souplesse d’une modélisation de type Property Graph est aussi sa
principale difficulté
On aurait pu faire complètement différemment… d’ailleurs il n’est pas certain du tout que ce soit
meilleure manière de modéliser.
La question essentielle qui doit guider la structuration interne du graphe est : quelles sont les
questions auxquelles je veux pouvoir répondre ?
Unicas
ppn
issnHAS_ID
Presselocale
HAS_ID
ark
Sudoc
BELONGS_TO
BnFBELONGS_TO
MATCH
8. Petite mise au point : quand on parle de graphe, on pense web de données et
RDF…
Mais il n’y a pas que le RDF dans la vie !
RDF
Triplets sujet-prédicat-objet
S’appuie sur des uri pour identifier les
ressources, et des ontologies pour
qualifier les ressources et les
prédicats
A pour objectif de modéliser et
formaliser les données et leurs
connexions selon un standard
Qui permette leur intégration dans le
web (indexation moteurs de
recherche, accès web, navigation,
échange)
Un stockage en triple store accessible
par un Endpoint
Un langage de requête SPARQL
Propriété de graphe (Graph
Property)
Des nœuds liés par des relations
Nœuds et liens peuvent être qualifiés
par des propriétés (formalisées
comme des objets clé-valeur), sans
schéma posé à priori.
Structuration optimisée pour le
stockage et le parcours de graphe (le
requêtage et la navigation dans les
données)
Des langages de requêtes selon la
bdd choisie (Neo4j, ArangoDB…)
10. Les sources de données
Bibs de l’ILN 230
https://www.idref.fr/services/iln2rcr/230
Ppn des unicas
Self Sudoc
Site BnF presse loc.
anc.
http://presselocaleancienne.bnf.fr/accueil
11. Peut mieux faire…
Sudoc web service multiwhere
https://www.sudoc.fr/services/multiwher
e/<ppn>
Sudoc web service
UNIMARC/MARCXML
http://www.sudoc.fr/<ppn>.xml
BnF : SRU
http://catalogue.bnf.fr/api/SRU?version=
1.2&operation=searchRetrieve&query=b
ib.persistentid%20adj%20%22<ark>%22
&recordSchema=unimarcxchange
Sudoc web service issn2ppn
http://www.sudoc.fr/services/issn2ppn/<i
ssn>
12. Interface web
Client Side
(librairies
JS)
Connexion à
la BDD
Graphe
Distribution des données
Server side
(Express) :
API
Données
Json + doc
SWagger
BDD/ETL Neo4j
node
1
node
5
node
2
node
3
node
4
Client side :
Exploitation
API
Tableaux
Widgets
13.
14.
15.
16.
17.
18. Pour en savoir plus
Liens vers les billets de blogs (passés et à venir)
http://bibliotheque-blogs.unice.fr/sudoc-ps/
http://bibliotheque-blogs.unice.fr/sudoc-ps/tag/valorisation-des-collections/
Code source
Le code de l’application sera disponible en open source dès que l’application sera finalisée (à
la rentrée universitaire 2019).
En attendant :
- https://github.com/gegedenice/angular-sudocps-unicas : pour créer une page web listant
vos unicas (voir par exemple l’adaptation du code par le CR Rhône-Alpes https://bu.univ-
grenoble-alpes.fr/CR69/index.html).
- https://gist.github.com/gegedenice/c7e53cc4c3d65b8bc1639d4b55a90be6 : un gist avec
les requêtes en langage Cypher utilisées pour charger et enrichir les données dans Neo4j.
Nous contacter
Sudocps-scd@unice.fr
geoffroy@unice.fr