Table des matières

Revenir à la 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 point d'accès SPARQL du projet Data For Humanities

Son parcours biographique

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

Les données IdRef le concernant

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.
  }
}

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 <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}
}

Interroger l'ensemble des données

ATTENTION: le requêtes suivantes sont à exécuter sur le point d'accès SPARQL des IdRef.

Retrouver toutes les ressources liées

SELECT * 
WHERE {
SERVICE <https://dataforhumanities.abes.fr/sparql>
{ 
GRAPH <https://dataforhumanities.org/sparql-endpoint/siprojuris-sym>
{
?s owl:sameAs ?o.
}
}
}

Trouver les URIs des ressources liées à travers les IdRef

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.
}
}

Restreindre aux URI de la BNF

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')}
}

Interroger la BNF

Effectif des notices d'autorité disponibles

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"))
}
}

Elargir le corpus avec les données de la BNF

La population cherchée

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.

Toutes les informations concernant une ou plusieurs personnes

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

Obtenir les données concernant des acteurs similaires

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

Chercher notices et données dans DBPedia

Lister les URI DBPedia

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'))
 
}

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: <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.
}
}
}
 
}