« Project:SPARQL query service/examples » : différence entre les versions

De Référentiels d’autorité Biblissima
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(29 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 4 : Ligne 4 :


=== Requêtes générales ===
=== Requêtes générales ===
==== Tous les triplets d'une entité donnée  ====
{{SPARQL
|project=bbma
|query=
SELECT ?p ?propLabel ?o
WHERE
{
  wd:Q1000 ?p ?o .
  OPTIONAL { ?prop wikibase:directClaim ?p . }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
}}
==== Toutes les propriétés d'une entité d'un certain type ====
<pre>
Q167 = organisation
Q168 = être humain
Q26719 = lieu géographique
Q32795 = famille
Q32810 = manuscrit
Q113619 = imprimé
Q282950 = oeuvre
Q304387 = descripteur
</pre>
{{SPARQL
|project=bbma
|query=
SELECT DISTINCT ?prop ?propLabel
WHERE
{
  ?item wdt:P2 wd:Q168 ;
        ?p ?o .
  ?prop wikibase:directClaim ?p ;
        rdfs:label ?propLabel .
  FILTER (lang(?propLabel) = 'fr') .
  FILTER (!regex(?propLabel, "identifiant", "i")) .
  FILTER (!regex(?propLabel, "ID")) .
}
}}


==== Vue globale des types d'entités ====
==== Vue globale des types d'entités ====
Ligne 22 : Ligne 65 :
     wd:Q120869
     wd:Q120869
     wd:Q120868
     wd:Q120868
    wd:Q282950
    wd:Q304387
   }
   }
   {
   {
Ligne 32 : Ligne 77 :
}
}
GROUP BY ?label
GROUP BY ?label
ORDER BY ?count
ORDER BY DESC(?count)
}}
}}


==== Lieux (liste complète) ====
==== Lieux (liste complète) ====
Ligne 131 : Ligne 175 :
}
}
GROUP BY ?entity ?entityLabel ?idBbma
GROUP BY ?entity ?entityLabel ?idBbma
ORDER BY ?entityLabel
}}
==== Oeuvres (liste complète) ====
{{SPARQL
|project=bbma
|query=
SELECT ?entity ?entityLabel ?authorLabel ?idBbma
WHERE
{
  ?entity wdt:P2 wd:Q282950 ;
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  OPTIONAL { ?entity wdt:P354 ?author }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
ORDER BY ?entityLabel
ORDER BY ?entityLabel
}}
}}
Ligne 220 : Ligne 280 :
}}
}}


=== Requêtes spécifiques ===
==== Jeux de données ====
 
