SlideShare une entreprise Scribd logo
Découverte du
SPARQL Endpoint de HAL
Gautier Poupeau ,
gautier.poupeau@gmail.com
@lespetitescases
http://www.lespetitescases.net
Web sémantique dans HAL
• Un sparql endpoint
https://data.archives-ouvertes.fr/sparql
dont la documentation est disponible à
https://data.archives-ouvertes.fr/doc/schema
• Des dumps calculés une fois par mois
https://data.archives-ouvertes.fr/backup
• Pas de négociation de contenu 
https://data.archives-ouvertes.fr/
Le modèle des documents (1)
Exemple : https://data.archives-ouvertes.fr/document/hal-00000001v2
Le modèle des documents (2)
Document
versionné
document/
hal-00000001v2
Document
document/
hal-00000001
Fichier PDF
hal-
00000001v2/file/mq-
anglais.pdf
dcterms:hasVersion
ore:aggregates
Type de
document
Fabio URI
rdf:type
Auteur
Nœud blanc
dcterms:creator
Forme de
l’auteur
author/63529
hal:person
Stringfoaf:name
Astuce 1
trouver l’URI correspondant à un préfixe
Vous saisissez le préfixe
Le système renvoie une ou
plusieurs URIs
correspondantes
Astuce 2
Liste des préfixes intéressants pour HAL
PREFIX doctype: <https://data.archives-ouvertes.fr/doctype/>
PREFIX doc: <https://data.archives-ouvertes.fr/document/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX fabio: <http://purl.org/spar/fabio/>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX hal: <http://data.archives-ouvertes.fr/schema/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX cerif: <http://www.eurocris.org/ontologies/cerif/1.3/>
Rechercher les métadonnées associées à toutes les versions d’un document
URI utile
Document : https://data.archives-ouvertes.fr/document/inria-00362381
Exercice 1
select ?version ?p ?object
where
{
doc:inria-00362381 dcterms:hasVersion ?version.
?version ?p ?object.
}
Rechercher l’URI, le titre, le lien vers le PDF et les auteurs des différentes version du
document
URI utile
Document : https://data.archives-ouvertes.fr/document/inria-00362381
Exercice 2
select ?version ?title ?pdf ?person ?name
where
{
doc:inria-00362381 dcterms:hasVersion ?version.
?version dcterms:title ?title; dcterms:creator ?creator; ore:aggregates ?pdf.
?creator hal:person ?person.
?person foaf:name ?name
}
Astuce 3
concaténer les réponses d’une variable
select ?version ?title ?pdf GROUP_CONCAT(?name,',') AS ?authors
where
{
doc:inria-00362381 dcterms:hasVersion ?version.
?version dcterms:title ?title; dcterms:creator ?creator; ore:aggregates ?pdf.
?creator hal:person ?person.
?person foaf:name ?name
}
GROUP BY ?version ?title ?pdf
On regroupe les résultats par tous les autres éléments de la requête
On utilise le mot-clé GROUP_CONCAT(?variable,séparateur)
Type de dépôt et domaine
Exemple : https://data.archives-ouvertes.fr/doctype/Article
Rechercher l’URI et l’étiquette préférentielle des types de documents correspondants aux
différentes version d’un document
URI utile
Document : https://data.archives-ouvertes.fr/document/inria-00362381
Exercice 3
select ?version ?type ?label
where
{
doc:inria-00362381 dcterms:hasVersion ?version.
?version dcterms:type ?type.
?type skos:prefLabel ?label.
}
Astuce 4
Afficher uniquement la chaîne en français
select ?version ?type ?label
where
{
doc:inria-00362381 dcterms:hasVersion ?version.
?version dcterms:type ?type.
?type skos:prefLabel ?label.
FILTER (lang(?label)='fr')
}
Utilisation du mot-clé « FILTER »
Afficher l’étiquette préférentielle de tous les types de documents distincts avec la forme
« Fabien Gandon » pour auteur
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
Exercice 4
select DISTINCT ?label
where
{
?document dcterms:hasVersion ?version.
?version dcterms:creator ?creator; dcterms:type ?type.
?creator hal:person <https://data.archives-ouvertes.fr/author/827904>.
?type skos:prefLabel ?label.
FILTER (lang(?label)='fr')
}
Astuce 5
Utiliser les opérateurs d’agrégation
count, sum, avg, min, max
select count(distinct ?person) AS ?nbPerson
where
{
doc:inria-00362381 dcterms:hasVersion ?version.
?version dcterms:creator ?creator.
?creator hal:person ?person
}
Rechercher le nombre d’auteurs d’un document toutes versions confondues
URI utile
Document : https://data.archives-ouvertes.fr/document/inria-00362381
Astuce 5
Utiliser les opérateurs d’agrégation
count, sum, avg, min, max
select ?version, count(distinct ?person) AS ?nbperson
where
{
doc:inria-00362381 dcterms:hasVersion ?version.
?version dcterms:creator ?creator.
?creator hal:person ?person
}
GROUP BY ?version
Rechercher le nombre d’auteurs par version d’un document
URI utile
Document : https://data.archives-ouvertes.fr/document/inria-00362381
Afficher le nombre de documents pour chaque types de documents distincts avec la forme
« Fabien Gandon » pour auteur
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
Exercice 5
select ?type ?label count(distinct ?document)
where
{
?document dcterms:hasVersion ?version.
?version dcterms:creator ?creator; dcterms:type ?type.
?creator hal:person <https://data.archives-ouvertes.fr/author/827904>.
?type skos:prefLabel ?label.
FILTER (lang(?label)='fr')
}
GROUP BY ?type ?label
Astuce 6
Ordonner un résultat
select ?type ?label count(distinct ?document) AS ?nbdoc
where
{
?document dcterms:hasVersion ?version.
?version dcterms:creator ?creator; dcterms:type ?type.
?creator hal:person <https://data.archives-ouvertes.fr/author/827904>.
?type skos:prefLabel ?label.
FILTER (lang(?label)='fr')
}
GROUP BY ?type ?label
ORDER BY DESC(?nbdoc)
Afficher de manière décroissante le nombre de documents pour chaque types de
documents distincts avec la forme « Fabien Gandon » pour auteur
URI utile
Document : https://data.archives-ouvertes.fr/document/inria-00362381
Astuce 7
Manipuler les dates
Afficher le nombre de document associé à la forme « Fabrien Gandon » par an
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
select year(?date) count(distinct ?document)
where
{
?document dcterms:hasVersion ?version.
?version dcterms:creator ?creator; dcterms:issued ?date.
?creator hal:person <https://data.archives-ouvertes.fr/author/827904>.
}
GROUP BY year(?date)
ORDER BY year(?date)
Afficher le nombre de documents pour chaque types de documents et chaque année avec
la forme « Fabien Gandon » pour auteur et ordonnée par année
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
Exercice 7
select year(?date) ?label count(distinct ?document)
where
{
?document dcterms:hasVersion ?version.
?version dcterms:creator ?creator; dcterms:issued ?date; dcterms:type ?type.
?creator hal:person <https://data.archives-ouvertes.fr/author/827904>.
?type skos:prefLabel ?label.
FILTER (lang(?label)='fr')
}
GROUP BY year(?date) ?label
ORDER BY year(?date)
Modèle pour la forme d’un auteur
Exemple : https://data.archives-ouvertes.fr/author/827904
Afficher toutes les métadonnées associées à la forme « Fabien Gandon »
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
Exercice 8
select ?p ?o
where
{
<https://data.archives-ouvertes.fr/author/827904> ?p ?o
}
Afficher les URIs de toutes les formes associées à la forme « Fabien Gandon » via l’IdHAL
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
Exercice 9
select ?forme
where
{
<https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?o.
?forme ore:isAggregatedBy ?o.
}
Afficher le nombre de documents associés à chaque forme associés à l’IdHAL relié à la
forme « Fabien Gandon »
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
Exercice 10
select ?forme count(DISTINCT ?document)
where
{
<https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?o.
?forme ore:isAggregatedBy ?o.
?creator hal:person ?forme.
?version dcterms:creator ?creator.
?document dcterms:hasVersion ?version
}
GROUP BY ?forme
Afficher le nombre de documents associés à chaque forme associés à l’IdHAL relié à la
forme Fabien Gandon par an
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
Exercice 11
select year(?date) AS ?year count(DISTINCT ?document) AS ?nbdoc
where
{
<https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?o.
?forme ore:isAggregatedBy ?o.
?creator hal:person ?forme.
?version dcterms:creator ?creator; dcterms:issued ?date.
?document dcterms:hasVersion ?version
}
GROUP BY year(?date)
Astuce 8
Requête et sous requête
Afficher la moyenne des documents par an associés à toutes les formes liées à « Fabien
Gandon »
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
SELECT avg(?nbdoc)
WHERE {
select year(?date) AS ?year count(DISTINCT ?document) AS ?nbdoc
where
{
<https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?o.
?forme ore:isAggregatedBy ?o.
?creator hal:person ?forme.
?version dcterms:creator ?creator; dcterms:issued ?date.
?document dcterms:hasVersion ?version
}
GROUP BY year(?date)
}
Afficher tous les identifiants externes liées à Fabien Gandon
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
Exercice 12
select DISTINCT ?idhal ?identifiant
where
{
<https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?idhal.
?forme ore:isAggregatedBy ?idhal.
?forme owl:sameAs ?identifiant
}
Astuce 9
Faire une recherche dans une chaîne de caractères
Afficher les identifiants ORCID distincts liés à toutes les formes liées à « Fabien Gandon »
URI utile
Forme auteur : https://data.archives-ouvertes.fr/author/827904
select DISTINCT ?idhal ?orcid
where
{
<https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?idhal.
?forme ore:isAggregatedBy ?idhal.
?forme owl:sameAs ?orcid.
FILTER regex(str(?orcid), 'orcid.org')
}
Afficher les identifiants ORCID de tous les membres d’INRIA et pour chaque ORCID,
concaténer les différentes URIs des formes associées
URI utile
INRIA : https://data.archives-ouvertes.fr/structure/300009
Exercice 13
select ?orcid ?name GROUP_CONCAT(str(?forme),',')
where
{
?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>;
foaf:name ?name;
owl:sameAs ?orcid.
FILTER regex(str(?orcid),'orcid.org')
}
GROUP BY ?orcid ?name
ORDER BY ?name
Afficher tous les membres d’INRIA et pour chaque membre, éventuellement l’identifiant
ORCID et l’identifiant idHal
URI utile
INRIA : https://data.archives-ouvertes.fr/structure/300009
Astuce 10
OPTIONAL
select DISTINCT ?name ?orcid ?idHal
where
{
?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>;
foaf:name ?name.
OPTIONAL {?forme owl:sameAs ?orcid. FILTER regex(?orcid,'orcid.org')}
OPTIONAL {?forme ore:isAggregatedBy ?idHal}
}
ORDER BY ?name
Astuce 11
La négation
Afficher les membres qui ont un identifiant idHAL mais pas d’ORCID
URI utile
INRIA : https://data.archives-ouvertes.fr/structure/300009
select DISTINCT ?idHal ?name
where
{
?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>;
foaf:name ?name; ore:isAggregatedBy ?idHal
FILTER NOT EXISTS {?forme owl:sameAs ?orcid. FILTER regex(?orcid,'orcid.org')}
}
ORDER BY ?name
Afficher tous les membres d’INRIA qui n’ont pas d’identifiant idHAL et concaténés par la
forme
URI utile
INRIA : https://data.archives-ouvertes.fr/structure/300009
Exercice 14
select ?name, GROUP_CONCAT(str(?forme), '|')
where
{
?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>;
foaf:name ?name.
FILTER NOT EXISTS {?forme ore:isAggregatedBy ?idHal}
}
GROUP BY ?name
ORDER BY ?name
Afficher tous les domaines des membres d’INRIA et pour chaque domaine le nombre de
documents associés ordonné de manière décroissante
URI utile
INRIA : https://data.archives-ouvertes.fr/structure/300009
Exercice 15
select ?topic ?prefLabel count(DISTINCT ?document) AS ?nbdoc
where
{
?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>.
?version hal:topic ?topic; dcterms:creator ?creator.
?creator hal:person ?forme.
?topic skos:prefLabel ?prefLabel.
?document dcterms:hasVersion ?version.
FILTER (lang(?prefLabel)='fr')
}
GROUP BY ?topic ?prefLabel
ORDER BY DESC(?nbdoc)
Afficher tous les co-auteurs de Fabien Gandon et le nombre d’articles pour chacun d’entre
eux
URI utile
idHal de Fabien Gandon : https://data.archives-ouvertes.fr/structure/300009
Exercice 16
select ?name count(DISTINCT ?document) AS ?nbdoc
where
{
?forme ore:isAggregatedBy <https://data.archives-ouvertes.fr/author/fabien-
gandon>.
?version hal:topic ?topic; dcterms:creator ?creator.
?creator hal:person ?forme.
?document dcterms:hasVersion ?version.
?version dcterms:creator ?autresCreator.
?autresCreator hal:person ?autresformes.
?autresformes foaf:name ?name.
FILTER (?name !='Fabien Gandon')
}
GROUP BY ?name
ORDER BY DESC(?nbdoc)
Astuce 12
Limiter les résultats de comptage
Afficher tous les co-auteurs de Fabien Gandon et le nombre d’articles pour chacun d’entre
eux et ayant plus de 1 document en commun
URI utile
idHal de Fabien Gandon : https://data.archives-ouvertes.fr/author/fabien-gandon
select ?name count(DISTINCT ?document) AS ?nbdoc
where
{
?forme ore:isAggregatedBy <https://data.archives-ouvertes.fr/author/fabien-
gandon>.
?version hal:topic ?topic; dcterms:creator ?creator.
?creator hal:person ?forme.
?document dcterms:hasVersion ?version.
?version dcterms:creator ?autresCreator.
?autresCreator hal:person ?autresformes.
?autresformes foaf:name ?name.
FILTER (?name !='Fabien Gandon')
}
GROUP BY ?name
HAVING (count(DISTINCT ?document) > 1)
ORDER BY DESC(?nbdoc)
Modèle pour les personnes IdHAL
C’est beau mais malheureusement,
ce n’est pas dans le triple store 
Modèle pour les structures
Exemple : https://data.archives-ouvertes.fr/structure/300009
Afficher toutes les organisations et leur terme préférentiel
URI utile
Classe Organisation : http://www.w3.org/ns/org#Organization
INRIA : https://data.archives-ouvertes.fr/structure/300009
Exercice 17
select ?structure ?prefLabel
where
{
?structure a org:Organization; skos:prefLabel ?prefLabel.
}
Modèle pour les revues
https://data.archives-ouvertes.fr/revue/109707
Modèles pour les projets
Exemple : https://data.archives-ouvertes.fr/anrProject/1001
https://data.archives-ouvertes.fr/europeanProject/129494
Afficher toutes les projets ANR dont sont issues les documents écrits par des membres de
l’INRIA
URI utile
Classe projet : http://www.eurocris.org/ontologies/cerif/1.3/
INRIA : https://data.archives-ouvertes.fr/structure/300009
Exercice 18
select DISTINCT ?projet ?title ?acronym ?startDate
where
{
?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>.
?version dcterms:source ?projet; dcterms:creator ?creator.
?creator hal:person ?forme.
?projet a cerif:Project; cerif:title ?title; cerif:startDate ?startDate.
OPTIONAL {?projet cerif:acronym ?acronym}
FILTER regex(str(?projet),'anrProject')
}
ORDER BY DESC(?startDate)
Afficher toutes les projets ANR dont sont issues les documents écrits par des membres de
l’INRIA et pour chacun le nombre de documents associés
URI utile
Classe projet : http://www.eurocris.org/ontologies/cerif/1.3/
INRIA : https://data.archives-ouvertes.fr/structure/300009
Exercice 19
select ?projet ?title ?acronym ?startDate count(DISTINCT ?document) AS ?nbdoc
where
{
?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>.
?version dcterms:source ?projet; dcterms:creator ?creator.
?creator hal:person ?forme.
?projet a cerif:Project; cerif:title ?title; cerif:startDate ?startDate.
OPTIONAL {?projet cerif:acronym ?acronym}
FILTER regex(str(?projet),'anrProject')
?document dcterms:hasVersion ?version.
}
GROUP BY ?projet ?title ?acronym ?startDate
ORDER BY DESC(?nbdoc)

