SlideShare une entreprise Scribd logo
SPARQL-Generate: Génération de
RDF et de texte à partir de RDF et
flux de documents dans des formats
hétérogènes
Maxime Lefrançois
Maxime.Lefrancois@emse.fr
http://maxime-lefrancois.info/
MINES Saint-Étienne – Institut Henri Fayol
Laboratoire Hubert Curien UMR CNRS 5516
2
M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats,
In Proc. Extended Semantic Web Conference, 2017
+ EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial
Génération de RDF à partir de nombreux formats
Exigences
3
M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats,
In Proc. Extended Semantic Web Conference, 2017
+ EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial 
- Transformer plusieurs sources …
- ... avec des formats hétérogènes
- Être extensible à d’autres formats de données
- Être facile à utiliser par les experts du web sémantique
- S’intégrer dans un workflow web sémantique classique
- Être flexible et facile à maintenir
- Contextualiser la transformation avec un jeu de données RDF
- Modulariser / découpler / composer des transformations
- Permettre la transformation des données, agrégats, filtres, ...
- Générer des listes RDF
- Performances
- Transformer les formats binaires comme les formats textuels
- Transformer les gros documents (sortie en HDT)
- Générer des flux de RDF à partir de flux de documents
Question de recherche
Comment concevoir un langage de
transformation…
…suffisamment expressif pour couvrir nos cas d’utilisation?
…simple à utiliser?
…facile à étendre à d’autres formats?
4
Processus de génération de RDF
5
Processus de génération de RDF
6
Patron de sélection
Xpath, JSONpath, CSS selectors, regex, etc.
Processus de génération de RDF
7
Patron de sélection
Xpath, JSONpath, CSS selectors, regex, etc.
Processus de génération de RDF
8
?
?
?
Définition de
patron de graphe
ex:salary
ex:Director
Patron de sélection
Xpath, JSONpath, CSS selectors, regex, etc.
Processus de génération de RDF
9
?
?
?
Patron de sélection
Xpath, JSONpath, CSS selectors, regex, etc.
ex:salary
ex:Director
Définition de
patron de graphe
+ choix de l’ontologie
Première requête SPARQL-Generate
10
?
?
?
Selection patterns
Xpath, JSONpath, CSS selectors, regex, etc.
Graph pattern
definition
ex:salary
ex:Director
+ Select
ontologies
Le patron de graphe est ici
11
?
?
?
Selection patterns
Xpath, JSONpath, CSS selectors, regex, etc.
Graph pattern
definition
ex:salary
ex:Director
+ Select
ontologies
On requête RDF Dataset + « Documentset »
12
?
?
?
Selection patterns
Xpath, JSONpath, CSS selectors, regex, etc.
Graph pattern
definition
ex:salary
ex:Director
+ Select
ontologies
Fonctions iterator
13
?
?
?
Selection patterns
Xpath, JSONpath, CSS selectors, regex, etc.
Graph pattern
definition
ex:salary
ex:Director
+ Select
ontologies
Fonctions binding (SPARQL standard)
14
?
?
?
Selection patterns
Xpath, JSONpath, CSS selectors, regex, etc.
Graph pattern
definition
ex:salary
ex:Director
+ Select
ontologies
Étend SPARQL, donc on a gratuitement...
15
?
?
?
Patron de sélection
Xpath, JSONpath, CSS selectors, regex, etc.
Graph pattern
definition
ex:salary
ex:Director
+ Select
ontologies
• Implémentable sur les moteurs SPARQL
• Facile à apprendre quand on connait SPARQL
• On apprend SPARQL quand on utilise SPARQL-Generate
• La définition de patron de graph n’est pas orientée sujet
• SPARQL 1.1 FILTER BIND OPTIONAL,...
• Fonctions et opérateurs standard dans SPARQL 1.1
STR LANG LANGMATCHES DATATYPE BOUND IRI URI BNODE RAND ABS CEIL
FLOOR ROUND CONCAT SUBSTR STRLEN REPLACE UCASE LCASE
ENCODE_FOR_URI CONTAINS STRSTARTS STRENDS STRBEFORE STRAFTER YEAR
MONTH DAY HOURS MINUTES SECONDS TIMEZONE TZ NOW UUID STRUUID MD5
SHA1 SHA256 SHA384 SHA512 COALESCE IF STRLANG STRDT sameTerm isIRI
isURI isBLANK isLITERAL isNUMERIC REGEX + * / = > < || &&
• Mécanime standard d’extension des fonctions dans SPARQL 1.1
• SPARQL 1.1 ORDER LIMIT OFFSET
• SPARQL 1.1 GROUP BY, HAVING, Fonctions d’agrégation
COUNT SUM MIN MAX AVG SAMPLE GROUP_CONCAT
16
M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats,
In Proc. Extended Semantic Web Conference, 2017
+ EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial 
Pas seulement « théoriquement cool »
https://w3id.org/sparql-generate/
Implémentation open-source Licence Apache 2.0 basée sur Apache Jena
développement financé par ITEA, ANR, ENGIE, ETSI
Expressif, Performant, Extensible à d’autres formats
API (sur Maven Central)
JAR
Web playground + tutoriel
17
M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats,
In Proc. Extended Semantic Web Conference, 2017
+ EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial 
SPARQL-Generate is not just « theoretically cool »
https://w3id.org/sparql-generate/
Implémentation open-source Licence Apache 2.0 basée sur Apache Jena
développement financé par ITEA, ANR, ENGIE, ETSI
Expressif, Performant, Extensible à d’autres formats
API (sur Maven Central)
JAR
Web playground + tutoriel
Package pour Sublime Text
18
?
?
?
Selection patterns
Xpath, JSONpath, CSS selectors, regex, etc.
Graph pattern
definition
ex:salary
ex:Director
+ Select
ontologies
iter&fun functions ont des URIs dereferenceables
iter&fun functions ont des URIs dereferenceables
19
?
?
?
Selection patterns
Xpath, JSONpath, CSS selectors, regex, etc.
Graph pattern
definition
ex:salary
ex:Director
+ Select
ontologies
Où en est-on de nos exigences?
20
M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats,
In Proc. Extended Semantic Web Conference, 2017
+ EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial 
- Transformer plusieurs sources …
- ... avec des formats hétérogènes
- Être extensible à d’autres formats de données
- Être facile à utiliser par les experts du web sémantique
- S’intégrer dans un workflow web sémantique classique
- Être flexible et facile à maintenir
- Contextualiser la transformation avec un jeu de données RDF
- Modulariser / découpler / composer des transformations
- Permettre la transformation des données, agrégats, filtres, ...
- Générer des listes RDF
- Performances
- Transformer les formats binaires comme les formats textuels
- Transformer les gros documents (sortie en HDT)
- Générer des flux de RDF à partir de flux de documents
- Pas orienté sujet?
- Inclue des parties de différentes sources dans un littéral?
Il y a d’avantage que
SOURCE et ITERATOR ...
21
Ce que je n’ai pas encore dit
Les itérateurs peuvent lier plusieurs variables
22
Les itérateurs peuvent être plus puissants
23
Sucre syntaxique pour compacter les requêtes
24
Les itérateurs génèrent des batches
25
Les itérateurs génèrent des batches
26
Les clauses Generate peuvent être emboitées
27
Les requêtes Generate peuvent être modularisées
28
On peut générer des listes RDF élégamment
29
One peut générer du HDT directement
30
20 seconds for a 20 MB gene2go sample, output is 17 MB of HDT
9 min, 20 sec for a 145 MB gene2go sample, output is "only" 114 MB HDT
Il y a d’avantage que
GENERATE ...
31
Ce que je n’ai pas encore dit
32
FUNCTION
Sous-ensemble de LDScript: a Linked Data Script Language
http://ns.inria.fr/sparql-extension/
Olivier Corby, Catherine Faron-Zucker and Fabien Gandon, LDScript: a Linked Data Script Language, ISWC 2017, spotlight paper
33
TEMPLATE
Génère du texte à partir de RDF
Sous-ensemble étendu de STTL: the SPARQL Template Transformation Language
https://ns.inria.fr/sparql-template/
Olivier Corby and Catherine Faron-Zucker. A Transformation Language for RDF based on SPARQL. Web Information Systems
and Technologies - Selected Extended Papers from WEBIST 2015. Springer-Verlag, 2015. Best paper nominee.
• Eléments FORMAT GROUP BOX
• Fonctions binding st:call-template(templateURI, param1, param2, ...)
34
TEMPLATE
Génère du texte à partir de RDF
Sous-ensemble étendu de STTL: the SPARQL Template Transformation Language
https://ns.inria.fr/sparql-template/
Olivier Corby and Catherine Faron-Zucker. A Transformation Language for RDF based on SPARQL. Web Information Systems
and Technologies - Selected Extended Papers from WEBIST 2015. Springer-Verlag, 2015. Best paper nominee.
• Eléments FORMAT GROUP BOX combiné avec ITERATOR SOURCE
• Fonctions binding st:call-template(templateURI, param1, param2, ...)
35
SELECT
SPARQL Select:
- augmenté des clauses ITERATOR SOURCE
- avec sucre syntaxique, etc.
36
SELECT
SPARQL Select:
- augmenté des clauses ITERATOR SOURCE
- avec sucre syntaxique, etc.
• Les requêtes SELECT génèrent une liste de solution binding…
• … Comme les clauses ITERATOR !
Use ITERATORS in sequence?
Let’s give you an idea of how an unoptimized query looks like
Exemple d’optimisation de requête
Voici une requête sous-optimale
Exemple d’optimisation de requête
FROM GENERATE {}
et FROM GENERATE <>(param1, param2, …)
Requête optimisée en générant et requêtant un graphe RDF intermédiaire
40
- Modularisation, Découplage,
Composition de requêtes
GENERATE TEMPLATE
SELECT FUNCTION
peut appeler
peut appeler
peut appeler
peut appeler
SPARQL-Generate
fait plus que de la simple génération de RDF
41
En conclusion
Deux exemples
• Génération de documentation pour une ontologie (remplacement de LODE)
• Génération d’ontologie à partir de configuration (RDF et fichiers)
42
En conclusion
SPARQL-Generate
n’est pas qu’une simple preuve de concept
Utilisable
• En ligne, comme JAR, dans Sublime Text, en API
• Extensible à vos propres fonctions et itérateurs
• Aide, contribution, issues, suggestions d’amélioration
https://github.com/sparql-generate/sparql-generate/issues
Maxime Lefrançois
Maxime.Lefrancois@emse.fr
http://maxime-lefrancois.info/
MINES Saint-Étienne – Institut Henri Fayol
Laboratoire Hubert Curien UMR CNRS 5516
A emporter
1. Langage de rransformation RDF
2. Utiliser, évaluer, contribuer
3. Plus qu’une prevue de concept,
et plus qu’un outil

