Outils pour utilisateurs

Outils du site


siprojuris:enrichir_les_donnes_avec_lod

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
siprojuris:enrichir_les_donnes_avec_lod [2018/05/28 09:39]
Francesco Beretta [Interroger la BNF]
siprojuris:enrichir_les_donnes_avec_lod [2021/12/09 15:17]
Francesco Beretta [Elargir le corpus avec les données de la BNF]
Ligne 8: Ligne 8:
 ===== Remarque générale ===== ===== Remarque générale =====
  
-L'​alignement des données du projet SIPROJURIS, effectué pour trois quarts des acteurs 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'​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. 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.
  
-Les nouvelles données ainsi transformées peuvent être envoyées aux organisateurs du défi (respectivement à Francesco Beretta) ​au format XML ou ttl et elles seront mises dans un graphe supplémentaire du point d'​accès SPARQL)+Quelques <​html><​span style="​color:​blue;​font-weight:​bold;">​suggestions pour le défi</​span></​html>​ 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) ===== ===== Un exemple : Gaston,​Louis,​ Henry May (1849 - 1940) =====
Ligne 62: Ligne 64:
 ==== Pour trouver la biblio, inverser le triplet ==== ==== Pour trouver la biblio, inverser le triplet ====
  
 +<​html><​span style="​color:​red;​font-weight:​bold;">​Suggestion pour le défi</​span></​html>:​ 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.
  
 <code sparql> <code sparql>
-SELECT ?idRef ?s ?p 
-WHERE  
  
-{SERVICE <​https://​data.idref.fr/​sparql>​ +SELECT ​?s ?o 
- +WHERE   
-?s ?p ?idRef. +{ 
- +{GRAPH <​http://​symogih.org/​graph/​siprojuris-sym> ​
-        {GRAPH <​http://​symogih.org/​graph/​siprojuris-sym> ​+
             {syr:​Actr56241 owl:sameAs ?idRef.             {syr:​Actr56241 owl:sameAs ?idRef.
             }             }
 +         }
 +SERVICE <​https://​data.idref.fr/​sparql>​
 +   { ?s ?p ?idRef;
 +     <​http://​purl.org/​dc/​terms/​bibliographicCitation>​ ?o}
 +}
  
-        } 
-} 
-} 
 </​code>​ </​code>​
  
Ligne 105: Ligne 106:
  
 ==== Trouver les URIs des ressources liées à travers les IdRef ==== ==== 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]]//
  
 <code sparql> <code sparql>
Ligne 122: Ligne 124:
 } }
 } }
 +</​code>​
 +
 +
 +=== Restreindre aux URI de la BNF ===
 +A exécuter sur le //​[[https://​data.idref.fr/​sparql|point d'​accès SPARQL des IdRef]]//
 +
 +<code sparql>
 +SELECT * 
 +WHERE {
 +{
 +SERVICE <​http://​bhp-publi.ish-lyon.cnrs.fr:​8888/​sparql>​
 +{SELECT * 
 +WHERE { 
 +GRAPH <​http://​symogih.org/​graph/​siprojuris-sym>​
 +{
 +?s owl:sameAs ?idref.
 +}
 +}
 +}
 +?idref owl:sameAs ?url.
 +FILTER CONTAINS(STR(?​url),​ '​bnf'​)}
 +}
 +
 </​code>​ </​code>​
  
Ligne 128: Ligne 153:
 ==== Interroger la BNF ==== ==== Interroger la BNF ====
  
-=== Effectif des notices d'​autorité disponibles+ 
 +=== Effectif des notices d'​autorité disponibles ​ === 
 + 
 +A exécuter sur le //​[[https://​data.idref.fr/​sparql|point d'​accès SPARQL des IdRef]]//
  
  
Ligne 153: Ligne 181:
  
  
-=== Les informations qu'​elles contiennent ​===+===== Elargir le corpus avec les données de la BNF =====
  