Contenu connexe

Tendances

File system node js
File system node jsFile system node js
File system node js
monikadeshmane
 
SPARQL Tutorial
SPARQL TutorialSPARQL Tutorial
SPARQL Tutorial
Leigh Dodds
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
Ismaeel Enjreny
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
pmanvi
 
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Simplilearn
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantique
Stéphane Traumat
 
Assessing Graph Solutions for Apache Spark
Assessing Graph Solutions for Apache SparkAssessing Graph Solutions for Apache Spark
Assessing Graph Solutions for Apache Spark
Databricks
 
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Julien Le Dem
 
PHP
PHPPHP
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Edureka!
 
SPARQL in a nutshell
SPARQL in a nutshellSPARQL in a nutshell
SPARQL in a nutshell
Fabien Gandon
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
Rahul Jain
 
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuVirtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Flink Forward
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et Développement
Mohamed hedi Abidi
 
Introduction aux RDF & SPARQL
Introduction aux RDF & SPARQLIntroduction aux RDF & SPARQL
Introduction aux RDF & SPARQLOpen Data Support
 
Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySpark
Russell Jurney
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearchFadel Chafai
 
Benchmark MinHash+LSH algorithm on Spark
Benchmark MinHash+LSH algorithm on SparkBenchmark MinHash+LSH algorithm on Spark
Benchmark MinHash+LSH algorithm on Spark
Xiaoqian Liu
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
yboussard
 
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Modern Data Stack France
 

