Outils pour utilisateurs

Outils du site


besson_sylvain:economist_jurist

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
besson_sylvain:economist_jurist [2021/03/22 14:17]
Sylvain Besson
besson_sylvain:economist_jurist [2021/03/25 13:26]
Sylvain Besson
Ligne 45: Ligne 45:
 OFFSET # signifie qu’on ”passe” les n premières solutions. OFFSET # signifie qu’on ”passe” les n premières solutions.
 OPTIONAL # on peut mettre des parties optionnelles,​ même lorsque qu'il ne pas de valeurs dans l'​objet OPTIONAL # on peut mettre des parties optionnelles,​ même lorsque qu'il ne pas de valeurs dans l'​objet
 +SERVICE # permet d'​agréger des points d'​accès SPARQL
  
 -------------------------------------------------------- --------------------------------------------------------
Ligne 50: Ligne 51:
 ASK # retourne un booléen indiquant l’existence d’une solution qui satisfait le motif ASK # retourne un booléen indiquant l’existence d’une solution qui satisfait le motif
 CONSTRUCT # pour construire un graphe RDF solution, à partir des valuations des variables CONSTRUCT # pour construire un graphe RDF solution, à partir des valuations des variables
-DESCRIBE # retourne un graphe RDF décrivant les ressources trouvées. Le résultat dépend du service qui publie la donnée.+DESCRIBE # retourne un graphe RDF décrivant les ressources trouvées. Le résultat dépend du service qui publie la donnée 
 +INSERT # permet d'​ajouter des données à un graph
  
  