{{SPARQL
|project=bbma
|query=
#Jeux de données
SELECT DISTINCT ?entity ?entityLabel ?description ?url ?operatorLabel ?licenceLabel ?propId ?propId_label
WHERE
{
  ?entity wdt:P2 wd:Q313297 .
  OPTIONAL {
    ?entity schema:description ?description .
    FILTER (lang(?description) = 'fr')
  }
  OPTIONAL {
    ?entity wdt:P188 ?url .
  }
  OPTIONAL {
    ?entity wdt:P200 ?operator .
  }
  OPTIONAL {
    ?entity wdt:P187 ?licence .
  }
  OPTIONAL {
    ?entity wdt:P363 ?propId .
    ?propId rdfs:label ?propId_label .
    FILTER (lang(?propId_label) = 'fr')
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
ORDER BY ?entity}}
 
==== Entités associées à un jeu de données ====
 
{{SPARQL
|project=bbma
|query=
# Entités associées à un jeu de données
SELECT ?entity ?entityLabel ?entityTypeLabel ?id ?sourceUrl
WHERE {
  #--- cibler un ou plusieurs dataset en particulier
  VALUES ?dataset {
    wd:Q313323 # Regecart
    #wd:Q287582 # BVH
  }
 
  #--- cibler un ou plusieurs types d'entité (optionnel, laisser décommenter pour requêter sur tous les types)
  #VALUES ?entityType {
    #wd:Q32810 # manuscrit
    #wd:Q113619 # imprimé
  #}
 
  ?dataset wdt:P2 wd:Q313297 ; # type "jeu de données"
          wdt:P363 ?propId . # prop id du dataset (propriété d'identifiant)
  ?propId wikibase:directClaim ?propIdDirect .
 
  # construit l'url de l'entité sur le site source
  ?propId wdt:P108 ?formatterUrl .
  BIND(IRI(REPLACE(?id, '^(.+)$', ?formatterUrl)) AS ?sourceUrl).
 
  ?entity ?propIdDirect ?id ; # entité avec cette prop id
        wdt:P2 ?entityType .
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en". }
}
}}
 
=== Autres requêtes ===
 
Requêtes pour des extractions ciblées, pour la maintenance...




Ligne 289 : Ligne 418 :
}
}


}}
==== Entités alignées avec la DNB ====
{{SPARQL
|project=bbma
|query=
SELECT ?entity ?gndId ?gndUri ?entityLabel
WHERE {
  ?entity wdt:P111 ?gndId .
  wd:P111 wdt:P108 ?formatterUrl .
  BIND(IRI(REPLACE(?gndId, '^(.+)$', ?formatterUrl)) AS ?gndUri).
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
}}
==== Entités alignées avec Persée ou IdRef ====
<syntaxhighlight lang="SPARQL">
SELECT ?entity ?entityLabel (GROUP_CONCAT(DISTINCT(?typeLabel); separator=", ") AS ?typeLabel) (GROUP_CONCAT(DISTINCT(?uri); separator="###") AS ?uri)
WHERE {
  ?entity ?property ?Id ;
          wdt:P2 ?type .
  ?type rdfs:label ?typeLabel .
  ?prop wikibase:directClaim ?property ;
        rdf:type wikibase:Property ;
        wikibase:propertyType wikibase:ExternalId ;
        wdt:P108 ?formatterUrl .
  FILTER ( CONTAINS(?formatterUrl, "persee") || CONTAINS(?formatterUrl, "idref") ) .
  BIND(IRI(REPLACE(?Id, '^(.+)$', ?formatterUrl)) AS ?uri) .
  FILTER(LANG(?typeLabel) = "fr") .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?entity ?entityLabel
</syntaxhighlight>
[https://data-dev.biblissima.fr/query#SELECT%20%3Fentity%20%3FentityLabel%20%28GROUP_CONCAT%28DISTINCT%28%3FtypeLabel%29%3B%20separator%3D%22%2C%20%22%29%20AS%20%3FtypeLabel%29%20%28GROUP_CONCAT%28DISTINCT%28%3Furi%29%3B%20separator%3D%22%23%23%23%22%29%20AS%20%3Furi%29%0AWHERE%20%7B%0A%20%20%3Fentity%20%3Fproperty%20%3FId%20%3B%0A%20%20%20%20%20%20%20%20%20%20wdt%3AP2%20%3Ftype%20.%0A%20%20%3Ftype%20rdfs%3Alabel%20%3FtypeLabel%20.%0A%20%20%3Fprop%20wikibase%3AdirectClaim%20%3Fproperty%20%3B%0A%20%20%20%20%20%20%20%20rdf%3Atype%20wikibase%3AProperty%20%3B%0A%20%20%20%20%20%20%20%20wikibase%3ApropertyType%20wikibase%3AExternalId%20%3B%0A%20%20%20%20%20%20%20%20wdt%3AP108%20%3FformatterUrl%20.%0A%20%20FILTER%20%28%20CONTAINS%28%3FformatterUrl%2C%20%22persee%22%29%20%7C%7C%20CONTAINS%28%3FformatterUrl%2C%20%22idref%22%29%20%29%20.%0A%20%20BIND%28IRI%28REPLACE%28%3FId%2C%20%27%5E%28.%2B%29%24%27%2C%20%3FformatterUrl%29%29%20AS%20%3Furi%29%20.%0A%20%20FILTER%28LANG%28%3FtypeLabel%29%20%3D%20%22fr%22%29%20.%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22fr%22.%20%7D%0A%7D%0AGROUP%20BY%20%3Fentity%20%3FentityLabel Try it!]
==== Entités personnes issues des bases de l'IRHT ====
<syntaxhighlight lang="SPARQL">
SELECT DISTINCT ?entity
(GROUP_CONCAT(?idbbma; separator="###") AS ?id_portail_biblissima)
(GROUP_CONCAT(?idbibale; separator="###") AS ?id_bibale)
(GROUP_CONCAT(?idjonas; separator="###") AS ?id_jonas)
(GROUP_CONCAT(?idpinakes; separator="###") AS ?id_pinakes)
(GROUP_CONCAT(?idinitiale; separator="###") AS ?id_initiale)
WHERE
{
    ?entity wdt:P2 wd:Q168 .
    OPTIONAL { ?entity wdt:P129 ?idbbma }
    OPTIONAL { ?entity wdt:P140 ?idjonas }
    OPTIONAL { ?entity wdt:P131 ?idbibale }
    OPTIONAL { ?entity wdt:P145 ?idpinakes }
    OPTIONAL { ?entity wdt:P139 ?idinitiale }
    FILTER(?idjonas != "" || ?idbibale != "" || ?idpinakes != "" || ?idinitiale != "")
}
GROUP BY ?entity
</syntaxhighlight>
[https://data-dev.biblissima.fr/query/#SELECT%20DISTINCT%20%3Fentity%20%0A%28GROUP_CONCAT%28%3Fidbbma%3B%20separator%3D%22%23%23%23%22%29%20AS%20%3Fid_portail_biblissima%29%0A%28GROUP_CONCAT%28%3Fidbibale%3B%20separator%3D%22%23%23%23%22%29%20AS%20%3Fid_bibale%29%0A%28GROUP_CONCAT%28%3Fidjonas%3B%20separator%3D%22%23%23%23%22%29%20AS%20%3Fid_jonas%29%0A%28GROUP_CONCAT%28%3Fidpinakes%3B%20separator%3D%22%23%23%23%22%29%20AS%20%3Fid_pinakes%29%0A%28GROUP_CONCAT%28%3Fidinitiale%3B%20separator%3D%22%23%23%23%22%29%20AS%20%3Fid_initiale%29%0AWHERE%0A%7B%0A%20%20%20%20%3Fentity%20wdt%3AP2%20wd%3AQ168%20.%0A%20%20%20%20OPTIONAL%20%7B%20%3Fentity%20wdt%3AP129%20%3Fidbbma%20%7D%0A%20%20%20%20OPTIONAL%20%7B%20%3Fentity%20wdt%3AP140%20%3Fidjonas%20%7D%0A%20%20%20%20OPTIONAL%20%7B%20%3Fentity%20wdt%3AP131%20%3Fidbibale%20%7D%0A%20%20%20%20OPTIONAL%20%7B%20%3Fentity%20wdt%3AP145%20%3Fidpinakes%20%7D%0A%20%20%20%20OPTIONAL%20%7B%20%3Fentity%20wdt%3AP139%20%3Fidinitiale%20%7D%0A%20%20%20%20FILTER%28%3Fidjonas%20%21%3D%20%22%22%20%7C%7C%20%3Fidbibale%20%21%3D%20%22%22%20%7C%7C%20%3Fidpinakes%20%21%3D%20%22%22%20%7C%7C%20%3Fidinitiale%20%21%3D%20%22%22%29%0A%7D%0AGROUP%20BY%20%3Fentity Try it!]
==== Données sur les items numérisés ====
<syntaxhighlight lang="SPARQL">
SELECT ?entity ?idbbma
(GROUP_CONCAT(DISTINCT ?surrogates; SEPARATOR = "###") AS ?surrogate)
(GROUP_CONCAT(DISTINCT ?manifests; SEPARATOR = "###") AS ?manifest)
(GROUP_CONCAT(DISTINCT ?digitTypeLabel; SEPARATOR = "###") AS ?type_label)
(GROUP_CONCAT(DISTINCT ?dsTypeLabel; SEPARATOR = "###") AS ?ds_type_label)
WHERE {
  VALUES ?filter {
    wd:Q32810
    wd:Q113619
  }
  ?entity wdt:P129 ?uncleaned_idbbma;
    wdt:P2 ?filter;
    wdt:P197 ?surrogates;
  OPTIONAL {
    ?entity p:P197 ?ds_stmt.
    ?ds_stmt pq:P279 ?dsType.
    ?dsType rdfs:label ?_dsTypeLabel.
    FILTER((LANG(?_dsTypeLabel)) = "fr")
  }
  OPTIONAL {
    ?entity wdt:P196 ?manifests ;
    OPTIONAL {
      ?entity p:P196 ?manifest_stmt.
      ?manifest_stmt pq:P279 ?digitType.
      ?digitType rdfs:label ?_digitTypeLabel.
      FILTER((LANG(?_digitTypeLabel)) = "fr")
    }
  }
  BIND(REPLACE(?uncleaned_idbbma, '^[im]data', '') AS ?idbbma)
  BIND(COALESCE(?_dsTypeLabel, "<no label>") AS ?dsTypeLabel)
  BIND(COALESCE(?_digitTypeLabel, "<no label>") AS ?digitTypeLabel).
}
GROUP BY ?entity ?idbbma
ORDER BY ?entity
LIMIT 20000
</syntaxhighlight>
[https://data-dev.biblissima.fr/query/#SELECT%20%3Fentity%20%3Fidbbma%20%0A%28GROUP_CONCAT%28DISTINCT%20%3Fsurrogates%3B%20SEPARATOR%20%3D%20%22%23%23%23%22%29%20AS%20%3Fsurrogate%29%20%0A%28GROUP_CONCAT%28DISTINCT%20%3Fmanifests%3B%20SEPARATOR%20%3D%20%22%23%23%23%22%29%20AS%20%3Fmanifest%29%20%0A%28GROUP_CONCAT%28DISTINCT%20%3FdigitTypeLabel%3B%20SEPARATOR%20%3D%20%22%23%23%23%22%29%20AS%20%3Ftype_label%29%0A%28GROUP_CONCAT%28DISTINCT%20%3FdsTypeLabel%3B%20SEPARATOR%20%3D%20%22%23%23%23%22%29%20AS%20%3Fds_type_label%29%20%0A%0AWHERE%20%7B%0A%20%20VALUES%20%3Ffilter%20%7B%0A%20%20%20%20wd%3AQ32810%0A%20%20%20%20wd%3AQ113619%0A%20%20%7D%0A%20%20%3Fentity%20wdt%3AP129%20%3Funcleaned_idbbma%3B%0A%20%20%20%20wdt%3AP2%20%3Ffilter%3B%0A%20%20%20%20wdt%3AP197%20%3Fsurrogates%3B%0A%20%20OPTIONAL%20%7B%0A%20%20%20%20%3Fentity%20p%3AP197%20%3Fds_stmt.%0A%20%20%20%20%3Fds_stmt%20pq%3AP279%20%3FdsType.%0A%20%20%20%20%3FdsType%20rdfs%3Alabel%20%3F_dsTypeLabel.%0A%20%20%20%20FILTER%28%28LANG%28%3F_dsTypeLabel%29%29%20%3D%20%22fr%22%29%0A%20%20%7D%0A%20%20OPTIONAL%20%7B%0A%20%20%20%20%3Fentity%20wdt%3AP196%20%3Fmanifests%20%3B%0A%20%20%20%20OPTIONAL%20%7B%0A%20%20%20%20%20%20%3Fentity%20p%3AP196%20%3Fmanifest_stmt.%0A%20%20%20%20%20%20%3Fmanifest_stmt%20pq%3AP279%20%3FdigitType.%0A%20%20%20%20%20%20%3FdigitType%20rdfs%3Alabel%20%3F_digitTypeLabel.%0A%20%20%20%20%20%20FILTER%28%28LANG%28%3F_digitTypeLabel%29%29%20%3D%20%22fr%22%29%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20BIND%28REPLACE%28%3Funcleaned_idbbma%2C%20%27%5E%5Bim%5Ddata%27%2C%20%27%27%29%20AS%20%3Fidbbma%29%0A%20%20BIND%28COALESCE%28%3F_dsTypeLabel%2C%20%22%3Cno%20label%3E%22%29%20AS%20%3FdsTypeLabel%29%0A%20%20BIND%28COALESCE%28%3F_digitTypeLabel%2C%20%22%3Cno%20label%3E%22%29%20AS%20%3FdigitTypeLabel%29.%0A%0A%7D%0AGROUP%20BY%20%3Fentity%20%3Fidbbma%0AORDER%20BY%20%3Fentity%0ALIMIT%2020000 Try it!]
==== Entités fusionnées/redirigées  ====
{{SPARQL
|project=bbma
|query=
SELECT ?olditem ?newItem ?newItemLabel
WHERE {
  ?olditem owl:sameAs ?newItem .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr" }
}
LIMIT 1000
}}
==== Entités avec manifest archive.org ====
{{SPARQL
|project=bbma
|query=
SELECT ?entity ?manifest_url
WHERE
{
  { ?entity wdt:P2 wd:Q32810 } UNION { ?entity wdt:P2 wd:Q113619 }
  ?entity p:P196 ?mfStmt .
  ?mfStmt ps:P196 ?manifest_url ;
          pq:P191 wd:Q78754 .
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "fr".
  }
}
}}
==== Standards de métadonnées référencés dans la propriété "seeAlso" (IIIF) ====
{{SPARQL
|project=bbma
|query=
SELECT DISTINCT ?schema
WHERE {
  ?entity wdt:P2 wd:Q32805 ;
          wdt:P192 ?schema .
}
}}
==== Entités avec bibliographie, en récupérant le QID du référentiel biblio pour chaque entrée ====
{{SPARQL
|project=bbma
|query=
SELECT
?entity
?entityLabel
(GROUP_CONCAT(DISTINCT ?biblio_qid; SEPARATOR = "###") AS ?biblios_qids)
WHERE {
  ?entity p:P379 ?biblio_stmt.
  ?biblio_stmt pq:P380 ?QID;
              ps:P379 ?biblio_value.
  BIND(CONCAT(?biblio_value, "%%", ?QID) AS ?biblio_qid)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?entity ?entityLabel
ORDER BY (?entityLabel)
}}
==== Inscriptions des CIFM ====
{{SPARQL
|project=bbma
|query=
SELECT ?entity ?label ?labelBbma ?idBbma (GROUP_CONCAT(DISTINCT ?manifests; SEPARATOR = "###") AS ?manifest)
WHERE
{
  ?entity wdt:P2 wd:Q257483 ;
          rdfs:label ?label ;
          wdt:P195 ?labelBbma .
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  OPTIONAL {
    ?entity wdt:P196 ?manifests ;
    OPTIONAL {
      ?entity p:P196 ?manifest_stmt.
    }
  }
  FILTER langMatches(LANG(?label), "fr")
  FILTER (regex(?label, "CIFM")) .
}
GROUP BY ?entity ?label ?labelBbma ?idBbma
}}
}}

Dernière version du 4 décembre 2024 à 11:40

Exemples de requêtes SPARQL

Cette page liste des exemples de requêtes SPARQL permettant d'interroger en profondeur les données RDF des Référentiels Biblissima. Chaque requête peut être lancée en cliquant sur le lien "Try it!" qui ouvre une interface de requête dédiée et outillée.

Requêtes générales

Tous les triplets d'une entité donnée

SELECT ?p ?propLabel ?o
WHERE
{
  wd:Q1000 ?p ?o .
  OPTIONAL { ?prop wikibase:directClaim ?p . }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}

Try it!

Toutes les propriétés d'une entité d'un certain type

Q167 = organisation
Q168 = être humain
Q26719 = lieu géographique
Q32795 = famille
Q32810 = manuscrit
Q113619 = imprimé
Q282950 = oeuvre
Q304387 = descripteur
SELECT DISTINCT ?prop ?propLabel
WHERE
{
  ?item wdt:P2 wd:Q168 ;
        ?p ?o .
  ?prop wikibase:directClaim ?p ;
        rdfs:label ?propLabel .
  FILTER (lang(?propLabel) = 'fr') .
  FILTER (!regex(?propLabel, "identifiant", "i")) .
  FILTER (!regex(?propLabel, "ID")) .
}

Try it!

Vue globale des types d'entités

SELECT ?label(count(?entity) as ?count)
WHERE {
  VALUES ?filter {
    wd:Q168
    wd:Q26719
    wd:Q32795
    wd:Q167
    wd:Q32810
    wd:Q113619
    wd:Q120865
    wd:Q120869
    wd:Q120868
    wd:Q282950
    wd:Q304387
  }
  {
   ?entity wdt:P2 ?filter .
   ?filter rdfs:label ?label .
  }
  UNION { ?entity wdt:P2 ?label }
  FILTER(LANG(?label) = "fr")
  #SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?label
ORDER BY DESC(?count)

Try it!

Lieux (liste complète)

SELECT ?entity ?entityLabel ?categoryLabel ?countryLabel ?typeLabel ?idBbma
WHERE
{
  ?entity wdt:P2 wd:Q26719 .
  #wd:P129 wdt:P108 ?formatterUrl .
  OPTIONAL {
     ?type wdt:P2 wd:Q26718 .
     ?entity wdt:P2 ?type .
  }
  OPTIONAL { ?entity wdt:P172 ?country }
  OPTIONAL { ?entity wdt:P169 ?category }
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  # BIND(IRI(REPLACE(?idBbma, '^(.+)$', ?formatterUrl)) AS ?url).
  # (URI(REPLACE(?p1630,'\\$1',?id)) AS ?url)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
ORDER BY ?entityLabel

Try it!

Lieux géolocalisés (carte)

#defaultView:Map
SELECT ?entity ?entityLabel ?coord
WHERE
{
  ?entity wdt:P2 wd:Q26719 ;
          p:P276 ?coordinate .
  ?coordinate ps:P276 ?coord .
  ?coordinate psv:P276 ?coordinate_node .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}

Try it!

Personnes physiques (liste complète)

SELECT ?entity ?entityLabel ?sexLabel (year(?dateBirth) as ?YearBirth) (year(?dateDeath) as ?YearDeath) ?idBbma
WHERE
{
  ?entity wdt:P2 wd:Q168 ;
  OPTIONAL { ?entity wdt:P95 ?sex }
  OPTIONAL { ?entity wdt:P57 ?dateBirth }
  OPTIONAL { ?entity wdt:P62 ?dateDeath }
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
ORDER BY ?entityLabel

Try it!

Organisations (liste complète)

SELECT ?entity ?entityLabel ?placeLabel ?idBbma
WHERE
{
  ?entity wdt:P2 wd:Q167 ;
  OPTIONAL { ?entity wdt:P201 ?place }
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
ORDER BY ?entityLabel

Try it!

Variante avec GROUP_CONCAT pour gérer les lignes dupliquées (car deux localisations possibles pour la même entité : ex. Q80035 et Q81293)

SELECT ?entity ?entityLabel (GROUP_CONCAT(DISTINCT(?place); separator=", ") AS ?places) (GROUP_CONCAT(DISTINCT(?label); separator=", ") AS ?place_labels) ?idBbma
WHERE
{
  ?entity wdt:P2 wd:Q167 .
  OPTIONAL { ?entity wdt:P201 ?place }
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "fr".
    ?place rdfs:label ?label .
  }
}
GROUP BY ?entity ?entityLabel ?idBbma
ORDER BY ?entityLabel

Try it!

Oeuvres (liste complète)

SELECT ?entity ?entityLabel ?authorLabel ?idBbma
WHERE
{
  ?entity wdt:P2 wd:Q282950 ;
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  OPTIONAL { ?entity wdt:P354 ?author }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
ORDER BY ?entityLabel

Try it!

Manuscrits (liste complète)

SELECT ?entity ?entityLabel ?digitUrl ?manifestUrl ?idBbma
WHERE
{
  ?entity wdt:P2 wd:Q32810 ;
          wdt:P195 ?shelfmark .
  OPTIONAL { ?entity wdt:P197 ?digitUrl }
  OPTIONAL { ?entity wdt:P196 ?manifestUrl }
  #OPTIONAL { ?entity wdt:P194 ?collection }
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
ORDER BY ?entityLabel

Try it!

Manuscrits (répartition par bibliothèque)

#defaultView:BubbleChart
SELECT ?collectionLabel (COUNT(?entity) AS ?count)
WHERE
{
  { ?entity wdt:P2 wd:Q32810 } UNION { ?entity wdt:P2 wd:Q113619 }
  ?entity wdt:P194 ?collection .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?collectionLabel
ORDER BY ?count

Try it!

Manuscrits numérisés (répartition par bibnum)

#defaultView:BubbleChart
SELECT ?digital_library (COUNT(?entity) AS ?number_of_digitized_objects)
WHERE
{
  { ?entity wdt:P2 wd:Q32810 } UNION { ?entity wdt:P2 wd:Q113619 }
  ?entity p:P197 ?digiStmt .
  ?digiStmt ps:P197 ?digitUrl ;
            pq:P191 ?digiLib .
  
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "fr".
    ?digiLib rdfs:label ?digital_library .
  }
}
GROUP BY ?digital_library

Try it!

Bibliothèques numériques IIIF

SELECT ?entity ?entityLabel (GROUP_CONCAT(DISTINCT(?operatorLabel); separator="; ") AS ?institution) ?website ?licenseLabel ?iiifcollectionUrl ?seeAlsoFormat
WHERE
{
  ?entity wdt:P2 wd:Q32805 ;
          wdt:P193 wd:Q32808 .
  OPTIONAL { ?entity wdt:P200 ?operator }
  OPTIONAL { ?entity wdt:P188 ?website }
  OPTIONAL { ?entity wdt:P187 ?license }
  OPTIONAL { ?entity wdt:P189 ?iiifcollectionUrl }
  OPTIONAL { ?entity wdt:P192 ?seeAlsoFormat }
  #FILTER EXISTS { ?entity wdt:P193 wd:Q32808 }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "fr" .
    ?operator rdfs:label ?operatorLabel .
    ?entity rdfs:label ?entityLabel .
    ?license rdfs:label ?licenseLabel .
  }
}
GROUP BY ?entity ?entityLabel ?website ?licenseLabel ?iiifcollectionUrl ?seeAlsoFormat
ORDER BY ?institution

Try it!

Jeux de données

#Jeux de données
SELECT DISTINCT ?entity ?entityLabel ?description ?url ?operatorLabel ?licenceLabel ?propId ?propId_label
WHERE
{
  ?entity wdt:P2 wd:Q313297 .
  OPTIONAL { 
    ?entity schema:description ?description .
    FILTER (lang(?description) = 'fr')
  }
  OPTIONAL { 
    ?entity wdt:P188 ?url .
  }
  OPTIONAL { 
    ?entity wdt:P200 ?operator .
  }
  OPTIONAL { 
    ?entity wdt:P187 ?licence .
  }
  OPTIONAL { 
    ?entity wdt:P363 ?propId .
    ?propId rdfs:label ?propId_label .
    FILTER (lang(?propId_label) = 'fr')
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
ORDER BY ?entity

Try it!

Entités associées à un jeu de données

# Entités associées à un jeu de données
SELECT ?entity ?entityLabel ?entityTypeLabel ?id ?sourceUrl
WHERE {
  #--- cibler un ou plusieurs dataset en particulier
  VALUES ?dataset {
    wd:Q313323 # Regecart
    #wd:Q287582 # BVH
  }
  
  #--- cibler un ou plusieurs types d'entité (optionnel, laisser décommenter pour requêter sur tous les types)
  #VALUES ?entityType {
    #wd:Q32810 # manuscrit
    #wd:Q113619 # imprimé
  #}
  
  ?dataset wdt:P2 wd:Q313297 ; # type "jeu de données"
           wdt:P363 ?propId . # prop id du dataset (propriété d'identifiant)
  ?propId wikibase:directClaim ?propIdDirect .
  
  # construit l'url de l'entité sur le site source
  ?propId wdt:P108 ?formatterUrl .
  BIND(IRI(REPLACE(?id, '^(.+)$', ?formatterUrl)) AS ?sourceUrl).
  
  ?entity ?propIdDirect ?id ; # entité avec cette prop id
        wdt:P2 ?entityType .
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en". }
}

Try it!

Autres requêtes

Requêtes pour des extractions ciblées, pour la maintenance...


Personnes avec 2 ID bbma

SELECT ?entity ?entityLabel (count(?idBbma) as ?id)
WHERE
{
  ?entity wdt:P2 wd:Q168 ;
          wdt:P129 ?idBbma .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?entity ?entityLabel ?id
HAVING (?id > 1)

Try it!

Organisations avec RCR et disposant de moins de 20 cotes

SELECT ?org ?orgLabel ?placeLabel (count(?item) as ?count)
WHERE
{
  { ?item wdt:P2 wd:Q32810 } UNION { ?item wdt:P2 wd:Q113619 }
  ?item wdt:P194 ?org .
  ?org wdt:P2 wd:Q167 ;
       wdt:P201 ?place ;
       wdt:P202 ?rcr .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?org ?orgLabel ?placeLabel
HAVING (?count < 20)
ORDER BY ?orgLabel

Try it!

Manuscrits détruits

SELECT ?item ?itemLabel
WHERE
{
  ?item p:P2 [
        ps:P2 wd:Q32810 ;
        pq:P281 wd:Q120866
  ] .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}

Try it!

Entités alignées vers le catalogue BnF

SELECT ?entity ?bnfId ?bnfUri ?entityLabel
WHERE {
  ?entity wdt:P109 ?bnfId .
  wd:P109 wdt:P108 ?formatterUrl .
  BIND(IRI(REPLACE(?bnfId, '^(.+)$', ?formatterUrl)) AS ?bnfUri).
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}

Try it!

Entités alignées avec la DNB

SELECT ?entity ?gndId ?gndUri ?entityLabel
WHERE {
  ?entity wdt:P111 ?gndId .
  wd:P111 wdt:P108 ?formatterUrl .
  BIND(IRI(REPLACE(?gndId, '^(.+)$', ?formatterUrl)) AS ?gndUri).
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}

Try it!


Entités alignées avec Persée ou IdRef

SELECT ?entity ?entityLabel (GROUP_CONCAT(DISTINCT(?typeLabel); separator=", ") AS ?typeLabel) (GROUP_CONCAT(DISTINCT(?uri); separator="###") AS ?uri)
WHERE {
  ?entity ?property ?Id ;
          wdt:P2 ?type .
  ?type rdfs:label ?typeLabel .
  ?prop wikibase:directClaim ?property ;
        rdf:type wikibase:Property ;
        wikibase:propertyType wikibase:ExternalId ;
        wdt:P108 ?formatterUrl .
  FILTER ( CONTAINS(?formatterUrl, "persee") || CONTAINS(?formatterUrl, "idref") ) .
  BIND(IRI(REPLACE(?Id, '^(.+)$', ?formatterUrl)) AS ?uri) .
  FILTER(LANG(?typeLabel) = "fr") .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?entity ?entityLabel

Try it!

Entités personnes issues des bases de l'IRHT

SELECT DISTINCT ?entity 
(GROUP_CONCAT(?idbbma; separator="###") AS ?id_portail_biblissima)
(GROUP_CONCAT(?idbibale; separator="###") AS ?id_bibale)
(GROUP_CONCAT(?idjonas; separator="###") AS ?id_jonas)
(GROUP_CONCAT(?idpinakes; separator="###") AS ?id_pinakes)
(GROUP_CONCAT(?idinitiale; separator="###") AS ?id_initiale)
WHERE
{
    ?entity wdt:P2 wd:Q168 .
    OPTIONAL { ?entity wdt:P129 ?idbbma }
    OPTIONAL { ?entity wdt:P140 ?idjonas }
    OPTIONAL { ?entity wdt:P131 ?idbibale }
    OPTIONAL { ?entity wdt:P145 ?idpinakes }
    OPTIONAL { ?entity wdt:P139 ?idinitiale }
    FILTER(?idjonas != "" || ?idbibale != "" || ?idpinakes != "" || ?idinitiale != "")
}
GROUP BY ?entity

Try it!

Données sur les items numérisés

SELECT ?entity ?idbbma 
(GROUP_CONCAT(DISTINCT ?surrogates; SEPARATOR = "###") AS ?surrogate) 
(GROUP_CONCAT(DISTINCT ?manifests; SEPARATOR = "###") AS ?manifest) 
(GROUP_CONCAT(DISTINCT ?digitTypeLabel; SEPARATOR = "###") AS ?type_label)
(GROUP_CONCAT(DISTINCT ?dsTypeLabel; SEPARATOR = "###") AS ?ds_type_label) 

WHERE {
  VALUES ?filter {
    wd:Q32810
    wd:Q113619
  }
  ?entity wdt:P129 ?uncleaned_idbbma;
    wdt:P2 ?filter;
    wdt:P197 ?surrogates;
  OPTIONAL {
    ?entity p:P197 ?ds_stmt.
    ?ds_stmt pq:P279 ?dsType.
    ?dsType rdfs:label ?_dsTypeLabel.
    FILTER((LANG(?_dsTypeLabel)) = "fr")
  }
  OPTIONAL {
    ?entity wdt:P196 ?manifests ;
    OPTIONAL {
      ?entity p:P196 ?manifest_stmt.
      ?manifest_stmt pq:P279 ?digitType.
      ?digitType rdfs:label ?_digitTypeLabel.
      FILTER((LANG(?_digitTypeLabel)) = "fr")
    }
  }

  BIND(REPLACE(?uncleaned_idbbma, '^[im]data', '') AS ?idbbma)
  BIND(COALESCE(?_dsTypeLabel, "<no label>") AS ?dsTypeLabel)
  BIND(COALESCE(?_digitTypeLabel, "<no label>") AS ?digitTypeLabel).

}
GROUP BY ?entity ?idbbma
ORDER BY ?entity
LIMIT 20000

Try it!

Entités fusionnées/redirigées

SELECT ?olditem ?newItem ?newItemLabel
WHERE {
  ?olditem owl:sameAs ?newItem .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr" }
}
LIMIT 1000

Try it!

Entités avec manifest archive.org

SELECT ?entity ?manifest_url
WHERE
{
  { ?entity wdt:P2 wd:Q32810 } UNION { ?entity wdt:P2 wd:Q113619 }
  ?entity p:P196 ?mfStmt .
  ?mfStmt ps:P196 ?manifest_url ;
          pq:P191 wd:Q78754 .

  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "fr".
  }
}

Try it!

Standards de métadonnées référencés dans la propriété "seeAlso" (IIIF)

SELECT DISTINCT ?schema
WHERE {
  ?entity wdt:P2 wd:Q32805 ;
          wdt:P192 ?schema .
}

Try it!

Entités avec bibliographie, en récupérant le QID du référentiel biblio pour chaque entrée

SELECT 
?entity 
?entityLabel 
(GROUP_CONCAT(DISTINCT ?biblio_qid; SEPARATOR = "###") AS ?biblios_qids) 
WHERE {
  ?entity p:P379 ?biblio_stmt.
  ?biblio_stmt pq:P380 ?QID;
               ps:P379 ?biblio_value.
  BIND(CONCAT(?biblio_value, "%%", ?QID) AS ?biblio_qid)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?entity ?entityLabel
ORDER BY (?entityLabel)

Try it!

Inscriptions des CIFM

SELECT ?entity ?label ?labelBbma ?idBbma (GROUP_CONCAT(DISTINCT ?manifests; SEPARATOR = "###") AS ?manifest)
WHERE
{
  ?entity wdt:P2 wd:Q257483 ;
          rdfs:label ?label ;
          wdt:P195 ?labelBbma .
  OPTIONAL { ?entity wdt:P129 ?idBbma }
  OPTIONAL {
    ?entity wdt:P196 ?manifests ;
    OPTIONAL {
      ?entity p:P196 ?manifest_stmt.
    }
  }
  FILTER langMatches(LANG(?label), "fr")
  FILTER (regex(?label, "CIFM")) .
}
GROUP BY ?entity ?label ?labelBbma ?idBbma

Try it!