Tendances (20)

File system node js
File system node jsFile system node js
File system node js
 
SPARQL Tutorial
SPARQL TutorialSPARQL Tutorial
SPARQL Tutorial
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantique
 
Assessing Graph Solutions for Apache Spark
Assessing Graph Solutions for Apache SparkAssessing Graph Solutions for Apache Spark
Assessing Graph Solutions for Apache Spark
 
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
 
PHP
PHPPHP
PHP
 
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...
 
SPARQL in a nutshell
SPARQL in a nutshellSPARQL in a nutshell
SPARQL in a nutshell
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuVirtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et Développement
 
Introduction aux RDF & SPARQL
Introduction aux RDF & SPARQLIntroduction aux RDF & SPARQL
Introduction aux RDF & SPARQL
 
Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySpark
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearch
 
Benchmark MinHash+LSH algorithm on Spark
Benchmark MinHash+LSH algorithm on SparkBenchmark MinHash+LSH algorithm on Spark
Benchmark MinHash+LSH algorithm on Spark
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
 

Similaire à Découverte du SPARQL endpoint de HAL

Réseau Aramis : journée de familiarisation aux API de HAL - 25 février 2015
Réseau Aramis : journée de familiarisation aux API de HAL -  25 février 2015Réseau Aramis : journée de familiarisation aux API de HAL -  25 février 2015
Réseau Aramis : journée de familiarisation aux API de HAL - 25 février 2015
OAccsd
 