Ligne 91: Ligne 93:
 Il est possible de l’exécuter sur un [[https://​dbpedia.org/​sparql|point d'​accès SPARQL]]. Il est possible de l’exécuter sur un [[https://​dbpedia.org/​sparql|point d'​accès SPARQL]].
  
- ​=====DBpedia=====+Les points d'​accès permettent d'​accéder à des jeux de données.  
 + 
 +Dans ce projet nous exécutons nos requêtes directement avec le language python. Pour cela, nous utilisons la bibliothèque [[https://​rdflib.dev/​sparqlwrapper/​|SPARQLWrapper]] (il faut l'​installer préalablement avec [[https://​anaconda.org/​conda-forge/​sparqlwrapper|conda]] ou [[https://​pypi.org/​project/​SPARQLWrapper/​|pip]] en ligne de commande sur un terminal). 
 + 
 +Bien qu'il n'est pas possible d'​associer différents jeux de données (provenant de sites différents) sur un même point SPARQL (pour des raisons de sécurité),​ il est possible de les fédérer via un système tiers ([[https://​www.w3.org/​TR/​sparql11-federated-query/​|documentation W3C]]) sur le sujet. Nous avons fait le choix d'​utiliser la version gratuite de GraphDB ([[https://​graphdb.ontotext.com/​documentation/​free/​|documentation]] et [[https://​www.ontotext.com/​products/​graphdb/​graphdb-free/​|lien de téléchargement]]),​ qui a une interface graphique permettant d'​avoir un serveur local permettant notamment de faire des requêtes SPARQL fédérées. Pour les réaliser, il faut indiquer dans la requête les points d'​accès que l'on veut utiliser en se servant de la clause SERVICE (voir le lien sur les requêtes fédérées pour l'​utiliser correctement). 
 + 
 +Il est là encore possible de faire les requêtes directement dans un carnet python. Pour cela, il faut utiliser l'API de GraphDB ([[https://​graphdb.ontotext.com/​documentation/​enterprise/​devhub/​workbench-rest-api/​index.html|documentation]],​ plus précisement dans le serveur local, cela ce situe dans REST API -lui-même dans //help//- puis il faut choisir SPARQL puis //expend operations//​- soit on choisie //GET// pour interroger les données ou //POST// pour les modifier. Il suffit ensuite de reporter le chemin -localhost:​7200/​webapi/​repositories/​{repositoryID} par exemple- dans le wrapper sur python).  
 + 
 +Afin de vérifier si la syntaxe d'une requête est bien faite, il existe des outils: 
 +  * [[http://​sparql.org/​query-validator.html|query-validator]] 
 +  * [[http://​www.sparql.org/​update-validator.html|update-validator]] 
 + 
 +:!: ils vérifient uniquement si la requête est bien formulée mais cela ne permet pas de juger de la pertinence de la requête ou de sa réussite. 
 + 
 +=====DBpedia=====
 \\  \\ 
 [[https://​wiki.dbpedia.org/​about|DBpedia]] est une projet participatif d'​extraction de données structurées à partir de différents projets Wikimedia (c'est avant tout pour extraire les données de Wikipedia), débuté en 2007 par l'​université libre de Berlin et l'​université de Leipzig. Ce projet s'​inscrit dans la démarche du //​[[https://​en.wikipedia.org/​wiki/​Linked_data|linked data]]// imaginé par Tim Berners-Lee. Le but étant de permettre que les données soient visibles aussi bien par des êtres humains que par des machines. Les données sont encodées au format [[https://​fr.wikipedia.org/​wiki/​Resource_Description_Framework|RDF]]. Cette base de données peut ensuite être interrogée au moyen d'un langage SQL tel que [[https://​fr.wikipedia.org/​wiki/​SPARQL|SPARQL]]. [[https://​wiki.dbpedia.org/​about|DBpedia]] est une projet participatif d'​extraction de données structurées à partir de différents projets Wikimedia (c'est avant tout pour extraire les données de Wikipedia), débuté en 2007 par l'​université libre de Berlin et l'​université de Leipzig. Ce projet s'​inscrit dans la démarche du //​[[https://​en.wikipedia.org/​wiki/​Linked_data|linked data]]// imaginé par Tim Berners-Lee. Le but étant de permettre que les données soient visibles aussi bien par des êtres humains que par des machines. Les données sont encodées au format [[https://​fr.wikipedia.org/​wiki/​Resource_Description_Framework|RDF]]. Cette base de données peut ensuite être interrogée au moyen d'un langage SQL tel que [[https://​fr.wikipedia.org/​wiki/​SPARQL|SPARQL]].
  
 Au prémisse du projet, l'​objectif de DBpedia était de récupérer toutes les données qui sont contenues dans les //​infoboxes//​ (c'est une table de données résumant les informations essentiels dans une fiche Wikipedia) de Wikipedia. Ensuite, ils ont aussi récupérer diverses données comme le résumé ou bien tous les liens présents sur la pages. Ils ont pu aussi rajouter d'​autres liens vers des fiches d'​autres sites ou bases de données. Cette extraction (via l'​extracteur MARVIN) se faisait au début du projet tous les ans, mais aujourd'​hui ils arrivent à extraire l'​ensemble des données de Wikipedia chaque mois. De plus actuellement,​ à chaque étape de l'​extraction jusqu'​à la publication,​ il y a une validation sur la plateforme [[https://​databus.dbpedia.org/​|Databus]] afin de corriger la syntaxe RDF, etc.  Au prémisse du projet, l'​objectif de DBpedia était de récupérer toutes les données qui sont contenues dans les //​infoboxes//​ (c'est une table de données résumant les informations essentiels dans une fiche Wikipedia) de Wikipedia. Ensuite, ils ont aussi récupérer diverses données comme le résumé ou bien tous les liens présents sur la pages. Ils ont pu aussi rajouter d'​autres liens vers des fiches d'​autres sites ou bases de données. Cette extraction (via l'​extracteur MARVIN) se faisait au début du projet tous les ans, mais aujourd'​hui ils arrivent à extraire l'​ensemble des données de Wikipedia chaque mois. De plus actuellement,​ à chaque étape de l'​extraction jusqu'​à la publication,​ il y a une validation sur la plateforme [[https://​databus.dbpedia.org/​|Databus]] afin de corriger la syntaxe RDF, etc. 
 +
 +Voici le schéma complet du cycle de mis à jour de DBpedia:
 +
 +\\
 +{{projets_individuels:​schema_dbpedia_release_cycle.png|schéma du cycle de mis à jour de DBpedia }}
 +Source: Hofer M., Hellmann S., Dojchinovski M., Frey J., [[https://​link.springer.com/​chapter/​10.1007/​978-3-030-59833-4_1|The New DBpedia Release Cycle: Increasing Agility and Efficiency in Knowledge Extraction Workflows]],​ dans: Blomqvist E. et al. (eds) //Semantic Systems. In the Era of Knowledge Graphs. SEMANTICS 2020. Lecture Notes in Computer Science//, Springer, Cham, 27 octobre 2020. (DOI:​10.1007/​978-3-030-59833-4_1)
 +
 +\\
 +
 +Il faut ajouter à cela que DBpedia a en plus une version par langue, appelées chapitres afin d'​internationaliser au mieux DBpedia. C'est le cas du [[http://​fr.dbpedia.org/​|français]].
  
 De plus, il y a une [[https://​wiki.dbpedia.org/​online-access/​DBpediaLive/​|version]] qui est mise à jour à chaque modification sur Wikipedia. Cette dernière ne se base que sur le Wikipedia anglais. De plus, il y a une [[https://​wiki.dbpedia.org/​online-access/​DBpediaLive/​|version]] qui est mise à jour à chaque modification sur Wikipedia. Cette dernière ne se base que sur le Wikipedia anglais.
Ligne 110: Ligne 136:
 Vous retrouver [[https://​dbpedia.org/​sparql?​nsdecl|ici]] la liste des [[https://​fr.wikipedia.org/​wiki/​Espace_de_noms|espaces de noms]] (wikipedia fr) utilisés par DBpedia. Vous retrouver [[https://​dbpedia.org/​sparql?​nsdecl|ici]] la liste des [[https://​fr.wikipedia.org/​wiki/​Espace_de_noms|espaces de noms]] (wikipedia fr) utilisés par DBpedia.
  
-L'​accès direct au [[https://​dbpedia.org/​sparql|point d'​accès SPARQL]] de DBpedia, ainsi que de la version //​[[https://​live.dbpedia.org/​sparql|live]]//​.+L'​accès direct au [[https://​dbpedia.org/​sparql|point d'​accès SPARQL]] de DBpedia, ainsi que de la version //​[[https://​live.dbpedia.org/​sparql|live]]// ​et la [[http://​fr.dbpedia.org/​sparql|version française]].
  
 =====BnF Data===== =====BnF Data=====
Ligne 147: Ligne 173:
  
 Ces différents niveaux sont mis en relation à des personnes ou des collectivités. Auxquels, on peut ajouter des lieux, des événements,​ des concepts et des objets. Ces différents niveaux sont mis en relation à des personnes ou des collectivités. Auxquels, on peut ajouter des lieux, des événements,​ des concepts et des objets.
 +
 +Schéma du modèle FRBR utilisé par la BnF:
 +
 +{{projets_individuels:​projets_individuels:​frbr.png|Schéma FRBR }}
 +
 +Source : Bénézet Joly, http://​slideplayer.fr/​slide/​3213771/​.
  
 ====Liens utiles==== ====Liens utiles====
Ligne 193: Ligne 225:
  
 Ils semblent qu'ils aient réalisé une ontologie mais qu'​elle est, à ce jour plus exploitée, ou bien qu'​elle ne soit publique (mais depuis 2011, il y a aucune documentation sur elle). Vous trouverez [[http://​viaf.org/​viaf.jpg|l'​ontologie]] comme elle a été imaginée. Ils semblent qu'ils aient réalisé une ontologie mais qu'​elle est, à ce jour plus exploitée, ou bien qu'​elle ne soit publique (mais depuis 2011, il y a aucune documentation sur elle). Vous trouverez [[http://​viaf.org/​viaf.jpg|l'​ontologie]] comme elle a été imaginée.
 +
 +
 +=====Github=====
 +
 +Les différents carnets créés durant ce projet sont disponibles sur ce [[https://​github.com/​Semantic-Data-for-Humanities/​Economists_Lawyers|répertoire Github]]. Ils permettent de prendre connaissances de la façon dont nous avons procéder pour extraire des informations sur les économistes et les juristes et comment nous les avons traités ensuite.
 +
 +Nous avons eu aussi recours à [[https://​desktop.github.com/​|Github desktop]] (le site n'​indique que les versions Windows et Mac mais il est aussi disponible sur [[https://​dev.to/​rahedmir/​is-github-desktop-available-for-gnu-linux-4a69|Linux]]) afin de transmettre les carnets de nos machines vers Github.
 +
 +Nous utilisons aussi une [[https://​github.com/​jupyterlab/​jupyterlab-git|extension]] de Jupyterlab pour avoir Git, de même que nous utilisons une [[https://​github.com/​jupyterlab/​jupyterlab-github|extension]] pour avoir Github.
  
  
besson_sylvain/economist_jurist.txt · Dernière modification: 2021/07/22 19:05 par Sylvain Besson