Contenu connexe

Tendances

Presentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUGPresentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUGfrancelabs
 
Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)Thibaud Vibes
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsMICHRAFY MUSTAFA
 
Les API de recherche de HAL
Les API de recherche de HALLes API de recherche de HAL
Les API de recherche de HALOAccsd
 
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)rchbeir
 
Marseille JUG Novembre 2013 Lucene Solr France Labs
Marseille JUG Novembre 2013 Lucene Solr France LabsMarseille JUG Novembre 2013 Lucene Solr France Labs
Marseille JUG Novembre 2013 Lucene Solr France Labsfrancelabs
 
Découverte du SPARQL endpoint de HAL
Découverte du SPARQL endpoint de HALDécouverte du SPARQL endpoint de HAL
Découverte du SPARQL endpoint de HALGautier Poupeau
 
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016Duyhai Doan
 
Deposer dans HAL
Deposer dans HALDeposer dans HAL
Deposer dans HALOAccsd
 
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
 
Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012
Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012
Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012Erwan 'Labynocle' Ben Souiden
 
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éesY. Nicolas
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielModern Data Stack France
 

Tendances (15)

Solr formation Sparna
Solr formation SparnaSolr formation Sparna
Solr formation Sparna
 
Presentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUGPresentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUG
 
Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
 
Les API de recherche de HAL
Les API de recherche de HALLes API de recherche de HAL
Les API de recherche de HAL
 
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
 
