SlideShare une entreprise Scribd logo
Projet RePEc
Christophe WILLAERT Nahid OULMI
25 février 2016
Plan
1. Introduction
2. Éléments du web sémantique
3. Produire les triplets RDF
4. Rendre les données accessibles
5. Conclusion
Projet RePEc 2 / 31
1. Introduction
2. Éléments du web sémantique
3. Produire les triplets RDF
4. Rendre les données accessibles
5. Conclusion
Projet RePEc Introduction 3 / 31
Research Papers in Economic
Crée en 1997
Base de données décentralisée
2 000 000 items recensés :
+ de 58 700 auteurs
+ de 1 220 000 articles (publiés)
+ de 709 000 papiers (working papers)
+ de 37 000 chapitres de livre
Métadonnées au format ReDIF (Research Document Information Format)
Projet RePEc Introduction 4 / 31
Le projet
Objectif : étudier les réseaux de co-auteurs en Sciences-Économiques
Auteurs des publications présentes dans RePEc
Exemples de questionnement :
un auteur avec un h-index élevé est-il bien central dans la discipline ?
dans son champ d’études ?
Mission :
nous approprier les jeux de données
nous approprier les notions liées au web sémantique
concevoir un script pour la conversion des données
mettre les données converties en base de données
Projet RePEc Introduction 5 / 31
Les étapes
Projet RePEc Introduction 6 / 31
L’accès aux métadonnées
Accès à l’ensemble des données de RePEc via des accès FTP/HTTP
repec.org liste tous les sites (archives)
miroir de l’ensemble des sites mis en place pour le projet
accessible sur http://test.boulgour.com/repec
Une archive particulière
un répertoire du mirroir : remo/per
contient un fichier ReDIF par auteur présent dans RePEc
chaque fichier contient les informations sur un auteur
nom
liste des documents auxquels il a contribué
C’est à partir de ces fichiers que nous avons travaillé
Projet RePEc Introduction 7 / 31
Base de données sémantiques ?
Web sémantique
un projet des fondateurs du web depuis les années 90
porté par le W3C
Idée
rendre l’information accessible aux machines
lier l’information avec des données structurées
faire du web une bibliothèque géante unifiée
On parle désormais de web des données (Linked Data)
Projet RePEc Introduction 8 / 31
1. Introduction
2. Éléments du web sémantique
3. Produire les triplets RDF
4. Rendre les données accessibles
5. Conclusion
Projet RePEc Éléments du web sémantique 9 / 31
RDF : Resource Description Framework
un cadre de travail pour publier/manipuler des donnés sur le web
recouvre à la fois
un modèle liant un sujet à un objet via un verbe
notion de triplets RDF (plus petit élément de connaissance)
plusieurs syntaxes de représentations
RDF/XML,
Turtle,
N-Triples
. . .
Contexte
récupérer les données des fichiers ReDIF
pour les mettre sous la forme de triplets RDF
afin de pouvoir analyser les relations entre auteurs
choix de la syntaxe N-Triples pour sa simplicité
Projet RePEc Éléments du web sémantique 10 / 31
URI : l’identifiant des objets sur le web
Uniform Ressource Identifier (URI)
un identifiant unique pour une source web
composant important du web sémantique
Uniform Ressource Locator (URL)
identifie une source et permet en plus d’y accéder directement
URI ne permet pas tant de retrouver la source que de la qualifier
Projet RePEc Éléments du web sémantique 11 / 31
La syntaxe N-triples
La structure du RDF est une séquence (Sujet – Prédicat – Objet)
Utilisation de la syntaxe N-Triple pour produire cette séquence :
<Sujet> <Prédicat> <Objet> .
Ne pas oublier le point !
Le sujet et l’objet peuvent être
une URI
une URL (mieux)
un littéral (c’est-à-dire une chaîne de caractères non-identifiée)
Le prédicat doit obligatoirement être un URI ou une URL
Projet RePEc Éléments du web sémantique 12 / 31
1. Introduction
2. Éléments du web sémantique
3. Produire les triplets RDF
4. Rendre les données accessibles
5. Conclusion
Projet RePEc Produire les triplets RDF 13 / 31
Créer un parseur de fichiers ReDIF
Parser un fichier = le parcourir et en extraire les informations utiles
Objectif dans notre cas :
Noms
Prénoms
Domaine d’activité
Ensemble des documents auxquels aura participé l’auteur
Pour l’ensemble des auteurs enregistrés
Projet RePEc Produire les triplets RDF 14 / 31
Notre parseur en Python
Trois étapes :
1. Ranger les données dans des listes
2. Concaténer ces listes pour avoir des N-Triples
3. Lui faire comprendre qu’on lui fournit des fichiers en entrée
Projet RePEc Produire les triplets RDF 15 / 31
Prendre des fichiers en argument
Plus de 58 700 fichiers ReDIF à traiter
automatisation de la tâche nécessaire
Bash : langage de programmation des systèmes Unix
Avec Bash et Python nous pouvons prendre en argument une infinité de fichiers
Projet RePEc Produire les triplets RDF 16 / 31
Organiser l’information sous forme de N-Triples
Souvenez-vous des N-Triples : (Sujet – Prédicat – Objet)
Exemple dans notre cas :
Projet RePEc Produire les triplets RDF 17 / 31
Enrichir ces données
Nom/Prénom
Identifiant unique (URL ?)
Dernière connexion
Problème de la classification NEP/JEL
Projet RePEc Produire les triplets RDF 18 / 31
Enrichir ces données
Projet RePEc Produire les triplets RDF 19 / 31
1. Introduction
2. Éléments du web sémantique
3. Produire les triplets RDF
4. Rendre les données accessibles
5. Conclusion
Projet RePEc Rendre les données accessibles 20 / 31
Deux types de bases de données
Bases de données sémantiques (triplestores)
logique pure / approche académique
hautement complexe
met l’accent sur le raisonnement
notion d’inférences
notion d’ontologies
met l’accent sur la précision (le plus complet possible)
Bases de données orientées graphes
pragmatisme
complexité intermédiaire
faciliter pour traverser les graphes
plus performant
Projet RePEc Rendre les données accessibles 21 / 31
Choix de Virtuoso
Virtuoso est un triplestore
Base conçue pour les données RDF . . . mais pas seulement
Complet . . . mais complexe
Installé sur le serveur test.boulgour.com
Objectifs :
Importer nos N-Triples dans la base
Effectuer des requêtes SPARQL
Projet RePEc Rendre les données accessibles 22 / 31
Utilisation de Virtuoso
Accès :
web via l’outil Conductor
interface graphique depuis un navigateur
en ligne de commande via iSQL
commande isql-vt
Syntaxe :
langage SQL intégré
langage SPARQL
Projet RePEc Rendre les données accessibles 23 / 31
SPARQL
Langage de requêtes pour des données RDF
Equivalent au SQL mais pour le web sémantique
Standardisé par le W3C depuis 2008
Permet de sélectionner
le nœuds d’un graphe RDF
ainsi que les liens qui les composent
Projet RePEc Rendre les données accessibles 24 / 31
SPARQL : un exemple
Les coauteurs de pfa122 (Étienne FARVAQUE)
SELECT DISTINCT "pfa122" ?auteur
WHERE
{
?publication ?p ?auteur .
FILTER
(
?publication =
(
SELECT ?publication
WHERE
{
?publication <http://purl.org/dc/elements/1.1/creator> "pfa122"
}
)
&& ?auteur != "pfa122"
)
};
Projet RePEc Rendre les données accessibles 25 / 31
1. Introduction
2. Éléments du web sémantique
3. Produire les triplets RDF
4. Rendre les données accessibles
5. Conclusion
Projet RePEc Conclusion 26 / 31
Point d’étape à l’issue du semestre
Projet RePEc Conclusion 27 / 31
Étapes de travail restantes
Etape facultative : création d’une API
Etape de visualisation des données
Enrichir l’information (JEL/NEP ?)
Projet RePEc Conclusion 28 / 31
Ce que nous avons appris
Mise en pratique de notions vu en cours
Python
Linux / Bash
Apprentissage et mise en pratique de notions nouvelles
Markdown
SSH
Git / Github
RDF / Virtuoso
Projet RePEc Conclusion 29 / 31
Difficultés rencontrées
Compréhension des concepts liés au web sémantique
Virtuoso :
difficulté de prise en main de Virtuoso
pas d’accès à l’interface en ligne de commande
pas de feeback lors de l’exécution des requêtes
Classification JEL/NEP
Projet RePEc Conclusion 30 / 31
Remarques
Regarder les alternatives à Virtuoso
Vérifier l’intégrité des données en base
Souhait de suivre/poursuivre le projet
Projet RePEc Conclusion 31 / 31

