Ci-dessous, les différences entre deux révisions de la page.
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/25 19:06] Sylvain Besson |
besson_sylvain:economist_jurist [2021/03/26 11:44] Sylvain Besson [Extraction des données] |
||
---|---|---|---|
Ligne 15: | Ligne 15: | ||
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. | 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. | ||
+ | =====Examen des données===== | ||
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. | 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. | ||
Ligne 22: | Ligne 23: | ||
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. | 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. | ||
- | 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 juriste. Il 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 les biographies et les résumées les mentions d'économistes, professeur d'économie, //lawyer//, etc. | + | 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 juriste. Il 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'économistes, professeur d'économie, //lawyer//, etc. |
- | Pour la BnF, il y n'a besoins de chercher ses chaînes de caractère qu'en français, car toutes les biographies sont écrites en français. Par contre, pour DBpedia, il faut avant tout les faire en anglais, c'est car la langue qui est privilégiée. | + | Pour la BnF, il y n'a besoin de chercher ces chaînes de caractère qu'en français, car 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. |
+ | |||
+ | Voici un exemple d'interrogation possible pour obtenir les économistes sur la base BnF Data: | ||
+ | <code> | ||
+ | query = """ | ||
+ | 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/> | ||
+ | |||
+ | SELECT DISTINCT ?s ?name ?sName ?uri ?year ?bio | ||
+ | WHERE | ||
+ | { { ?s egr:biographicalInformation ?bio ; | ||
+ | egr:dateOfBirth ?bd | ||
+ | BIND(strbefore(strafter(str(?bd), "http://data.bnf.fr/date/"), "/") AS ?year) | ||
+ | FILTER ( ?year > "1800" ) | ||
+ | FILTER ( ( ( regex(?bio, "juriste", "i") || regex(?bio, "Jurist", "i") ) || regex(?bio, "professeur de droit", "i") ) || regex(?bio, "docteur en droit", "i") ) | ||
+ | OPTIONAL | ||
+ | { ?s foaf:name ?name } | ||
+ | OPTIONAL | ||
+ | { ?s skos:prefLabel ?sName } | ||
+ | OPTIONAL | ||
+ | { ?s owl:sameAs ?uri | ||
+ | FILTER regex(?uri, "viaf.org", "i") | ||
+ | } | ||
+ | } | ||
+ | UNION | ||
+ | { ?s egr:biographicalInformation ?bio ; | ||
+ | egr:dateOfBirth ?bd | ||
+ | BIND(strbefore(strafter(str(?bd), "http://data.bnf.fr/date/"), "/") AS ?year) | ||
+ | FILTER ( ?year > "1800" ) | ||
+ | FILTER ( ( ( regex(?bio, "économiste", "i") || regex(?bio, "professeur d'économie", "i") ) || regex(?bio, "économie", "i") ) || regex(?bio, "docteur en économie", "i") ) | ||
+ | OPTIONAL | ||
+ | { ?s foaf:name ?name } | ||
+ | OPTIONAL | ||
+ | { ?s skos:prefLabel ?sName } | ||
+ | OPTIONAL | ||
+ | { ?s owl:sameAs ?uri | ||
+ | FILTER regex(?uri, "viaf.org", "i") | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | ORDER BY DESC(?uri) | ||
+ | """ | ||
+ | </code> | ||
+ | |||
+ | Cette requête est exécuté sur python est permet d'aller chercher les économistes et les juristes BnF data. |