Marseille JUG Novembre 2013 Lucene Solr France Labs
Marseille JUG Novembre 2013 Lucene Solr France LabsMarseille JUG Novembre 2013 Lucene Solr France Labs
Marseille JUG Novembre 2013 Lucene Solr France Labs
 
Découverte du SPARQL endpoint de HAL
Découverte du SPARQL endpoint de HALDécouverte du SPARQL endpoint de HAL
Découverte du SPARQL endpoint de HAL
 
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
 
Deposer dans HAL
Deposer dans HALDeposer dans HAL
Deposer dans HAL
 
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 ...
 
Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012
Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012
Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012
 
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
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
 
SPARQL_1.1
SPARQL_1.1SPARQL_1.1
SPARQL_1.1
 

Similaire à SPARQL-Generate, présentation SemWeb.Pro 2019

Moteurs de recherche et web sémantique
Moteurs de recherche et web sémantiqueMoteurs de recherche et web sémantique
Moteurs de recherche et web sémantiqueAntidot
 
___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdfOuailChoukhairi
 
ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...SemWebPro
 
Spark SQL principes et fonctions
Spark SQL principes et fonctionsSpark SQL principes et fonctions
Spark SQL principes et fonctionsMICHRAFY MUSTAFA
 
Zenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika
 
Bien recevoir le web sémantique dans sa cuisine interne, SemWebPro 2018
Bien recevoir le web sémantique dans sa cuisine interne, SemWebPro 2018Bien recevoir le web sémantique dans sa cuisine interne, SemWebPro 2018
Bien recevoir le web sémantique dans sa cuisine interne, SemWebPro 2018ABES
 
Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...
Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...
Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...ABES
 
ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)ABES
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étagesSemWebPro
 
Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQLBorderCloud
 
Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...AbdeslamAMRANE3
 
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éesGautier Poupeau
 