Contenu connexe

Similaire à Concevoir un outil d'analyse de réseau en ligne

Spire : l'archive ouverte de Sciences Po
Spire : l'archive ouverte de Sciences PoSpire : l'archive ouverte de Sciences Po
Spire : l'archive ouverte de Sciences Po
Jean-François Lutz
 
Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...
AbdeslamAMRANE3
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étages
SemWebPro
 
Datalift, une plateforme Linked Data, Retour d'expériences
Datalift, une plateforme Linked Data, Retour d'expériencesDatalift, une plateforme Linked Data, Retour d'expériences
Datalift, une plateforme Linked Data, Retour d'expériences
SemWebPro
 
Presentation dublincore l3
Presentation dublincore l3Presentation dublincore l3
Presentation dublincore l3
DublinCore2b
 
Data Tuesday 20 nov 2012 INSEE - Datalift
Data Tuesday 20 nov 2012  INSEE - Datalift Data Tuesday 20 nov 2012  INSEE - Datalift
Data Tuesday 20 nov 2012 INSEE - Datalift
Data Tuesday
 

Similaire à Concevoir un outil d'analyse de réseau en ligne (20)

Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQL
 
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDF
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDFAcfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDF
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDF
 
Spire : l'archive ouverte de Sciences Po
Spire : l'archive ouverte de Sciences PoSpire : l'archive ouverte de Sciences Po
Spire : l'archive ouverte de Sciences Po
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développement
 
Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...
 