CIDOC-CRM + SPARQL Tutorial sur les données Doremus
CIDOC-CRM + SPARQL Tutorial sur les données DoremusCIDOC-CRM + SPARQL Tutorial sur les données Doremus
CIDOC-CRM + SPARQL Tutorial sur les données Doremus
Thomas Francart
 
Carrefour IST : Identifiants et référentiels dans HAL
Carrefour IST : Identifiants et référentiels dans HALCarrefour IST : Identifiants et référentiels dans HAL
Carrefour IST : Identifiants et référentiels dans HAL
OAccsd
 
Oxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overviewOxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overview
Ludovic Piot
 
Oxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic Search
Oxalide
 
HAL fonctionnalités avancées juin2015
HAL fonctionnalités avancées juin2015HAL fonctionnalités avancées juin2015
HAL fonctionnalités avancées juin2015
OAccsd
 
JABES 2018 - Focus sur l'exposition des données
JABES 2018 - Focus sur l'exposition des donnéesJABES 2018 - Focus sur l'exposition des données
JABES 2018 - Focus sur l'exposition des données
ABES
 
HAL : optimisation du referencement et de la diffusion des contenus
HAL : optimisation du referencement et de la diffusion des contenusHAL : optimisation du referencement et de la diffusion des contenus
HAL : optimisation du referencement et de la diffusion des contenus
OAccsd
 
SPARQL-Generate, présentation SemWeb.Pro 2019
SPARQL-Generate, présentation SemWeb.Pro 2019SPARQL-Generate, présentation SemWeb.Pro 2019
SPARQL-Generate, présentation SemWeb.Pro 2019
Maxime Lefrançois
 
Sudoc, Calames, theses.fr et le Web de données
Sudoc, Calames, theses.fr et le Web de donnéesSudoc, Calames, theses.fr et le Web de données
Sudoc, Calames, theses.fr et le Web de données
Y. Nicolas
 
Les API de recherche de HAL
Les API de recherche de HALLes API de recherche de HAL
Les API de recherche de HAL
OAccsd
 
Tout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pasTout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pas
Bruno Bonnin
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
David Pilato
 
TEI HAL - import SWORD
TEI HAL - import SWORDTEI HAL - import SWORD
TEI HAL - import SWORD
OAccsd
 
End note x6
End note x6End note x6
End note x6
fcohen
 
Introduction_à_Endnote_Vary_Ricq
Introduction_à_Endnote_Vary_RicqIntroduction_à_Endnote_Vary_Ricq
Introduction_à_Endnote_Vary_RicqCatherine Ann Vary
 
le web sémantique : un web de métadonnées
le web sémantique : un web de métadonnéesle web sémantique : un web de métadonnées
le web sémantique : un web de métadonnées
ABES
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec Symfony
Hugo Hamon
 
Elasticsearch - Esme sudria
Elasticsearch - Esme sudriaElasticsearch - Esme sudria
Elasticsearch - Esme sudria
David Pilato
 
Guide de la recherche sur internet
Guide de la recherche sur internetGuide de la recherche sur internet
Guide de la recherche sur internetYoussef Bensafi
 

Similaire à Découverte du SPARQL endpoint de HAL (20)

Réseau Aramis : journée de familiarisation aux API de HAL - 25 février 2015
Réseau Aramis : journée de familiarisation aux API de HAL -  25 février 2015Réseau Aramis : journée de familiarisation aux API de HAL -  25 février 2015
Réseau Aramis : journée de familiarisation aux API de HAL - 25 février 2015
 
CIDOC-CRM + SPARQL Tutorial sur les données Doremus
CIDOC-CRM + SPARQL Tutorial sur les données DoremusCIDOC-CRM + SPARQL Tutorial sur les données Doremus
CIDOC-CRM + SPARQL Tutorial sur les données Doremus
 
Carrefour IST : Identifiants et référentiels dans HAL
Carrefour IST : Identifiants et référentiels dans HALCarrefour IST : Identifiants et référentiels dans HAL
Carrefour IST : Identifiants et référentiels dans HAL
 
Oxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overviewOxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overview
 
Oxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic Search
 
HAL fonctionnalités avancées juin2015
HAL fonctionnalités avancées juin2015HAL fonctionnalités avancées juin2015
HAL fonctionnalités avancées juin2015
 