D6 - Les nouveautés SPFx - Olivier Carpentier
D6 - Les nouveautés SPFx - Olivier CarpentierD6 - Les nouveautés SPFx - Olivier Carpentier
D6 - Les nouveautés SPFx - Olivier CarpentierSPS Paris
 
SPSParis - Nouveautés du SharePoint Framework #SPFx - Oct 2017
SPSParis - Nouveautés du SharePoint Framework #SPFx - Oct 2017SPSParis - Nouveautés du SharePoint Framework #SPFx - Oct 2017
SPSParis - Nouveautés du SharePoint Framework #SPFx - Oct 2017Olivier Carpentier
 
Geneva jug Lucene Solr
Geneva jug Lucene Solr Geneva jug Lucene Solr
Geneva jug Lucene Solr francelabs
 
Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)François Belleau
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataGUSS
 
code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABESABES
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementLudovic REUS
 

Similaire à SPARQL-Generate, présentation SemWeb.Pro 2019 (20)

Moteurs de recherche et web sémantique
Moteurs de recherche et web sémantiqueMoteurs de recherche et web sémantique
Moteurs de recherche et web sémantique
 
___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf
 
ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...
 
Spark SQL principes et fonctions
Spark SQL principes et fonctionsSpark SQL principes et fonctions
Spark SQL principes et fonctions
 
Zenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_ml
 
Bien recevoir le web sémantique dans sa cuisine interne, SemWebPro 2018
Bien recevoir le web sémantique dans sa cuisine interne, SemWebPro 2018Bien recevoir le web sémantique dans sa cuisine interne, SemWebPro 2018
Bien recevoir le web sémantique dans sa cuisine interne, SemWebPro 2018
 
Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...
Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...
Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...
 
ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étages
 
Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQL
 
Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...
 
Outils Web Sémantique
Outils Web SémantiqueOutils Web Sémantique
Outils Web Sémantique
 
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
 
D6 - Les nouveautés SPFx - Olivier Carpentier
D6 - Les nouveautés SPFx - Olivier CarpentierD6 - Les nouveautés SPFx - Olivier Carpentier
D6 - Les nouveautés SPFx - Olivier Carpentier
 
