Revenir à la présentation du défi.
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.
ATTENTION : requêtes à exécuter sur le point d'accès SPARQL du projet Data For Humanities
SELECT ?TyRoLabel ?infoStandardDate ?infoStandardLabel ?TyInLabel WHERE {GRAPH <https://dataforhumanities.org/sparql-endpoint/symogih-kute> { ?tyro rdfs:label ?TyRoLabel. ?tyin rdfs:label ?TyInLabel. {GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> {?s ?p syr:Actr56241; sym:isComponentOf ?info; sym:hasRoleType ?tyro. ?info sym:knowledgeUnitStandardLabel ?infoStandardLabel; sym:knowledgeUnitStandardDate ?infoStandardDate; sym:hasKnowledgeUnitType ?tyin. } } } } ORDER BY ?infoStandardDate
SELECT ?idRef ?p ?o WHERE { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> {syr:Actr56241 owl:sameAs ?idRef. } SERVICE <https://data.idref.fr/sparql> { ?idRef ?p ?o. } }
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 <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> {syr:Actr56241 owl:sameAs ?idRef. } } SERVICE <https://data.idref.fr/sparql> { ?s ?p ?idRef; <http://purl.org/dc/terms/bibliographicCitation> ?o} }
ATTENTION: le requêtes suivantes sont à exécuter sur le point d'accès SPARQL des IdRef.
SELECT * WHERE { SERVICE <https://dataforhumanities.abes.fr/sparql> { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> { ?s owl:sameAs ?o. } } }
A exécuter sur le point d'accès SPARQL des IdRef
SELECT * WHERE { { SERVICE <https://dataforhumanities.abes.fr/sparql> {SELECT * WHERE { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> { ?s owl:sameAs ?idref. } } } ?idref owl:sameAs ?url. } }
A exécuter sur le point d'accès SPARQL des IdRef
SELECT * WHERE { { SERVICE <https://dataforhumanities.abes.fr/sparql> {SELECT * WHERE { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> { ?s owl:sameAs ?idref. } } } ?idref owl:sameAs ?url. FILTER CONTAINS(STR(?url), 'bnf')} }
A exécuter sur le point d'accès SPARQL des IdRef
SELECT COUNT(*) WHERE { { SERVICE <https://dataforhumanities.abes.fr/sparql> {SELECT * WHERE { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> { ?s owl:sameAs ?idref. } } } ?idref owl:sameAs ?url. FILTER ( CONTAINS(STR(?url), "bnf")) } }
A exécuter sur le 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: <http://www.w3.org/2000/01/rdf-schema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT ?s ?label ?s_bnf ?URI WHERE { { SERVICE <https://dataforhumanities.abes.fr/sparql> {SELECT * WHERE { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> { ?s owl:sameAs ?idref; <http://symogih.org/ontology/objectStandardName> ?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é <http://rdvocab.info/ElementsGr2/biographicalInformation> 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.
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT ?s ?label ?s_bnf ?p ?entity WHERE { { SERVICE <https://dataforhumanities.abes.fr/sparql> {SELECT * WHERE { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> { ?s owl:sameAs ?idref; <http://symogih.org/ontology/objectStandardName> ?label } # FILTER(CONTAINS(?label, 'Bras')) } LIMIT 20 } } ?s_bnf owl:sameAs ?idref. # ?s_bnf ?p ?entity. ?s_bnf <http://rdvocab.info/ElementsGr2/biographicalInformation> ?entity. # ?entity ?p ?s_bnf. } ORDER BY ?s_bnf ?p
ATTENTION: le requêtes suivantes sont à exécuter sur le 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: <http://rdvocab.info/ElementsGr2/> 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 <http://xmlns.com/foaf/0.1/name> ?na } OPTIONAL { ?s <http://xmlns.com/foaf/0.1/familyName> ?fn } OPTIONAL { ?s egr:placeOfBirth ?pb } OPTIONAL { ?s <http://xmlns.com/foaf/0.1/gender> ?gd } } BIND(STRBEFORE(STRAFTER(STR(?bd), "http://data.bnf.fr/date/"), "/") AS ?annee) FILTER ( ( ?annee > "1791" ) ) } ORDER BY ?annee
Seulement 101 disponibles [9 décembre 2021].
PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT * WHERE { { SERVICE <https://dataforhumanities.abes.fr/sparql> {SELECT * WHERE { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> { ?s owl:sameAs ?idref. } } } } ?s_bnf owl:sameAs ?idref. ?s_bnf owl:sameAs ?dbpedia. FILTER(CONTAINS(STR(?dbpedia), '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: <http://www.w3.org/2002/07/owl#> SELECT * WHERE { { SERVICE <https://dataforhumanities.abes.fr/sparql> {SELECT * WHERE { GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym> { ?s owl:sameAs ?idref. } } } } ?s_bnf owl:sameAs ?idref. ?s_bnf owl:sameAs ?dbpedia. FILTER(CONTAINS(STR(?dbpedia), 'dbpedia')) { SERVICE <https://fr.dbpedia.org/sparql> { SELECT * WHERE { ?dbpedia ?p ?o. } } } }