-<code sparql> 
-SELECT *  
  
 +=== La population cherchée ===
 +
 +A exécuter sur le //​[[https://​data.bnf.fr/​sparql/​|point d'​accès SPARQL de la BNF]]//
 +
 +<​html><​span style="​color:​red;​font-weight:​bold;">​Suggestion pour le défi</​span></​html>​ 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.
 +
 +
 +<code sparql>
 +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 { WHERE {
 + 
 +    {
 +    SERVICE <​http://​bhp-publi.ish-lyon.cnrs.fr:​8888/​sparql>​
 +    {SELECT * 
 +    WHERE { 
 +    GRAPH <​http://​symogih.org/​graph/​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
 +</​code>​
 +==== 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
 +
 +<​html><​span style="​color:​red;​font-weight:​bold;">​Suggestion pour le défi</​span></​html>​ 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.
 +
 +<code sparql>
 +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
 +</​code>​
 +
 +===== Chercher notices et données dans DBPedia =====
 +
 +==== Lister les URI DBPedia ====
 +
 +Seulement 101 disponibles [9 décembre 2021].
 +
 +<code SPARQL>
 +PREFIX owl: <​http://​www.w3.org/​2002/​07/​owl#>​
 +
 +SELECT * 
 + 
 +WHERE {
 +  ​
 { {
 SERVICE <​http://​bhp-publi.ish-lyon.cnrs.fr:​8888/​sparql>​ SERVICE <​http://​bhp-publi.ish-lyon.cnrs.fr:​8888/​sparql>​
Ligne 170: Ligne 289:
 ?s owl:sameAs ?idref. ?s owl:sameAs ?idref.
 } }
- 
 } }
- 
 } }
- 
 } }
-?idref owl:sameAs ?uri. 
-BIND (uri(replace(str(?​uri),​ '​foaf:​Person',​ '​about'​)) as ?new_uri) 
  
-+?s_bnf owl:sameAs ?idref
-SERVICE <http://data.bnf.fr/​sparql>​ + 
-+?s_bnf owl:​sameAs ​?dbpedia. 
-SELECT * +FILTER(CONTAINS(STR(?dbpedia), '​dbpedia'​)) 
-WHERE { + 
-?new_uri ​?pb ?ob +
-+
-} +
-}+
 } }
 </​code>​ </​code>​
  
  
-===== Elargir le corpus avec les données de la BNF =====+==== 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.
  
-==== Retenir uniquement les notices biographiques de la BNF ==== +<​code ​SPARQL> 
- +PREFIX owl: <​http://​www.w3.org/​2002/​07/​owl#>​ 
-<​code ​sparql>+ 
 SELECT *  SELECT * 
 + 
 WHERE { WHERE {
 + 
 { {
 SERVICE <​http://​bhp-publi.ish-lyon.cnrs.fr:​8888/​sparql>​ SERVICE <​http://​bhp-publi.ish-lyon.cnrs.fr:​8888/​sparql>​
Ligne 210: Ligne 321:
 ?s owl:sameAs ?idref. ?s owl:sameAs ?idref.
 } }
- 
 } }
- 
 } }
- 
 } }
-?idref owl:sameAs ?uri+   
-BIND (uri(replace(str(?uri), 'foaf:​Person',​ 'about')) as ?new_uri)+   
 +  
 +?s_bnf owl:​sameAs ​?idref
 +  
 +?​s_bnf ​owl:sameAs ?dbpedia
 +FILTER(CONTAINS(STR(?dbpedia), 'dbpedia'))
  
 { {
-SERVICE <http://data.bnf.fr/sparql>+SERVICE <https://fr.dbpedia.org/sparql>
 { {
 SELECT * SELECT *
 WHERE { WHERE {
-?new_uri <​http://​rdvocab.info/​ElementsGr2/​biographicalInformation> ​?ob+?dbpedia ​?p ?o.
 } }
 } }
 } }
 +    ​
 } }
 </​code>​ </​code>​
- 
- 
- 
- 
  
siprojuris/enrichir_les_donnes_avec_lod.txt · Dernière modification: 2024/01/10 19:15 par Vincent Alamercery