JABES 2018 - Focus sur l'exposition des données
JABES 2018 - Focus sur l'exposition des donnéesJABES 2018 - Focus sur l'exposition des données
JABES 2018 - Focus sur l'exposition des données
 
HAL : optimisation du referencement et de la diffusion des contenus
HAL : optimisation du referencement et de la diffusion des contenusHAL : optimisation du referencement et de la diffusion des contenus
HAL : optimisation du referencement et de la diffusion des contenus
 
SPARQL-Generate, présentation SemWeb.Pro 2019
SPARQL-Generate, présentation SemWeb.Pro 2019SPARQL-Generate, présentation SemWeb.Pro 2019
SPARQL-Generate, présentation SemWeb.Pro 2019
 
Sudoc, Calames, theses.fr et le Web de données
Sudoc, Calames, theses.fr et le Web de donnéesSudoc, Calames, theses.fr et le Web de données
Sudoc, Calames, theses.fr et le Web de données
 
Les API de recherche de HAL
Les API de recherche de HALLes API de recherche de HAL
Les API de recherche de HAL
 
Tout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pasTout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pas
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
 
TEI HAL - import SWORD
TEI HAL - import SWORDTEI HAL - import SWORD
TEI HAL - import SWORD
 
End note x6
End note x6End note x6
End note x6
 
Introduction_à_Endnote_Vary_Ricq
Introduction_à_Endnote_Vary_RicqIntroduction_à_Endnote_Vary_Ricq
Introduction_à_Endnote_Vary_Ricq
 
le web sémantique : un web de métadonnées
le web sémantique : un web de métadonnéesle web sémantique : un web de métadonnées
le web sémantique : un web de métadonnées
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec Symfony
 
Elasticsearch - Esme sudria
Elasticsearch - Esme sudriaElasticsearch - Esme sudria
Elasticsearch - Esme sudria
 
Guide de la recherche sur internet
Guide de la recherche sur internetGuide de la recherche sur internet
Guide de la recherche sur internet
 

Plus de Gautier Poupeau

Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Gautier Poupeau
 
Why I don't use Semantic Web technologies anymore, event if they still influe...
Why I don't use Semantic Web technologies anymore, event if they still influe...Why I don't use Semantic Web technologies anymore, event if they still influe...
Why I don't use Semantic Web technologies anymore, event if they still influe...
Gautier Poupeau
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Gautier Poupeau
 
Visite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des donnéesVisite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des données
Gautier Poupeau
 
Visite guidée au pays de la donnée - Introduction et tour d'horizon
Visite guidée au pays de la donnée - Introduction et tour d'horizonVisite guidée au pays de la donnée - Introduction et tour d'horizon
Visite guidée au pays de la donnée - Introduction et tour d'horizon
Gautier Poupeau
 
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
Gautier Poupeau
 
Big data, Intelligence artificielle, quelles conséquences pour les profession...
Big data, Intelligence artificielle, quelles conséquences pour les profession...Big data, Intelligence artificielle, quelles conséquences pour les profession...
Big data, Intelligence artificielle, quelles conséquences pour les profession...
Gautier Poupeau
 
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
Gautier Poupeau
 
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Gautier Poupeau
 
Data in the center of the Information System
Data in the center of the Information SystemData in the center of the Information System
Data in the center of the Information System
Gautier Poupeau
 
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
Gautier Poupeau
 
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
Gautier Poupeau
 
Information numérique : défintions et enjeux
Information numérique : défintions et enjeuxInformation numérique : défintions et enjeux
Information numérique : défintions et enjeux
Gautier Poupeau
 
Les professionnels de l'information face aux défis du Web de données
Les professionnels de l'information face aux défis du Web de donnéesLes professionnels de l'information face aux défis du Web de données
Les professionnels de l'information face aux défis du Web de données
Gautier Poupeau
 
L’apport des technologies du Web sémantique à la gestion des données structur...
L’apport des technologies du Web sémantique à la gestion des données structur...L’apport des technologies du Web sémantique à la gestion des données structur...
L’apport des technologies du Web sémantique à la gestion des données structur...
Gautier Poupeau
 
Index nominum to ontology
Index nominum to ontologyIndex nominum to ontology
Index nominum to ontology
Gautier Poupeau
 
Le Web de données et les bibliothèques
Le Web de données et les bibliothèquesLe Web de données et les bibliothèques
Le Web de données et les bibliothèques
Gautier Poupeau
 
A la découverte du Web sémantique
A la découverte du Web sémantiqueA la découverte du Web sémantique
A la découverte du Web sémantique
Gautier Poupeau
 

Plus de Gautier Poupeau (19)

Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
 
Why I don't use Semantic Web technologies anymore, event if they still influe...
Why I don't use Semantic Web technologies anymore, event if they still influe...Why I don't use Semantic Web technologies anymore, event if they still influe...
Why I don't use Semantic Web technologies anymore, event if they still influe...
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
 
Visite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des donnéesVisite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des données
 
Visite guidée au pays de la donnée - Introduction et tour d'horizon
Visite guidée au pays de la donnée - Introduction et tour d'horizonVisite guidée au pays de la donnée - Introduction et tour d'horizon
Visite guidée au pays de la donnée - Introduction et tour d'horizon
 
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
 
Big data, Intelligence artificielle, quelles conséquences pour les profession...
Big data, Intelligence artificielle, quelles conséquences pour les profession...Big data, Intelligence artificielle, quelles conséquences pour les profession...
Big data, Intelligence artificielle, quelles conséquences pour les profession...
 
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
 
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
 
Data in the center of the Information System
Data in the center of the Information SystemData in the center of the Information System
Data in the center of the Information System
 
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
 
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
 
Information numérique : défintions et enjeux
Information numérique : défintions et enjeuxInformation numérique : défintions et enjeux
Information numérique : défintions et enjeux
 