Semantic web introduction
Semantic web introductionSemantic web introduction
Semantic web introduction
 
Open data & linked data
Open data & linked dataOpen data & linked data
Open data & linked data
 
Sudoc, Calames, theses.fr et le Web de données
Sudoc, Calames, theses.fr et le Web de donnéesSudoc, Calames, theses.fr et le Web de données
Sudoc, Calames, theses.fr et le Web de données
 
Medialille evolutions catalogage_avril2014_web-donnees
Medialille evolutions catalogage_avril2014_web-donneesMedialille evolutions catalogage_avril2014_web-donnees
Medialille evolutions catalogage_avril2014_web-donnees
 
ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étages
 
Datalift, une plateforme Linked Data, Retour d'expériences
Datalift, une plateforme Linked Data, Retour d'expériencesDatalift, une plateforme Linked Data, Retour d'expériences
Datalift, une plateforme Linked Data, Retour d'expériences
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
 
Données liées et Web sémantique : quand le lien fait sens.
Données liées et Web sémantique : quand le lien fait sens. Données liées et Web sémantique : quand le lien fait sens.
Données liées et Web sémantique : quand le lien fait sens.
 
Les professionnels de l'information face aux défis du Web de données
Les professionnels de l'information face aux défis du Web de donnéesLes professionnels de l'information face aux défis du Web de données
Les professionnels de l'information face aux défis du Web de données
 
___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf
 
Presentation dublincore l3
Presentation dublincore l3Presentation dublincore l3
Presentation dublincore l3
 
Modèles de données et langages de description ouverts 5 - 2021-2022
Modèles de données et langages de description ouverts   5 - 2021-2022Modèles de données et langages de description ouverts   5 - 2021-2022
Modèles de données et langages de description ouverts 5 - 2021-2022
 
Data Tuesday 20 nov 2012 INSEE - Datalift
Data Tuesday 20 nov 2012  INSEE - Datalift Data Tuesday 20 nov 2012  INSEE - Datalift
Data Tuesday 20 nov 2012 INSEE - Datalift
 
Opendata
OpendataOpendata
Opendata
 