SPSParis - Nouveautés du SharePoint Framework #SPFx - Oct 2017
SPSParis - Nouveautés du SharePoint Framework #SPFx - Oct 2017SPSParis - Nouveautés du SharePoint Framework #SPFx - Oct 2017
SPSParis - Nouveautés du SharePoint Framework #SPFx - Oct 2017
 
Geneva jug Lucene Solr
Geneva jug Lucene Solr Geneva jug Lucene Solr
Geneva jug Lucene Solr
 
Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 
code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABES
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développement
 

Plus de Maxime Lefrançois

Reference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationReference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationMaxime Lefrançois
 
Overview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developmentsOverview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developmentsMaxime Lefrançois
 
ITEA2 SEAS Knowledge Model Online Course
ITEA2 SEAS Knowledge Model Online CourseITEA2 SEAS Knowledge Model Online Course
ITEA2 SEAS Knowledge Model Online CourseMaxime Lefrançois
 
Ph.D. Defense: Représentation des connaissances sémantiques lexicales de la T...
Ph.D. Defense: Représentation des connaissances sémantiques lexicales de la T...Ph.D. Defense: Représentation des connaissances sémantiques lexicales de la T...
Ph.D. Defense: Représentation des connaissances sémantiques lexicales de la T...Maxime Lefrançois
 
Représentation des connaissances du DEC: Concepts fondamentaux du formalisme ...
Représentation des connaissances du DEC: Concepts fondamentaux du formalisme ...Représentation des connaissances du DEC: Concepts fondamentaux du formalisme ...
Représentation des connaissances du DEC: Concepts fondamentaux du formalisme ...Maxime Lefrançois
 
LefrancoisGandon@MTT11: ILexicOn
LefrancoisGandon@MTT11: ILexicOnLefrancoisGandon@MTT11: ILexicOn
LefrancoisGandon@MTT11: ILexicOnMaxime Lefrançois
 

Plus de Maxime Lefrançois (8)

Reference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationReference Knowledge Models for Smart Application
Reference Knowledge Models for Smart Application
 
Overview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developmentsOverview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developments
 
ITEA2 SEAS Knowledge Model Online Course
ITEA2 SEAS Knowledge Model Online CourseITEA2 SEAS Knowledge Model Online Course
ITEA2 SEAS Knowledge Model Online Course
 
Ph.D. Defense: Représentation des connaissances sémantiques lexicales de la T...
Ph.D. Defense: Représentation des connaissances sémantiques lexicales de la T...Ph.D. Defense: Représentation des connaissances sémantiques lexicales de la T...
Ph.D. Defense: Représentation des connaissances sémantiques lexicales de la T...
 
MTT-2013
MTT-2013MTT-2013
MTT-2013
 
Représentation des connaissances du DEC: Concepts fondamentaux du formalisme ...
Représentation des connaissances du DEC: Concepts fondamentaux du formalisme ...Représentation des connaissances du DEC: Concepts fondamentaux du formalisme ...
Représentation des connaissances du DEC: Concepts fondamentaux du formalisme ...
 
LefrancoisGandon@MSW11: ULiS
LefrancoisGandon@MSW11: ULiSLefrancoisGandon@MSW11: ULiS
LefrancoisGandon@MSW11: ULiS
 
LefrancoisGandon@MTT11: ILexicOn
LefrancoisGandon@MTT11: ILexicOnLefrancoisGandon@MTT11: ILexicOn
LefrancoisGandon@MTT11: ILexicOn
 

Dernier

Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...zidani2
 
Festival de Cannes 2024.pptx
Festival    de     Cannes        2024.pptxFestival    de     Cannes        2024.pptx
Festival de Cannes 2024.pptxTxaruka
 
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24BenotGeorges3
 
Épreuve de leçon SII.pptx
Épreuve de leçon  SII.pptxÉpreuve de leçon  SII.pptx
Épreuve de leçon SII.pptxSAIDALI701276
 
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Pedago Lu
 
Résultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdfRésultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdfGERESO
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?sashaflor182
 