Les professionnels de l'information face aux défis du Web de données
Les professionnels de l'information face aux défis du Web de donnéesLes professionnels de l'information face aux défis du Web de données
Les professionnels de l'information face aux défis du Web de données
 
L’apport des technologies du Web sémantique à la gestion des données structur...
L’apport des technologies du Web sémantique à la gestion des données structur...L’apport des technologies du Web sémantique à la gestion des données structur...
L’apport des technologies du Web sémantique à la gestion des données structur...
 
RDF en quelques slides
RDF en quelques slidesRDF en quelques slides
RDF en quelques slides
 
Index nominum to ontology
Index nominum to ontologyIndex nominum to ontology
Index nominum to ontology
 
Le Web de données et les bibliothèques
Le Web de données et les bibliothèquesLe Web de données et les bibliothèques
Le Web de données et les bibliothèques
 
A la découverte du Web sémantique
A la découverte du Web sémantiqueA la découverte du Web sémantique
A la découverte du Web sémantique
 

Dernier

OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 

Dernier (6)

OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 

Découverte du SPARQL endpoint de HAL

  • 1. Découverte du SPARQL Endpoint de HAL Gautier Poupeau , gautier.poupeau@gmail.com @lespetitescases http://www.lespetitescases.net
  • 2. Web sémantique dans HAL • Un sparql endpoint https://data.archives-ouvertes.fr/sparql dont la documentation est disponible à https://data.archives-ouvertes.fr/doc/schema • Des dumps calculés une fois par mois https://data.archives-ouvertes.fr/backup • Pas de négociation de contenu  https://data.archives-ouvertes.fr/
  • 3. Le modèle des documents (1) Exemple : https://data.archives-ouvertes.fr/document/hal-00000001v2
  • 4. Le modèle des documents (2) Document versionné document/ hal-00000001v2 Document document/ hal-00000001 Fichier PDF hal- 00000001v2/file/mq- anglais.pdf dcterms:hasVersion ore:aggregates Type de document Fabio URI rdf:type Auteur Nœud blanc dcterms:creator Forme de l’auteur author/63529 hal:person Stringfoaf:name
  • 5. Astuce 1 trouver l’URI correspondant à un préfixe Vous saisissez le préfixe Le système renvoie une ou plusieurs URIs correspondantes
  • 6. Astuce 2 Liste des préfixes intéressants pour HAL PREFIX doctype: <https://data.archives-ouvertes.fr/doctype/> PREFIX doc: <https://data.archives-ouvertes.fr/document/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX fabio: <http://purl.org/spar/fabio/> PREFIX ore: <http://www.openarchives.org/ore/terms/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX hal: <http://data.archives-ouvertes.fr/schema/> PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX org: <http://www.w3.org/ns/org#> PREFIX cerif: <http://www.eurocris.org/ontologies/cerif/1.3/>
  • 7. Rechercher les métadonnées associées à toutes les versions d’un document URI utile Document : https://data.archives-ouvertes.fr/document/inria-00362381 Exercice 1 select ?version ?p ?object where { doc:inria-00362381 dcterms:hasVersion ?version. ?version ?p ?object. }
  • 8. Rechercher l’URI, le titre, le lien vers le PDF et les auteurs des différentes version du document URI utile Document : https://data.archives-ouvertes.fr/document/inria-00362381 Exercice 2 select ?version ?title ?pdf ?person ?name where { doc:inria-00362381 dcterms:hasVersion ?version. ?version dcterms:title ?title; dcterms:creator ?creator; ore:aggregates ?pdf. ?creator hal:person ?person. ?person foaf:name ?name }
  • 9. Astuce 3 concaténer les réponses d’une variable select ?version ?title ?pdf GROUP_CONCAT(?name,',') AS ?authors where { doc:inria-00362381 dcterms:hasVersion ?version. ?version dcterms:title ?title; dcterms:creator ?creator; ore:aggregates ?pdf. ?creator hal:person ?person. ?person foaf:name ?name } GROUP BY ?version ?title ?pdf On regroupe les résultats par tous les autres éléments de la requête On utilise le mot-clé GROUP_CONCAT(?variable,séparateur)
  • 10. Type de dépôt et domaine Exemple : https://data.archives-ouvertes.fr/doctype/Article
  • 11. Rechercher l’URI et l’étiquette préférentielle des types de documents correspondants aux différentes version d’un document URI utile Document : https://data.archives-ouvertes.fr/document/inria-00362381 Exercice 3 select ?version ?type ?label where { doc:inria-00362381 dcterms:hasVersion ?version. ?version dcterms:type ?type. ?type skos:prefLabel ?label. }
  • 12. Astuce 4 Afficher uniquement la chaîne en français select ?version ?type ?label where { doc:inria-00362381 dcterms:hasVersion ?version. ?version dcterms:type ?type. ?type skos:prefLabel ?label. FILTER (lang(?label)='fr') } Utilisation du mot-clé « FILTER »
  • 13. Afficher l’étiquette préférentielle de tous les types de documents distincts avec la forme « Fabien Gandon » pour auteur URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 Exercice 4 select DISTINCT ?label where { ?document dcterms:hasVersion ?version. ?version dcterms:creator ?creator; dcterms:type ?type. ?creator hal:person <https://data.archives-ouvertes.fr/author/827904>. ?type skos:prefLabel ?label. FILTER (lang(?label)='fr') }
  • 14. Astuce 5 Utiliser les opérateurs d’agrégation count, sum, avg, min, max select count(distinct ?person) AS ?nbPerson where { doc:inria-00362381 dcterms:hasVersion ?version. ?version dcterms:creator ?creator. ?creator hal:person ?person } Rechercher le nombre d’auteurs d’un document toutes versions confondues URI utile Document : https://data.archives-ouvertes.fr/document/inria-00362381
  • 15. Astuce 5 Utiliser les opérateurs d’agrégation count, sum, avg, min, max select ?version, count(distinct ?person) AS ?nbperson where { doc:inria-00362381 dcterms:hasVersion ?version. ?version dcterms:creator ?creator. ?creator hal:person ?person } GROUP BY ?version Rechercher le nombre d’auteurs par version d’un document URI utile Document : https://data.archives-ouvertes.fr/document/inria-00362381
  • 16. Afficher le nombre de documents pour chaque types de documents distincts avec la forme « Fabien Gandon » pour auteur URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 Exercice 5 select ?type ?label count(distinct ?document) where { ?document dcterms:hasVersion ?version. ?version dcterms:creator ?creator; dcterms:type ?type. ?creator hal:person <https://data.archives-ouvertes.fr/author/827904>. ?type skos:prefLabel ?label. FILTER (lang(?label)='fr') } GROUP BY ?type ?label
  • 17. Astuce 6 Ordonner un résultat select ?type ?label count(distinct ?document) AS ?nbdoc where { ?document dcterms:hasVersion ?version. ?version dcterms:creator ?creator; dcterms:type ?type. ?creator hal:person <https://data.archives-ouvertes.fr/author/827904>. ?type skos:prefLabel ?label. FILTER (lang(?label)='fr') } GROUP BY ?type ?label ORDER BY DESC(?nbdoc) Afficher de manière décroissante le nombre de documents pour chaque types de documents distincts avec la forme « Fabien Gandon » pour auteur URI utile Document : https://data.archives-ouvertes.fr/document/inria-00362381
  • 18. Astuce 7 Manipuler les dates Afficher le nombre de document associé à la forme « Fabrien Gandon » par an URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 select year(?date) count(distinct ?document) where { ?document dcterms:hasVersion ?version. ?version dcterms:creator ?creator; dcterms:issued ?date. ?creator hal:person <https://data.archives-ouvertes.fr/author/827904>. } GROUP BY year(?date) ORDER BY year(?date)
  • 19. Afficher le nombre de documents pour chaque types de documents et chaque année avec la forme « Fabien Gandon » pour auteur et ordonnée par année URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 Exercice 7 select year(?date) ?label count(distinct ?document) where { ?document dcterms:hasVersion ?version. ?version dcterms:creator ?creator; dcterms:issued ?date; dcterms:type ?type. ?creator hal:person <https://data.archives-ouvertes.fr/author/827904>. ?type skos:prefLabel ?label. FILTER (lang(?label)='fr') } GROUP BY year(?date) ?label ORDER BY year(?date)
  • 20. Modèle pour la forme d’un auteur Exemple : https://data.archives-ouvertes.fr/author/827904
  • 21. Afficher toutes les métadonnées associées à la forme « Fabien Gandon » URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 Exercice 8 select ?p ?o where { <https://data.archives-ouvertes.fr/author/827904> ?p ?o }
  • 22. Afficher les URIs de toutes les formes associées à la forme « Fabien Gandon » via l’IdHAL URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 Exercice 9 select ?forme where { <https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?o. ?forme ore:isAggregatedBy ?o. }
  • 23. Afficher le nombre de documents associés à chaque forme associés à l’IdHAL relié à la forme « Fabien Gandon » URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 Exercice 10 select ?forme count(DISTINCT ?document) where { <https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?o. ?forme ore:isAggregatedBy ?o. ?creator hal:person ?forme. ?version dcterms:creator ?creator. ?document dcterms:hasVersion ?version } GROUP BY ?forme
  • 24. Afficher le nombre de documents associés à chaque forme associés à l’IdHAL relié à la forme Fabien Gandon par an URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 Exercice 11 select year(?date) AS ?year count(DISTINCT ?document) AS ?nbdoc where { <https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?o. ?forme ore:isAggregatedBy ?o. ?creator hal:person ?forme. ?version dcterms:creator ?creator; dcterms:issued ?date. ?document dcterms:hasVersion ?version } GROUP BY year(?date)
  • 25. Astuce 8 Requête et sous requête Afficher la moyenne des documents par an associés à toutes les formes liées à « Fabien Gandon » URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 SELECT avg(?nbdoc) WHERE { select year(?date) AS ?year count(DISTINCT ?document) AS ?nbdoc where { <https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?o. ?forme ore:isAggregatedBy ?o. ?creator hal:person ?forme. ?version dcterms:creator ?creator; dcterms:issued ?date. ?document dcterms:hasVersion ?version } GROUP BY year(?date) }
  • 26. Afficher tous les identifiants externes liées à Fabien Gandon URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 Exercice 12 select DISTINCT ?idhal ?identifiant where { <https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?idhal. ?forme ore:isAggregatedBy ?idhal. ?forme owl:sameAs ?identifiant }
  • 27. Astuce 9 Faire une recherche dans une chaîne de caractères Afficher les identifiants ORCID distincts liés à toutes les formes liées à « Fabien Gandon » URI utile Forme auteur : https://data.archives-ouvertes.fr/author/827904 select DISTINCT ?idhal ?orcid where { <https://data.archives-ouvertes.fr/author/827904> ore:isAggregatedBy ?idhal. ?forme ore:isAggregatedBy ?idhal. ?forme owl:sameAs ?orcid. FILTER regex(str(?orcid), 'orcid.org') }
  • 28. Afficher les identifiants ORCID de tous les membres d’INRIA et pour chaque ORCID, concaténer les différentes URIs des formes associées URI utile INRIA : https://data.archives-ouvertes.fr/structure/300009 Exercice 13 select ?orcid ?name GROUP_CONCAT(str(?forme),',') where { ?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>; foaf:name ?name; owl:sameAs ?orcid. FILTER regex(str(?orcid),'orcid.org') } GROUP BY ?orcid ?name ORDER BY ?name
  • 29. Afficher tous les membres d’INRIA et pour chaque membre, éventuellement l’identifiant ORCID et l’identifiant idHal URI utile INRIA : https://data.archives-ouvertes.fr/structure/300009 Astuce 10 OPTIONAL select DISTINCT ?name ?orcid ?idHal where { ?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>; foaf:name ?name. OPTIONAL {?forme owl:sameAs ?orcid. FILTER regex(?orcid,'orcid.org')} OPTIONAL {?forme ore:isAggregatedBy ?idHal} } ORDER BY ?name
  • 30. Astuce 11 La négation Afficher les membres qui ont un identifiant idHAL mais pas d’ORCID URI utile INRIA : https://data.archives-ouvertes.fr/structure/300009 select DISTINCT ?idHal ?name where { ?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>; foaf:name ?name; ore:isAggregatedBy ?idHal FILTER NOT EXISTS {?forme owl:sameAs ?orcid. FILTER regex(?orcid,'orcid.org')} } ORDER BY ?name
  • 31. Afficher tous les membres d’INRIA qui n’ont pas d’identifiant idHAL et concaténés par la forme URI utile INRIA : https://data.archives-ouvertes.fr/structure/300009 Exercice 14 select ?name, GROUP_CONCAT(str(?forme), '|') where { ?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>; foaf:name ?name. FILTER NOT EXISTS {?forme ore:isAggregatedBy ?idHal} } GROUP BY ?name ORDER BY ?name
  • 32. Afficher tous les domaines des membres d’INRIA et pour chaque domaine le nombre de documents associés ordonné de manière décroissante URI utile INRIA : https://data.archives-ouvertes.fr/structure/300009 Exercice 15 select ?topic ?prefLabel count(DISTINCT ?document) AS ?nbdoc where { ?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>. ?version hal:topic ?topic; dcterms:creator ?creator. ?creator hal:person ?forme. ?topic skos:prefLabel ?prefLabel. ?document dcterms:hasVersion ?version. FILTER (lang(?prefLabel)='fr') } GROUP BY ?topic ?prefLabel ORDER BY DESC(?nbdoc)
  • 33. Afficher tous les co-auteurs de Fabien Gandon et le nombre d’articles pour chacun d’entre eux URI utile idHal de Fabien Gandon : https://data.archives-ouvertes.fr/structure/300009 Exercice 16 select ?name count(DISTINCT ?document) AS ?nbdoc where { ?forme ore:isAggregatedBy <https://data.archives-ouvertes.fr/author/fabien- gandon>. ?version hal:topic ?topic; dcterms:creator ?creator. ?creator hal:person ?forme. ?document dcterms:hasVersion ?version. ?version dcterms:creator ?autresCreator. ?autresCreator hal:person ?autresformes. ?autresformes foaf:name ?name. FILTER (?name !='Fabien Gandon') } GROUP BY ?name ORDER BY DESC(?nbdoc)
  • 34. Astuce 12 Limiter les résultats de comptage Afficher tous les co-auteurs de Fabien Gandon et le nombre d’articles pour chacun d’entre eux et ayant plus de 1 document en commun URI utile idHal de Fabien Gandon : https://data.archives-ouvertes.fr/author/fabien-gandon select ?name count(DISTINCT ?document) AS ?nbdoc where { ?forme ore:isAggregatedBy <https://data.archives-ouvertes.fr/author/fabien- gandon>. ?version hal:topic ?topic; dcterms:creator ?creator. ?creator hal:person ?forme. ?document dcterms:hasVersion ?version. ?version dcterms:creator ?autresCreator. ?autresCreator hal:person ?autresformes. ?autresformes foaf:name ?name. FILTER (?name !='Fabien Gandon') } GROUP BY ?name HAVING (count(DISTINCT ?document) > 1) ORDER BY DESC(?nbdoc)
  • 35. Modèle pour les personnes IdHAL C’est beau mais malheureusement, ce n’est pas dans le triple store 
  • 36. Modèle pour les structures Exemple : https://data.archives-ouvertes.fr/structure/300009
  • 37. Afficher toutes les organisations et leur terme préférentiel URI utile Classe Organisation : http://www.w3.org/ns/org#Organization INRIA : https://data.archives-ouvertes.fr/structure/300009 Exercice 17 select ?structure ?prefLabel where { ?structure a org:Organization; skos:prefLabel ?prefLabel. }
  • 38. Modèle pour les revues https://data.archives-ouvertes.fr/revue/109707
  • 39. Modèles pour les projets Exemple : https://data.archives-ouvertes.fr/anrProject/1001 https://data.archives-ouvertes.fr/europeanProject/129494
  • 40. Afficher toutes les projets ANR dont sont issues les documents écrits par des membres de l’INRIA URI utile Classe projet : http://www.eurocris.org/ontologies/cerif/1.3/ INRIA : https://data.archives-ouvertes.fr/structure/300009 Exercice 18 select DISTINCT ?projet ?title ?acronym ?startDate where { ?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>. ?version dcterms:source ?projet; dcterms:creator ?creator. ?creator hal:person ?forme. ?projet a cerif:Project; cerif:title ?title; cerif:startDate ?startDate. OPTIONAL {?projet cerif:acronym ?acronym} FILTER regex(str(?projet),'anrProject') } ORDER BY DESC(?startDate)
  • 41. Afficher toutes les projets ANR dont sont issues les documents écrits par des membres de l’INRIA et pour chacun le nombre de documents associés URI utile Classe projet : http://www.eurocris.org/ontologies/cerif/1.3/ INRIA : https://data.archives-ouvertes.fr/structure/300009 Exercice 19 select ?projet ?title ?acronym ?startDate count(DISTINCT ?document) AS ?nbdoc where { ?forme foaf:member <https://data.archives-ouvertes.fr/structure/300009>. ?version dcterms:source ?projet; dcterms:creator ?creator. ?creator hal:person ?forme. ?projet a cerif:Project; cerif:title ?title; cerif:startDate ?startDate. OPTIONAL {?projet cerif:acronym ?acronym} FILTER regex(str(?projet),'anrProject') ?document dcterms:hasVersion ?version. } GROUP BY ?projet ?title ?acronym ?startDate ORDER BY DESC(?nbdoc)