Revenir à la [[siprojuris:defi_donnees_2018|présentation du défi]]. ====== Enrichir les données ====== ===== Remarque générale ===== L'alignement des données du projet SIPROJURIS, effectué pour trois quarts des acteurs (431 sur 567 professeurs) et en cours pour les autres, permet d'accéder à plusieurs ressources publiées dans les LOD, dont les catalogues du SUDOC et BNF, Wikipedia et DBPedia, Wikidata, etc. L'objectif de cette partie du défi est d'enrichir la population SIPROJURIS tant en l'élargissant qu'en collectant de nouvelles informations concernant les acteurs de la population et en les transformant en utilisant l'ontologie symogih.org (ou toute autre ontologie opportune) afin de pouvoir les intérroger et analyser dans leur ensemble. Quelques suggestions pour le défi sont indiquées avant chaque requête. Si souhaité, les nouvelles données ainsi transformées peuvent être envoyées aux organisateurs du défi au format XML ou ttl, tout en les assortissant de métadonnées et d'une indication de licence explicite. Elles pourront alors être publiées dans un graphe supplémentaire du point d'accès SPARQL. ===== Un exemple : Gaston,Louis, Henry May (1849 - 1940) ===== ATTENTION : requêtes à exécuter sur le [[https://dataforhumanities.abes.fr/sparql|point d'accès SPARQL]] du projet [[https://dataforhumanities.org|Data For Humanities]] ==== Son parcours biographique ==== SELECT ?TyRoLabel ?infoStandardDate ?infoStandardLabel ?TyInLabel WHERE {GRAPH { ?tyro rdfs:label ?TyRoLabel. ?tyin rdfs:label ?TyInLabel. {GRAPH {?s ?p syr:Actr56241; sym:isComponentOf ?info; sym:hasRoleType ?tyro. ?info sym:knowledgeUnitStandardLabel ?infoStandardLabel; sym:knowledgeUnitStandardDate ?infoStandardDate; sym:hasKnowledgeUnitType ?tyin. } } } } ORDER BY ?infoStandardDate ==== Les données IdRef le concernant ==== SELECT ?idRef ?p ?o WHERE { GRAPH {syr:Actr56241 owl:sameAs ?idRef. } SERVICE { ?idRef ?p ?o. } } ==== Pour trouver la biblio, inverser le triplet ==== Suggestion pour le défi: une question intéressante en termes de TALN et d'analyse de données -> extraire la typologie des publications avec les outils TALN et la comparer avec l'évolution de la carrière (données SIPROJURIS en RDF) et ce pour l'ensemble de la population. SELECT ?s ?o WHERE { {GRAPH {syr:Actr56241 owl:sameAs ?idRef. } } SERVICE { ?s ?p ?idRef; ?o} } ===== Interroger l'ensemble des données ===== ATTENTION: le requêtes suivantes sont à exécuter sur le //[[https://data.idref.fr/sparql|point d'accès SPARQL des IdRef]]//. ==== Retrouver toutes les ressources liées ==== SELECT * WHERE { SERVICE { GRAPH { ?s owl:sameAs ?o. } } } ==== Trouver les URIs des ressources liées à travers les IdRef ==== A exécuter sur le //[[https://data.idref.fr/sparql|point d'accès SPARQL des IdRef]]// SELECT * WHERE { { SERVICE {SELECT * WHERE { GRAPH { ?s owl:sameAs ?idref. } } } ?idref owl:sameAs ?url. } } === Restreindre aux URI de la BNF === A exécuter sur le //[[https://data.idref.fr/sparql|point d'accès SPARQL des IdRef]]// SELECT * WHERE { { SERVICE {SELECT * WHERE { GRAPH { ?s owl:sameAs ?idref. } } } ?idref owl:sameAs ?url. FILTER CONTAINS(STR(?url), 'bnf')} } ==== Interroger la BNF ==== === Effectif des notices d'autorité disponibles === A exécuter sur le //[[https://data.idref.fr/sparql|point d'accès SPARQL des IdRef]]// SELECT count(*) WHERE { { SERVICE {SELECT * WHERE { GRAPH { ?s owl:sameAs ?idref. } } } ?idref owl:sameAs ?url. FILTER ( CONTAINS(str(?url), "bnf")) } } ===== Elargir le corpus avec les données de la BNF ===== === La population cherchée === A exécuter sur le //[[https://data.bnf.fr/sparql/|point d'accès SPARQL de la BNF]]// Suggestion pour le défi Le résultat de cette requête apporte toute une série d'informations biographiques (date et lieu de naissance, éléments biographiques) se trouvant dans les notices d'autorité de la BNF. Les extraire et comparer avec les données publiées au format RDF. PREFIX rdfs: PREFIX owl: SELECT ?s ?label ?s_bnf ?uri WHERE { { SERVICE {SELECT * WHERE { GRAPH { ?s owl:sameAs ?idref; ?label } # FILTER(CONTAINS(?label, 'Bras')) } } } ?s_bnf owl:sameAs ?idref. ?s_bnf owl:sameAs ?uri. } ORDER BY ?s_bnf Suggestion pour le défi En particulier la propriété contient des court textes biographiques qu'il s'agirait d'analyser avec les méthodes de TALN pour en extraire les informations disponibles et les comparer avec celles de la base de données (données RDF de SIPROJURIS). Les personnes, lieux, matières d'enseignement sont présentes dans les données RDF et peuvent être utilisées pour faciliter la reconnaissance d'entités nommées et leur annotation avec les URI du projet //symogih.org//, par ex. les codes AbOb12345 identifiant les matières enseignées sous forme de URI. Il y a un certain nombre de ces informations qui manquent dans les données SIPROJURIS: si elles sont extraites sous forme de données semi-structurées au cours du défi, elles pourront être intégrées par les soins du projet //symogih.org// aux données de la base de donnée SIPROJURIS afin d'enrichir les données existantes. === Toutes les informations concernant une ou plusieurs personnes=== PREFIX rdfs: PREFIX owl: SELECT ?s ?label ?s_bnf ?p ?entity WHERE { { SERVICE {SELECT * WHERE { GRAPH { ?s owl:sameAs ?idref; ?label } # FILTER(CONTAINS(?label, 'Bras')) } LIMIT 20 } } ?s_bnf owl:sameAs ?idref. # ?s_bnf ?p ?entity. ?s_bnf ?entity. # ?entity ?p ?s_bnf. } ORDER BY ?s_bnf ?p ==== Obtenir les données concernant des acteurs similaires ==== ATTENTION: le requêtes suivantes sont à exécuter sur le //[[http://data.bnf.fr/sparql|point d'accès SPARQL de la BNF]]//. Chercher les acteurs dont le vocabulaire des notices est proche de celui de la population de départ Suggestion pour le défi Chercher les professeur de droit français parmi les 2258 acteurs [28 décembre 2018] de la population des notices BNF, puis vérifier si parmis eux tous sont déjà présents dans les données SIPROJURIS: la recherche s'effectuera sur les noms mais aussi les autres informations disponibles. Lister les éventuels acteurs manquants dans la base de données d'origine et présents dans les notices d'autorité de la BNF. PREFIX egr: SELECT DISTINCT ?s ?na ?fn ?annee ?pb ?gd ?bio WHERE { { { SELECT DISTINCT ?s ?bio WHERE { { ?s egr:biographicalInformation ?bio FILTER (( CONTAINS(?bio, "droit") || CONTAINS(?bio, "Droit") ) && ( CONTAINS(?bio, "faculté") || CONTAINS(?bio, "Faculté") ) ) } UNION { ?s egr:biographicalInformation ?bio FILTER (( CONTAINS(?bio, "droit") || CONTAINS(?bio, "Droit") ) && ( CONTAINS(?bio, "professeur") || CONTAINS(?bio, "Professeur") ) ) } UNION { ?s egr:biographicalInformation ?bio FILTER (( CONTAINS(?bio, "juriste") || CONTAINS(?bio, "Juriste") ) && ( CONTAINS(?bio, "professeur") || CONTAINS(?bio, "Professeur") ) ) } } } ?s egr:dateOfBirth ?bd OPTIONAL { ?s ?na } OPTIONAL { ?s ?fn } OPTIONAL { ?s egr:placeOfBirth ?pb } OPTIONAL { ?s ?gd } } BIND(STRBEFORE(STRAFTER(STR(?bd), "http://data.bnf.fr/date/"), "/") AS ?annee) FILTER ( ( ?annee > "1791" ) ) } ORDER BY ?annee ===== Chercher notices et données dans DBPedia ===== ==== Lister les URI DBPedia ==== Seulement 101 disponibles [9 décembre 2021]. PREFIX owl: SELECT * WHERE { { SERVICE {SELECT * WHERE { GRAPH { ?s owl:sameAs ?idref. } } } } ?s_bnf owl:sameAs ?idref. ?s_bnf owl:sameAs ?dbpedia. FILTER(CONTAINS(STR(?dbpedia), 'dbpedia')) } ==== Données disponibles dans DBPedia ==== !!! Attention : cette requête ne marche plus à cause du changement des réglages de sécurité du côté BNF. Il faut donc prévoir un stockage intermédiaire des URI. PREFIX owl: SELECT * WHERE { { SERVICE {SELECT * WHERE { GRAPH { ?s owl:sameAs ?idref. } } } } ?s_bnf owl:sameAs ?idref. ?s_bnf owl:sameAs ?dbpedia. FILTER(CONTAINS(STR(?dbpedia), 'dbpedia')) { SERVICE { SELECT * WHERE { ?dbpedia ?p ?o. } } } }