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/23 17:22]
Sylvain Besson
besson_sylvain:economist_jurist [2021/03/26 15:55]
Sylvain Besson [Sondage des données]
Ligne 9: Ligne 9:
 Nous utiliserons pour cela le langage SPARQL. Nous utiliserons pour cela le langage SPARQL.
  
-=====SPARQL=====+----
  
-SPARQL (**S**PARQL **P**rotocol and **R**DF** Q**uery **L**anguage - [[https://​fr.wikipedia.org/​wiki/​SPARQL|page fr wikipedia]]) est langage de requêtes. Il permet d’interroger,​ supprimer, modifier des données ​qui se trouve au format RDF (**R**esource **D**escription **F**ramework - [[https://​fr.wikipedia.org/​wiki/​Resource_Description_Framework|page fr wikipedia]]). Il est apparu en 2008 et est un standard recommandé par le [[https://​www.w3.org/​|W3C]]. Comme le RDFil repose sur l'​utilisation des triplets. C'​est-à-dire qu'une donnée est composée ​de trois informations:​ un sujetun prédicat et un objetÀ l'​instar d'une phrase composée d'un sujet, d'un verbe et d'un complément,​ ici une donnée est répartie entre :+=====Documentation===== 
 +Vous retrouverez la [[Economiste_Juriste_Documentation|Documentation]] qui peut être utile pour comprendre ​le projet avec les langages employésles jeux de données utilisésetc.
  
-  * un **sujet**, la ressource à décrire 
-  * un **prédicat**,​ le type de propriété pour laquelle est applicable la ressource 
-  * un **objet**, une autre ressource ou donnée; la valeur de la propriété 
  
-exemple:+Accès à notre [[https://​github.com/​Semantic-Data-for-Humanities/​Economists_Lawyers|dépôt Github]] sur lequel nous mettons nos différents carnets Python.
  
-<​http://​dbpedia.org/​resource/​Yuri_Maltsev>​ dpb:​birthDate <"​1950-12-31">​+----
  
-Il est possible de "​traduire"​ ce triplet de la façon suivante: Yuri Maltsev (sujet) est né (prédicat) le 31 décembre 1950 (objet).+=====Délimitation du sujet=====
  
-"​dpb:"​ est un espace de nom qui dans lequel sont regroupés tous les types de ressources de dbpedia. Cela permet de faire en sorte que tout le monde utilise le même vocabulaire pour décrire des choses semblables+Afin d'​avoir une population claire à étudier, il faut pour cela délimiter notre sujet et ainsi discriminer les personnes ​qui rentrent ou non dans la définition d'​économiste ou de juriste
  
-vocabulaire de base à utiliser pour le langage de requête SPARQL: ​+====Économiste====
  
-<​code>​ +Nous allons commencer par définir les **économistes**. Pour cela nous pouvons tout d'​abord,​ regarder ce que la définition qu'en donne le CNRTL (Centre National ​des Ressources Textuelles et Lexicales):
-PREFIX # définit ​des espaces de noms+
  
-SELECT # permet de choisir les variables du résultat, parmi les résultats de la clause WHERE +> "//​Celui qui est spécialiste d'**Économie Politique**.//"​ ([[https://​www.cnrtl.fr/​definition/​%C3%A9conomiste|CNRTL - économiste]])
-SELECT distinct # enleve les doublons parmi les couples +
-SELECT ​# conserver toutes les variables de la requête+
  
-WHERE # contient des triplets qui définissent le pattern recherché+Cette définition est assez sommaire.
  
---------------------------------------------------------+Nous pouvons aussi regarder la définition que celui-ci donne de l'​**économie**:​
  
-FILTER # permet ​de mettre des conditions +> "//​Ensemble ​de ce qui concerne ​la **production**la répartition et la **consommation** ​des richesses ​et de l'​**activité** que les hommes vivant en société déploient à cet effetSynon. récent **science économique**"//​ ([[https://​www.cnrtl.fr/​definition/​%C3%A9conomiste| CNRTL - économie]]) ​
-GROUP BY # partitionner ​la solution en plusieurs groupessur lesquels on peut appliquer une fonction d’agrégat. +
-HAVING # Indique les valeurs lorsque les conditions sont respectés avec des agrégats de valeurs +
-BIND # sert à définir de nouvelles variables ​et à leur affecter une valeur. +
-LIMIT # permet ​de mettre une limite sur le nombre de résultats affichés +
-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 +
-SERVICE # permet d'​agréger des points d'​accès SPARQL+
  
---------------------------------------------------------+Par cette définition,​ nous pouvons dire que l'​**économiste** est celui qui est spécialiste de l'​ensemble ci-dessus (bien que d'​autres définitions soient données, elle nous a semblé être la plus pertinente).
  
-ASK # retourne un booléen indiquant l’existence ​dune solution ​qui satisfait le motif +Il est aussi intéressant de regarder la définition qu'en donne Wikipedia (notamment car c'est en partie de lui que nos données proviennent). Il faut remarquer tout d'abord qu'il y a une distinction ​qui est faite entre l'​économie en tant que discipline ([[https://​fr.wikipedia.org/​wiki/​%C3%89conomie_(discipline)|Wikipedia fr]]) et l'​économie en tant que processus de l'​activité humaine ([[https://​fr.wikipedia.org/​wiki/​%C3%89conomie_(activit%C3%A9_humaine)|Wikipedia fr]]). La distinction est d'​autant plus clair en anglaispuisque qu'on a d'un côté //​[[https://​en.wikipedia.org/​wiki/​Economics|economics]]//​ (la discipline) et de l'autre //​[[https://​en.wikipedia.org/​wiki/​Economics|economy]]//​ (le processus) ou en italien, entre //​[[https://​it.wikipedia.org/​wiki/​Scienze_economiche|scienze economiche]]//​ (la discipline) et //​[[https://​it.wikipedia.org/​wiki/​Economia|economia]]//​ (le processus).
-CONSTRUCT # pour construire un graphe RDF solutionà partir des valuations des variables +
-DESCRIBE # retourne ​un graphe RDF décrivant les ressources trouvéesLe résultat dépend du service qui publie ​la donnée +
-INSERT # permet d'ajouter des données à un graph+
  
 +La définition en en-tête de la page économie (en tant que discipline) est sensiblement la même que celle vue précédemment sur CNRTL: ​
  
-</code>+"//​L'​**économie** (ou économie politique, science économique) est une **discipline** qui étudie l'​économie en tant qu'​activité humaine, qui consiste en la production, la distribution,​ l'​échange et la consommation de biens et de services.//"​ (Wikipedia fr - économie (discipline))
  
-Ce vocabulaire réalisé à partir du document de Caron Anne-Cécile,​ «[[https://​www.google.com/​url?​sa=t&​rct=j&​q=&​esrc=s&​source=web&​cd=&​ved=2ahUKEwio3arnsd_uAhUNzYUKHYlmDI8QFjAAegQIARAC&​url=http%3A%2F%2Fwww.fil.univ-lille1.fr%2F~caronc%2FWS%2FsparqlPar4.pdf&​usg=AOvVaw31SW0hP9ETUOVuaAAHfl7j|sparql,​ Langage d’interrogation du web sémantique]]» dans le cadre du //Master image parcours ipi-nt//, 2016-2017. 
  
-Cette «[[http://www.iro.umontreal.ca/~lapalme/ift6281/​sparql-1_1-cheat-sheet.pdf|anti-sèche]]» permet aussi de retrouver ​l'ensemble de la syntaxe du langage SPARQL.+À partir de maintenant, pour enlever toute ambiguïté,​ c'est dans ce sens que nous emploierons le terme **économie**. Il est du coup possible de se demander si l’emploierons dans le seul sens d'[[https://fr.wikipedia.org/wiki/%C3%89conomie_politique|économie politique]] (qui étudie la cité), comme dans l'acceptation courante, par opposition à l'​[[https://​fr.wikipedia.org/​wiki/​%C3%89conomie_domestique|économie domestique]] (qui étudie le foyer) ou bien si nous devons intégrer cette dernière.
  
-Un document qui permet d'​avoir toutes les clés en main pour comprendre le language SPARQL: Du Charme Bob, //Learning SPARQL: querying and updating with SPARQL 1.1//, Beijing, Chine, Pays multiples, 2011. +====Juriste====
-Il est aussi possible de consulté le [[http://​learningsparql.com/​|site de l'​auteur]],​ ainsi que son [[http://​www.bobdc.com/​|blog]] (ici l'​[[http://​www.snee.com/​bobdc.blog/​metadata/​rdf/​sparql/​|ancienne version]] avec les articles avant Février 2019).+
  
 +Nous pouvons dorénavant faire la même démarche pour les **juristes**. Le CNRTL nous donne une définition simple, mais claire:
  
-Exemple de requête SPARQL:+> "//​Celui qui, spécialisé dans la science du droit, en fait profession, par la pratique ou par des écrits.//"​ ([[https://​www.cnrtl.fr/​definition/​juriste| CNRTL - juriste]]) ​
  
-<​code>​+Le **droit** est quand à lui définit comme "La science juridique."​ ([[https://​www.cnrtl.fr/​definition/​droit| CNRLT -droit]]). C'est bien sûr une définition réduire de ce qu'​implique la notion de droit mais c'est dans ce sens-là que nous allons la traiter ici.
  
-PREFIX foaf: <​http://​xmlns.com/​foaf/​0.1/>​ # exemple d'​espace ​de nom (foaf pour Friend of a friend; vocabulaire qui permet de décrire les personnes) +La définition ​de **juriste** donnée par Wikipedia est ici encore un peu plus explicite:
-PREFIX dbo: <​http://​dbpedia.org/​ontology/>​ +
-PREFIX dbp: <​http://​dbpedia.org/​property/>​ +
-PREFIX owl: <​http://​www.w3.org/​2002/​07/​owl#>​ +
-PREFIX xsd: <http://​www.w3.org/​2001/​XMLSchema#>​+
  
-SELECT DISTINCT ?s ?name (year(xsd:​dateTime(?​Birth_Date)) AS ?year) #ce sont les variables que l'on veut afficher +> "//Un **juriste** est une personne qui a fait des **études de droit** à l'issue desquelles lui ont été délivrés des diplômes et qui développe ou applique le droit auprès d’une structure telle qu’un tribunal, une administration ou une entrepriseIl s’agit d’une **activité professionnelle rémunérée** consistant à effectuer des **analyses** et des **formalités juridiques** au sein d’une structure.//" ([[https://fr.wikipedia.org/​wiki/​Juriste|Wikipedia fr juriste]])
-# year permet de convertir ​une date (Année/​Mois/​Jour) en une année  +
-WHERE +
-       {?s a dbo:​Person ​. +
-        ?foaf:name ?name . +
-        ?s dbp:birthDate ?​Birth_Date ​. +
-        ?s dbo:​abstract ?​abstract ​. +
-         +
-        FILTER regex(?​abstract,​ "​lawyer"​) # la clause regex permet d'​aller chercher dans les résumés ceux qui ont comme motif "​lawyer"​  +
-        FILTER (xsd:date (?​Birth_Date) > "1800-01-01"​^^xsd:​date# permet de ne garder que ceux qui sont nés après 1800. +
-        } +
-ORDER BY (?year) #Cela ordonne les données par année de façon croissante +
-LIMIT 50 # c'est important quand on ne sait pas le nombre de résultat à afficher et qu'il peut être important +
-</​code>​+
  
-Ici, le but est d'​afficher les juristes qui sont nés après 1800 avec leur nom. +Il est aussi intéressant ​de regarder la définition anglaise du terme (dans le sens où la page française dans Wikipedia renvoie à la page anglaise) qui diffère
-Il est possible ​de l’exécuter sur un [[https://​dbpedia.org/​sparql|point d'​accès SPARQL]].+
  
 +> "//A **jurist** is a person with **expert knowledge of law**; someone who analyses and comments on law. This person is usually a specialist legal scholar—not necessarily with a formal qualification in law or a legal practitioner,​ although in the United States the term "​jurist"​ may be applied to a judge. [...] The English term jurist is to be distinguished from similar terms in other European languages, where it may be synonymous with **legal professional**,​ i.e. anyone with a **professional law degree** that qualifies for legal work.//"​ ([[https://​en.wikipedia.org/​wiki/​Jurist| Wikipedia en - jurist]])
  
-Les points d'​accès permettent d'accéder à des jeux de données. ​+La définition française de **juriste** s'approcherait davantage ​de //**legal professional**//:​
  
-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).+> "//**Legal profession** is a profession, and legal professionals study, develop and apply law. Usually, there is a requirement for someone choosing a career in law to first obtain a law degree or some other form of legal education.//" ​([[https://en.wikipedia.org/wiki/Legal_profession|Wikipédia en - Legal profession]])
  
-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 faut ajouter à cela un troisième terme en anglaiscelui de //**lawyer**// qui rentre en partie ​dans la définition ​de **juriste**:​
  
-Il est là encore possible de faire les requêtes directement dans un carnet pythonPour celail 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). +> "//A **lawyer** or **attorney** is a person who **practices law**, as an advocate, attorney at law, barrister, barrister-at-law,​ bar-at-law, canonist, canon lawyer, civil law notary, counsel, counselor, counsellor, solicitor, legal executive, or public servant preparing, interpreting and applying law, but not as a paralegal or charter executive secretaryWorking as a lawyer involves the **practical application** of abstract legal theories and knowledge to **solve specific individualized problems**or to advance the interests of those who hire lawyers to perform legal services. The role of the lawyer varies greatly across different legal jurisdictions//"​. ​([[https://en.wikipedia.org/wiki/Lawyer| Wikipedia en Lawyer]]).
  
-=====DBpedia===== +Toutes ces différentes acceptations peuvent définir un **juriste** ​et ce sont celles-ci que nous devons intégrer dans nos requêtes.
-\\  +
-[[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 projetl'​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 WikipediaEnsuite, 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+Nous avons à présent définit un peu plus clairement quelle est la population que nous souhaitons étudier. Ce sont avant tout des personnes qui ont obtenus des diplômes, soit en **économie**,​ soit en **droit**et qui par la suite ont poursuivi ​une "​carrière" ​dans le domaineNéanmoins, ils nous sera possible ​d'inclure certaines personnes qui étudient ​l'une de ces deux disciplines dans le cas où elles auraient fait une carrière dans celles-ci.
  
-Voici le schéma complet du cycle de mis à jour de DBpedia:+----
  
-\\ +=====Sondage des données=====
-{{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)+
  
-\\+La première étape est de connaître l'​état des jeux de données de DBpedia et BnF Data afin de voir le nombre de personnes dont on peut considérer qu'​elles font parties de la "​population"​ des Économistes et des juristes.
  
-Il faut ajouter ​à cela que DBpedia a en plus une version par langueappelées chapitres ​afin d'​internationaliser au mieux DBpediaC'est le cas du [[http://​fr.dbpedia.org/​|français]].+Pour cela il faut réaliser des Requêtes SPARQL afin de connaître indépendamment sur les deux bases de données le nombre de personnes qui répondre ​à ce critère. Pour cela, il ne faut faire les requêtes avec le moins grande nombre de critère de sélection ​afin de ne réduire la population si une personne ne correspond pas à une des critèresLes seuls critères qui sont conservés sont l'URI de la personne, sans quoi on ne peut pas l'​identifier et l'​année de naissance
  
-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.+Il est ensuite possible de rajouter des critères optionnels comme le nom (toutes les personnes n'ont pas systématiquement un nom inscrit), la nationalité,​ etc
  
-Parallèlement à ça, ils ont créé une [[https://​wiki.dbpedia.org/​services-resources/​ontology|ontologie]] afin de structurer hiérarchiquement ​l'ensemble des donnéesCette ontologie se fait suite à l'extraction ​des données à partir ​de cette dernière, ​mais ils gardent accessible l'extraction initiale des ressources. L'​ontologie s'​appuie aussi ce que qui a été fait par [[https://schema.org/|schema.org]] (vocabulaire pour lier les données du webcréés par GoogleMicrosoftYahoo et Yandex) ​pour améliorer leur ontologie. ​DBpedia ​s'​est ​aussi très récemment associé à [[https://​www.diffbot.com/​|Diffbot]] ​qui permet d'​extraire des données structurées à partir de données non-structurées (TAL - Traitement automatique des langues) ([[https://​blog.dbpedia.org/​2021/​01/​14/​the-diffbot-knowledge-graph-and-extraction-tools/​|lien vers la source]]).+Il est aussi parfois essentiel de conserver le résumé/la biographie ​de la personne, car c'est cet élément qui l'identifie en tant qu'​économiste ou juristeIl est possible dans le langage SPARQL d'aller chercher ​des chaînes ​de caractères avec la clause REGEX. C'est avec cette dernière ​que nous pouvons aller chercher dans les biographies et les résumées les mentions d'​économistesprofesseur d'économie, ​//lawyer//, etc. 
 +Pour la BnFil y n'a besoin de chercher ces chaînes de caractère qu'en françaiscar toutes les biographies sont écrites en français. Par contre, pour DBpedia, il faut avant tout les faire en anglais, car c'​est ​la langue ​qui est privilégiée.
  
-Il est possible de voir la structure de l'ontologie, ainsi que les instances[[http://78.46.100.7:9000/|ici]] avec des graphs dynamiques+Voici un exemple d'interrogation possible pour obtenir ​les économistes sur la base BnF Data: 
 +<code sparql>​ 
 +PREFIX ​ egr:  <http://rdvocab.info/​ElementsGr2/>​ 
 +PREFIX ​ owl:  <​http://​www.w3.org/​2002/​07/​owl#>​ 
 +PREFIX ​ dbr:  <http://dbpedia.org/​resource/>​ 
 +PREFIX ​ xsd:  <​http://​www.w3.org/​2001/​XMLSchema#>​ 
 +PREFIX ​ skos: <​http://​www.w3.org/​2004/​02/​skos/​core#>​ 
 +PREFIX ​ foaf: <​http://​xmlns.com/​foaf/​0.1/>​
  
-Nous avons donc dans DBpedia des classes ([[https://​dbpedia.org/​ontology/​Economist|exemple]]) et des propriétés ([[https://​dbpedia.org/​ontology/​personFunction|exemple]]). Mais aussi, nous avons des ressources simples ([[https://​dbpedia.org/​page/​Economist|exemple]]) qui peuvent jouer le rôle d'​instance. +SELECT DISTINCT ​ ?s ?name ?sName ?uri ?year ?bio 
- +WHERE 
-Pour aller plus loin dans la compréhension de DBpedia, il est possible de lire de lire cette article sur la dernière mise à jour parueHofer 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) +  ​{ ​  { ?s  egr:biographicalInformation ​ ?bio ; 
- +            egr:dateOfBirth ​      ?bd 
- +        BIND(strbefore(strafter(str(?bd), "http://​data.bnf.fr/​date/"), "/") AS ?year
-Vous retrouver [[https://​dbpedia.org/​sparql?nsdecl|ici]] la liste des [[https://​fr.wikipedia.org/​wiki/​Espace_de_noms|espaces de noms]] (wikipedia frutilisés par DBpedia. +        ​FILTER ​?year > "​1800" ​
- +        ​FILTER ​( ( regex(?bio, "​juriste",​ "​i"​) || regex(?bio"​professeur ​de droit""​i"​) ​) || regex(?bio"​docteur ​en droit""​i"​) ​
-L'​accès direct au [[https://​dbpedia.org/​sparql|point d'​accès SPARQL]] de DBpediaainsi que de la version //​[[https://​live.dbpedia.org/​sparql|live]]//​ et la [[http://​fr.dbpedia.org/​sparql|version française]]. +        ​OPTIONAL 
- +          { ?s  foaf:name  ?name } 
-=====BnF Data===== +        ​OPTIONAL 
-\\ +          { ?s  skos:prefLabel ​ ?sName } 
-[[https://​data.bnf.fr/​|BnF Data]] est une base de données permettant de rendre accessible les données de la Bibliothèque nationale de France, issues de [[https://​gallica.bnf.fr/​accueil/​fr/​content/​accueil-fr?​mode=desktop|Gallica]] (portail des numérisations de la BnF), du [[https://​catalogue.bnf.fr/​index.do|catalogue général]] de la bibliothèque,​ ainsi que d'​[[https://​archivesetmanuscrits.bnf.fr/​|Archives et manuscrits]] (catalogue dédié aux archives et au manuscrits des différents fonds de la BnF). Le projet a pour but de fournir des données structurés interprétables par des machines mais aussi lisibles par des humains, afin là aussi d'​être dans les principes du //linked open data//. Les données sont encodées dans le format standard RDF. Cela implique qu'à chaque ressource un URI lui est associé, c'est le [[https://​fr.wikipedia.org/​wiki/​Archival_Resource_Key|mécanisme ARK]]. ​ +        ​OPTIONAL 
- +          { ?s  owl:sameAs ​ ?uri 
-De plus, une partie des données est alignée sur d'​autres référentiels et jeux de données comme DBpedia ​(à noter que c'est le DBpedia français et non le DBpedia globalet VIAF.  +            ​FILTER regex(?uri, "viaf.org""​i"​) 
- +          } 
-====Modèle utilisé par BnF Data==== +      } 
- +    UNION 
-BnF Data utilise aussi une modèle pour son fonctionnement. Ce modèle s'​intitule FRBR (//​Functional Requirements for Bibliographic Records//). Il a été développé par l'IFLA en 1998 afin de répondre aux besoins de bibliothèques en matière de modélisation mais il a évolué ensuite en deux modèles distincts le FRBRer et le [[http://​www.cidoc-crm.org/​frbroo/​|FRBRoo]]. le FRBRer est le FRBR initial mais dont le nom a été modifié par commodité afin de la distinguer du FRBRoo. Il intègre aussi par le suite le FRANAR ​(//​Functional Requirements and Numbering of Authority Records//) en 1999 et le FRSAD  ​(//​Functional Requirements for Subject Authority Data model//en 2005 permettant d'​intégrer des autorités. Le FRBRoo, quand a lui est issu d'un groupe de travail entre l'IFLA et le [[http://​cidoc-crm.org/​|Cidoc CRM]]. +      ?s  egr:biographicalInformation ​ ?bio ; 
- +            egr:dateOfBirth ​      ?bd 
-Les distinctions entre les deux modèles sont les suivantes:  +        ​BIND(strbefore(strafter(str(?​bd)"http://​data.bnf.fr/​date/"​)"/") AS ?year) 
- +        ​FILTER ( ?year > "​1800"​ ) 
-  * Tout d'​abordle FRBRer est qualifié d'​Entité Relation tandis que le FRBRoo est qualifié d'​Orienté Objet afin de le placer dans le cadre du Cidoc CRM.  +        ​FILTER ( ( ( regex(?bio, "​économiste"​) ​|| regex(?bio, "​Economiste"​) ​) || regex(?bio"​professeur d'​économie"​"​i"​) ) || regex(?bio, "​docteur en économie",​ "​i"​) ) 
- +        ​OPTIONAL 
-  * Ensuite dans le FRBRoo les entités deviennent des classesles attributs et les attributs deviennent des propriétés. De plus, chaque classe ou propriété a un URI. +          { ?s  foaf:name  ?name } 
- +        ​OPTIONAL 
-  * Enfin on ne parle d'​ontologie que pour le FRBRoo. +          { ?s  skos:prefLabel ​ ?sName } 
- +        ​OPTIONAL 
-Ce [[https://​bibliotheques.wordpress.com/​2013/​06/​13/​frber-et-frbroo/​|billet de blog]] d'​Etienne Cavalié résume très bien la distinction qui est faite entre les deux modèles (l'​échange de commentaires entre Etienne Cavalié et Patrick Le Boeuf en fin de blog est aussi intéressant)+          { ?s  owl:sameAs ​ ?uri 
- +            ​FILTER regex(?uri"viaf.org""​i"​) 
-Vous pouvez avoir [[http://​www.cidoc-crm.org/​frbroo/​fm_releases|ici]] les différentes version du FRBRoo. +          } 
- +      } 
-Il faut ajouter à cela un autre modèle, le IFLA LRM (Library Reference Model)initié en 2017 qui a pour but de corriger certaines incohérences du FRBRer ​en créant un modèle commun au FRBRerFRANAR et FRSAD. La présentation du modèle est disponible sur cette [[https://​www.transition-bibliographique.fr/​enjeux/​definition-ifla-lrm/​|page]]. L’intégralité du modèle est disponible [[https://​www.ifla.org/​publications/​node/​11412|ici]]. +  } 
- +ORDER BY DESC(?uri
-Le FRBR (dans ses deux modèlesa pour but de modéliser les données bibliographiques. Pour cela, il y a quatre niveaux pour délimiter les œuvres: +</code>
- +
-  ​* **L'​œuvre** ​C'est le niveau de la création, ex: //Le seigneur des anneaux// de Tolkien. +
- +
-  ​* **L'​expression**Cela rassemble les différentes versions du même œuvre, un abrégé, une traduction. ex: la traduction française du seigneur des anneaux. +
- +
-  ​* **La manifestation**C'est la matérialisation d'une expression, comme une édition. ex: le //Le Hobbit// « Édition Deluxe illustrée par J.R.R. Tolkien, Christian Bourgois Édition». +
- +
-  * **L'​item**:​ C'est l'​exemplaire. ex: //Le seigneur des anneaux// de Tolkien dans la bibliothèque de ma grand-mère ou bien le manuscrit Français 1158 conservé à la BnF au Département des Manuscrits. +
- +
-Ces différents niveaux sont mis en relation à des personnes ou des collectivitésAuxquelson peut ajouter des lieux, des événements,​ des concepts et des objets. +
- +
-Schéma du modèle FRBR: +
- +
-{{projets_individuels:projets_individuels:frbr.png|Schéma FRBR }} +
- +
-Source : Bénézet Joly, http://​slideplayer.fr/​slide/​3213771/​. +
- +
-====Liens utiles==== +
- +
-Vous pourrez retrouver sur cette page l'​ensemble du [[https://​data.bnf.fr/​opendata|fonctionnement]] de BnF Datac'est à dire le modèle employé, les alignements réalisés, ainsi que les espaces de noms utilisés. +
- +
-La mission de BnF Data est résumée sur cette [[https://​www.bnf.fr/​fr/​databnffr|page]]. +
- +
-L'​accès au [[https://​data.bnf.fr/​sparql/​|terminal SPARQL]] de BnF Data. +
- +
-=====VIAF===== +
- +
-[[https://​viaf.org/​|VIAF]] ​(//Virtual International Authority File//est un fichier des autorités internationales qui a pour but d'​identifier les personnes ou les organisations qui se trouve dans d'​autres fiches d'​autorités. Cela permet aussi de les mettre en relation par un identifiant URI VIAF. Il est au cœur de la démarche du [[https://​fr.wikipedia.org/​wiki/​Web_s%C3%A9mantique|web sémantique]] et du //​[[https://​en.wikipedia.org/​wiki/​Linked_data|linked open data]]//. Pour ce faireles fiches réalisés en RDF. +
- +
-Le VIAF a été initié en avril 1998 par la //Library of Congres//la //Deutsche Nationalbibliothek//​ et le OCLC. La Bibliothèque nationale de France a rejoins le contortium en 2007. Ces dernières sont les principales décisionnaire du projet. Le projet est aujourd'​hui porté par de nombreuses institutions (61  en 2017mais il est mis en œuvre et hébergé par le [[https://​www.oclc.org|OCLC]] (Online Computer Library Center)+
- +
-Cette [[https://​www.oclc.org/​research/​activities/​viaf.html|page]] donne accès à de la documentation sur VIAF. +
- +
-La page [[https://​fr.wikipedia.org/​wiki/​Fichier_d%27autorit%C3%A9_international_virtuel|wikipedia ​(fr)]] du VIAF notamment pour connaître les bibliothèques partenaires. +
- +
-[[https://​www.oclc.org/​content/​dam/​oclc/​viaf/​VIAF%20Guidelines.pdf|VIAF Guidelines]] permet de connaître les points importants dans les missions et le fonctionnement de VIAF (il est aussi intéressant car ils donnent aussi les problèmes qui peuvent être rencontré). +
- +
- +
- +
-VIAF utilise plusieurs espaces de noms pour fonctionner: +
- +
-  * VIAF +
-  * [[https://​www.w3.org/​OWL/​|OWL]] +
-  ​* [[https://​www.w3.org/​TR/​2008/​WD-skos-reference-20080829/​skos.html|SKOS]] +
-  * [[http://​xmlns.com/​foaf/​spec/​|FOAF]] +
-  * FRBR +
-  ​* [[https://​dublincore.org/​specifications/​dublin-core/​dcmi-terms/​|DC terms]] +
-  * [[https://​schema.org/​docs/​schemas.html|Schema.org]] +
-  * [[https://​lov.linkeddata.es/​dataset/​lov/​vocabs/​umbel|UMBEL]] ​(ce dernier a été retiré en 2019 et son domaine vendu) +
-Le VIAF est utile dans notre projetLes URI qu'ils utilisent sont employées à la fois par DBpedia et par BnF data. Donc il est utile pour faire le lien entre les deux. +
- +
-Cette [[https://​platform.worldcat.org/​api-explorer/​apis/​VIAF|page]] donne accès à l'API de VIAF. +
- +
-En 2014, différents [[https://​www.oclc.org/​developer/​news/​2014/​viaf-rdf-vocabulary-changes-and-additions.en.html|changements]] dans le vocabulaire et des ajouts. Ils ont notamment changer certains espaces de noms pour prendre ceux de [[https://​schema.org/​|schema.org]]. +
- +
-En 2016des [[https://​www.oclc.org/​developer/​news/​2016/​upcoming-changes-to-viaf.en.html|changements]] ont été opérés dans l'API de VIAF. +
- +
-Ex: [[http://​www.viaf.org/​viaf/​29551966/​viaf.json|Notice au format json]] de John Maynard Keynes +
- +
-Cette [[https://​www.w3.org/​2005/​Incubator/​lld/​wiki/​Use_Case_Virtual_International_Authority_File_(VIAF)|page]] explique comment le VIAF fonctionne (:!: Attention: Elle n'a pas été mise à jour depuis 2010). +
- +
-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]]. ​+
  
 +Cette requête est exécuté sur python est permet d'​aller chercher à la fois les économistes et à la fois les juristes BnF data.  (cf. [[projets_individuels:​economiste_juriste_documentation|Documentation SPARQL]] pour comprendre davantage comment se construit la requête). ​
  
 +Nous ajoutons de façon optionnelle les personnes qui aurait un URI VIAF. Il est important, car il nous permet de faire une jointure entre les données BnF Data et DBpedia pour les personnes qui ont le même URI VIAF sur les bases de données. ​
besson_sylvain/economist_jurist.txt · Dernière modification: 2021/07/22 19:05 par Sylvain Besson