Concevoir un outil d'analyse de réseau en ligne

  • 1. Projet RePEc Christophe WILLAERT Nahid OULMI 25 février 2016
  • 2. Plan 1. Introduction 2. Éléments du web sémantique 3. Produire les triplets RDF 4. Rendre les données accessibles 5. Conclusion Projet RePEc 2 / 31
  • 3. 1. Introduction 2. Éléments du web sémantique 3. Produire les triplets RDF 4. Rendre les données accessibles 5. Conclusion Projet RePEc Introduction 3 / 31
  • 4. Research Papers in Economic Crée en 1997 Base de données décentralisée 2 000 000 items recensés : + de 58 700 auteurs + de 1 220 000 articles (publiés) + de 709 000 papiers (working papers) + de 37 000 chapitres de livre Métadonnées au format ReDIF (Research Document Information Format) Projet RePEc Introduction 4 / 31
  • 5. Le projet Objectif : étudier les réseaux de co-auteurs en Sciences-Économiques Auteurs des publications présentes dans RePEc Exemples de questionnement : un auteur avec un h-index élevé est-il bien central dans la discipline ? dans son champ d’études ? Mission : nous approprier les jeux de données nous approprier les notions liées au web sémantique concevoir un script pour la conversion des données mettre les données converties en base de données Projet RePEc Introduction 5 / 31
  • 6. Les étapes Projet RePEc Introduction 6 / 31
  • 7. L’accès aux métadonnées Accès à l’ensemble des données de RePEc via des accès FTP/HTTP repec.org liste tous les sites (archives) miroir de l’ensemble des sites mis en place pour le projet accessible sur http://test.boulgour.com/repec Une archive particulière un répertoire du mirroir : remo/per contient un fichier ReDIF par auteur présent dans RePEc chaque fichier contient les informations sur un auteur nom liste des documents auxquels il a contribué C’est à partir de ces fichiers que nous avons travaillé Projet RePEc Introduction 7 / 31
  • 8. Base de données sémantiques ? Web sémantique un projet des fondateurs du web depuis les années 90 porté par le W3C Idée rendre l’information accessible aux machines lier l’information avec des données structurées faire du web une bibliothèque géante unifiée On parle désormais de web des données (Linked Data) Projet RePEc Introduction 8 / 31
  • 9. 1. Introduction 2. Éléments du web sémantique 3. Produire les triplets RDF 4. Rendre les données accessibles 5. Conclusion Projet RePEc Éléments du web sémantique 9 / 31
  • 10. RDF : Resource Description Framework un cadre de travail pour publier/manipuler des donnés sur le web recouvre à la fois un modèle liant un sujet à un objet via un verbe notion de triplets RDF (plus petit élément de connaissance) plusieurs syntaxes de représentations RDF/XML, Turtle, N-Triples . . . Contexte récupérer les données des fichiers ReDIF pour les mettre sous la forme de triplets RDF afin de pouvoir analyser les relations entre auteurs choix de la syntaxe N-Triples pour sa simplicité Projet RePEc Éléments du web sémantique 10 / 31
  • 11. URI : l’identifiant des objets sur le web Uniform Ressource Identifier (URI) un identifiant unique pour une source web composant important du web sémantique Uniform Ressource Locator (URL) identifie une source et permet en plus d’y accéder directement URI ne permet pas tant de retrouver la source que de la qualifier Projet RePEc Éléments du web sémantique 11 / 31
  • 12. La syntaxe N-triples La structure du RDF est une séquence (Sujet – Prédicat – Objet) Utilisation de la syntaxe N-Triple pour produire cette séquence : <Sujet> <Prédicat> <Objet> . Ne pas oublier le point ! Le sujet et l’objet peuvent être une URI une URL (mieux) un littéral (c’est-à-dire une chaîne de caractères non-identifiée) Le prédicat doit obligatoirement être un URI ou une URL Projet RePEc Éléments du web sémantique 12 / 31
  • 13. 1. Introduction 2. Éléments du web sémantique 3. Produire les triplets RDF 4. Rendre les données accessibles 5. Conclusion Projet RePEc Produire les triplets RDF 13 / 31
  • 14. Créer un parseur de fichiers ReDIF Parser un fichier = le parcourir et en extraire les informations utiles Objectif dans notre cas : Noms Prénoms Domaine d’activité Ensemble des documents auxquels aura participé l’auteur Pour l’ensemble des auteurs enregistrés Projet RePEc Produire les triplets RDF 14 / 31
  • 15. Notre parseur en Python Trois étapes : 1. Ranger les données dans des listes 2. Concaténer ces listes pour avoir des N-Triples 3. Lui faire comprendre qu’on lui fournit des fichiers en entrée Projet RePEc Produire les triplets RDF 15 / 31
  • 16. Prendre des fichiers en argument Plus de 58 700 fichiers ReDIF à traiter automatisation de la tâche nécessaire Bash : langage de programmation des systèmes Unix Avec Bash et Python nous pouvons prendre en argument une infinité de fichiers Projet RePEc Produire les triplets RDF 16 / 31
  • 17. Organiser l’information sous forme de N-Triples Souvenez-vous des N-Triples : (Sujet – Prédicat – Objet) Exemple dans notre cas : Projet RePEc Produire les triplets RDF 17 / 31
  • 18. Enrichir ces données Nom/Prénom Identifiant unique (URL ?) Dernière connexion Problème de la classification NEP/JEL Projet RePEc Produire les triplets RDF 18 / 31
  • 19. Enrichir ces données Projet RePEc Produire les triplets RDF 19 / 31
  • 20. 1. Introduction 2. Éléments du web sémantique 3. Produire les triplets RDF 4. Rendre les données accessibles 5. Conclusion Projet RePEc Rendre les données accessibles 20 / 31
  • 21. Deux types de bases de données Bases de données sémantiques (triplestores) logique pure / approche académique hautement complexe met l’accent sur le raisonnement notion d’inférences notion d’ontologies met l’accent sur la précision (le plus complet possible) Bases de données orientées graphes pragmatisme complexité intermédiaire faciliter pour traverser les graphes plus performant Projet RePEc Rendre les données accessibles 21 / 31
  • 22. Choix de Virtuoso Virtuoso est un triplestore Base conçue pour les données RDF . . . mais pas seulement Complet . . . mais complexe Installé sur le serveur test.boulgour.com Objectifs : Importer nos N-Triples dans la base Effectuer des requêtes SPARQL Projet RePEc Rendre les données accessibles 22 / 31
  • 23. Utilisation de Virtuoso Accès : web via l’outil Conductor interface graphique depuis un navigateur en ligne de commande via iSQL commande isql-vt Syntaxe : langage SQL intégré langage SPARQL Projet RePEc Rendre les données accessibles 23 / 31
  • 24. SPARQL Langage de requêtes pour des données RDF Equivalent au SQL mais pour le web sémantique Standardisé par le W3C depuis 2008 Permet de sélectionner le nœuds d’un graphe RDF ainsi que les liens qui les composent Projet RePEc Rendre les données accessibles 24 / 31
  • 25. SPARQL : un exemple Les coauteurs de pfa122 (Étienne FARVAQUE) SELECT DISTINCT "pfa122" ?auteur WHERE { ?publication ?p ?auteur . FILTER ( ?publication = ( SELECT ?publication WHERE { ?publication <http://purl.org/dc/elements/1.1/creator> "pfa122" } ) && ?auteur != "pfa122" ) }; Projet RePEc Rendre les données accessibles 25 / 31
  • 26. 1. Introduction 2. Éléments du web sémantique 3. Produire les triplets RDF 4. Rendre les données accessibles 5. Conclusion Projet RePEc Conclusion 26 / 31
  • 27. Point d’étape à l’issue du semestre Projet RePEc Conclusion 27 / 31
  • 28. Étapes de travail restantes Etape facultative : création d’une API Etape de visualisation des données Enrichir l’information (JEL/NEP ?) Projet RePEc Conclusion 28 / 31
  • 29. Ce que nous avons appris Mise en pratique de notions vu en cours Python Linux / Bash Apprentissage et mise en pratique de notions nouvelles Markdown SSH Git / Github RDF / Virtuoso Projet RePEc Conclusion 29 / 31
  • 30. Difficultés rencontrées Compréhension des concepts liés au web sémantique Virtuoso : difficulté de prise en main de Virtuoso pas d’accès à l’interface en ligne de commande pas de feeback lors de l’exécution des requêtes Classification JEL/NEP Projet RePEc Conclusion 30 / 31
  • 31. Remarques Regarder les alternatives à Virtuoso Vérifier l’intégrité des données en base Souhait de suivre/poursuivre le projet Projet RePEc Conclusion 31 / 31