Sainte Jeanne d'Arc, patronne de la France 1412-1431.pptx
Sainte Jeanne d'Arc, patronne de la France 1412-1431.pptxSainte Jeanne d'Arc, patronne de la France 1412-1431.pptx
Sainte Jeanne d'Arc, patronne de la France 1412-1431.pptxMartin M Flynn
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsTechnologia Formation
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesSOLIANAEvelyne
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Technologia Formation
 

Dernier (11)

Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
 
Festival de Cannes 2024.pptx
Festival    de     Cannes        2024.pptxFestival    de     Cannes        2024.pptx
Festival de Cannes 2024.pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
 
Épreuve de leçon SII.pptx
Épreuve de leçon  SII.pptxÉpreuve de leçon  SII.pptx
Épreuve de leçon SII.pptx
 
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
 
Résultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdfRésultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdf
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?
 
Sainte Jeanne d'Arc, patronne de la France 1412-1431.pptx
Sainte Jeanne d'Arc, patronne de la France 1412-1431.pptxSainte Jeanne d'Arc, patronne de la France 1412-1431.pptx
Sainte Jeanne d'Arc, patronne de la France 1412-1431.pptx
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctions
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
 

SPARQL-Generate, présentation SemWeb.Pro 2019

  • 1. SPARQL-Generate: Génération de RDF et de texte à partir de RDF et flux de documents dans des formats hétérogènes Maxime Lefrançois Maxime.Lefrancois@emse.fr http://maxime-lefrancois.info/ MINES Saint-Étienne – Institut Henri Fayol Laboratoire Hubert Curien UMR CNRS 5516
  • 2. 2 M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats, In Proc. Extended Semantic Web Conference, 2017 + EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial Génération de RDF à partir de nombreux formats
  • 3. Exigences 3 M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats, In Proc. Extended Semantic Web Conference, 2017 + EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial  - Transformer plusieurs sources … - ... avec des formats hétérogènes - Être extensible à d’autres formats de données - Être facile à utiliser par les experts du web sémantique - S’intégrer dans un workflow web sémantique classique - Être flexible et facile à maintenir - Contextualiser la transformation avec un jeu de données RDF - Modulariser / découpler / composer des transformations - Permettre la transformation des données, agrégats, filtres, ... - Générer des listes RDF - Performances - Transformer les formats binaires comme les formats textuels - Transformer les gros documents (sortie en HDT) - Générer des flux de RDF à partir de flux de documents
  • 4. Question de recherche Comment concevoir un langage de transformation… …suffisamment expressif pour couvrir nos cas d’utilisation? …simple à utiliser? …facile à étendre à d’autres formats? 4
  • 6. Processus de génération de RDF 6 Patron de sélection Xpath, JSONpath, CSS selectors, regex, etc.
  • 7. Processus de génération de RDF 7 Patron de sélection Xpath, JSONpath, CSS selectors, regex, etc.
  • 8. Processus de génération de RDF 8 ? ? ? Définition de patron de graphe ex:salary ex:Director Patron de sélection Xpath, JSONpath, CSS selectors, regex, etc.
  • 9. Processus de génération de RDF 9 ? ? ? Patron de sélection Xpath, JSONpath, CSS selectors, regex, etc. ex:salary ex:Director Définition de patron de graphe + choix de l’ontologie
  • 10. Première requête SPARQL-Generate 10 ? ? ? Selection patterns Xpath, JSONpath, CSS selectors, regex, etc. Graph pattern definition ex:salary ex:Director + Select ontologies
  • 11. Le patron de graphe est ici 11 ? ? ? Selection patterns Xpath, JSONpath, CSS selectors, regex, etc. Graph pattern definition ex:salary ex:Director + Select ontologies
  • 12. On requête RDF Dataset + « Documentset » 12 ? ? ? Selection patterns Xpath, JSONpath, CSS selectors, regex, etc. Graph pattern definition ex:salary ex:Director + Select ontologies
  • 13. Fonctions iterator 13 ? ? ? Selection patterns Xpath, JSONpath, CSS selectors, regex, etc. Graph pattern definition ex:salary ex:Director + Select ontologies
  • 14. Fonctions binding (SPARQL standard) 14 ? ? ? Selection patterns Xpath, JSONpath, CSS selectors, regex, etc. Graph pattern definition ex:salary ex:Director + Select ontologies
  • 15. Étend SPARQL, donc on a gratuitement... 15 ? ? ? Patron de sélection Xpath, JSONpath, CSS selectors, regex, etc. Graph pattern definition ex:salary ex:Director + Select ontologies • Implémentable sur les moteurs SPARQL • Facile à apprendre quand on connait SPARQL • On apprend SPARQL quand on utilise SPARQL-Generate • La définition de patron de graph n’est pas orientée sujet • SPARQL 1.1 FILTER BIND OPTIONAL,... • Fonctions et opérateurs standard dans SPARQL 1.1 STR LANG LANGMATCHES DATATYPE BOUND IRI URI BNODE RAND ABS CEIL FLOOR ROUND CONCAT SUBSTR STRLEN REPLACE UCASE LCASE ENCODE_FOR_URI CONTAINS STRSTARTS STRENDS STRBEFORE STRAFTER YEAR MONTH DAY HOURS MINUTES SECONDS TIMEZONE TZ NOW UUID STRUUID MD5 SHA1 SHA256 SHA384 SHA512 COALESCE IF STRLANG STRDT sameTerm isIRI isURI isBLANK isLITERAL isNUMERIC REGEX + * / = > < || && • Mécanime standard d’extension des fonctions dans SPARQL 1.1 • SPARQL 1.1 ORDER LIMIT OFFSET • SPARQL 1.1 GROUP BY, HAVING, Fonctions d’agrégation COUNT SUM MIN MAX AVG SAMPLE GROUP_CONCAT
  • 16. 16 M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats, In Proc. Extended Semantic Web Conference, 2017 + EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial  Pas seulement « théoriquement cool » https://w3id.org/sparql-generate/ Implémentation open-source Licence Apache 2.0 basée sur Apache Jena développement financé par ITEA, ANR, ENGIE, ETSI Expressif, Performant, Extensible à d’autres formats API (sur Maven Central) JAR Web playground + tutoriel
  • 17. 17 M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats, In Proc. Extended Semantic Web Conference, 2017 + EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial  SPARQL-Generate is not just « theoretically cool » https://w3id.org/sparql-generate/ Implémentation open-source Licence Apache 2.0 basée sur Apache Jena développement financé par ITEA, ANR, ENGIE, ETSI Expressif, Performant, Extensible à d’autres formats API (sur Maven Central) JAR Web playground + tutoriel Package pour Sublime Text
  • 18. 18 ? ? ? Selection patterns Xpath, JSONpath, CSS selectors, regex, etc. Graph pattern definition ex:salary ex:Director + Select ontologies iter&fun functions ont des URIs dereferenceables
  • 19. iter&fun functions ont des URIs dereferenceables 19 ? ? ? Selection patterns Xpath, JSONpath, CSS selectors, regex, etc. Graph pattern definition ex:salary ex:Director + Select ontologies
  • 20. Où en est-on de nos exigences? 20 M. Lefrançois, A. Zimmermann, N. Bakerally, A SPARQL extension for generating RDF from heterogeneous formats, In Proc. Extended Semantic Web Conference, 2017 + EKAW, Hackatons, ESWC Tutorial 2018, PFIA Tutorial 2019, OEG Tutorial  - Transformer plusieurs sources … - ... avec des formats hétérogènes - Être extensible à d’autres formats de données - Être facile à utiliser par les experts du web sémantique - S’intégrer dans un workflow web sémantique classique - Être flexible et facile à maintenir - Contextualiser la transformation avec un jeu de données RDF - Modulariser / découpler / composer des transformations - Permettre la transformation des données, agrégats, filtres, ... - Générer des listes RDF - Performances - Transformer les formats binaires comme les formats textuels - Transformer les gros documents (sortie en HDT) - Générer des flux de RDF à partir de flux de documents - Pas orienté sujet? - Inclue des parties de différentes sources dans un littéral?
  • 21. Il y a d’avantage que SOURCE et ITERATOR ... 21 Ce que je n’ai pas encore dit
  • 22. Les itérateurs peuvent lier plusieurs variables 22
  • 23. Les itérateurs peuvent être plus puissants 23
  • 24. Sucre syntaxique pour compacter les requêtes 24
  • 25. Les itérateurs génèrent des batches 25
  • 26. Les itérateurs génèrent des batches 26
  • 27. Les clauses Generate peuvent être emboitées 27
  • 28. Les requêtes Generate peuvent être modularisées 28
  • 29. On peut générer des listes RDF élégamment 29
  • 30. One peut générer du HDT directement 30 20 seconds for a 20 MB gene2go sample, output is 17 MB of HDT 9 min, 20 sec for a 145 MB gene2go sample, output is "only" 114 MB HDT
  • 31. Il y a d’avantage que GENERATE ... 31 Ce que je n’ai pas encore dit
  • 32. 32 FUNCTION Sous-ensemble de LDScript: a Linked Data Script Language http://ns.inria.fr/sparql-extension/ Olivier Corby, Catherine Faron-Zucker and Fabien Gandon, LDScript: a Linked Data Script Language, ISWC 2017, spotlight paper
  • 33. 33 TEMPLATE Génère du texte à partir de RDF Sous-ensemble étendu de STTL: the SPARQL Template Transformation Language https://ns.inria.fr/sparql-template/ Olivier Corby and Catherine Faron-Zucker. A Transformation Language for RDF based on SPARQL. Web Information Systems and Technologies - Selected Extended Papers from WEBIST 2015. Springer-Verlag, 2015. Best paper nominee. • Eléments FORMAT GROUP BOX • Fonctions binding st:call-template(templateURI, param1, param2, ...)
  • 34. 34 TEMPLATE Génère du texte à partir de RDF Sous-ensemble étendu de STTL: the SPARQL Template Transformation Language https://ns.inria.fr/sparql-template/ Olivier Corby and Catherine Faron-Zucker. A Transformation Language for RDF based on SPARQL. Web Information Systems and Technologies - Selected Extended Papers from WEBIST 2015. Springer-Verlag, 2015. Best paper nominee. • Eléments FORMAT GROUP BOX combiné avec ITERATOR SOURCE • Fonctions binding st:call-template(templateURI, param1, param2, ...)
  • 35. 35 SELECT SPARQL Select: - augmenté des clauses ITERATOR SOURCE - avec sucre syntaxique, etc.
  • 36. 36 SELECT SPARQL Select: - augmenté des clauses ITERATOR SOURCE - avec sucre syntaxique, etc. • Les requêtes SELECT génèrent une liste de solution binding… • … Comme les clauses ITERATOR !
  • 37. Use ITERATORS in sequence? Let’s give you an idea of how an unoptimized query looks like
  • 38. Exemple d’optimisation de requête Voici une requête sous-optimale
  • 39. Exemple d’optimisation de requête FROM GENERATE {} et FROM GENERATE <>(param1, param2, …) Requête optimisée en générant et requêtant un graphe RDF intermédiaire
  • 40. 40 - Modularisation, Découplage, Composition de requêtes GENERATE TEMPLATE SELECT FUNCTION peut appeler peut appeler peut appeler peut appeler
  • 41. SPARQL-Generate fait plus que de la simple génération de RDF 41 En conclusion Deux exemples • Génération de documentation pour une ontologie (remplacement de LODE) • Génération d’ontologie à partir de configuration (RDF et fichiers)
  • 42. 42 En conclusion SPARQL-Generate n’est pas qu’une simple preuve de concept Utilisable • En ligne, comme JAR, dans Sublime Text, en API • Extensible à vos propres fonctions et itérateurs • Aide, contribution, issues, suggestions d’amélioration https://github.com/sparql-generate/sparql-generate/issues
  • 43. Maxime Lefrançois Maxime.Lefrancois@emse.fr http://maxime-lefrancois.info/ MINES Saint-Étienne – Institut Henri Fayol Laboratoire Hubert Curien UMR CNRS 5516 A emporter 1. Langage de rransformation RDF 2. Utiliser, évaluer, contribuer 3. Plus qu’une prevue de concept, et plus qu’un outil