SPARQL-Generate - query and generate both RDF and text
Generate RDF or text from web documents in XML, JSON, CSV, GeoJSON, HTML, CBOR, plain text with regular expressions.
Generate RDF or text streams from large CSV documents, MQTT or WebSocket streams, repeated HTTP Get operations.
Directly generate HDT as the output of big transformations.
Use it as partial STTL and SPARQL Function implementations.
Extend it to support new data sources and formats.
SPARQL-Generate is an extension of SPARQL 1.1 for querying not only RDF datasets but also documents in arbitrary formats.
It offers a simple and expressive template-based option to generate RDF Graphs or text, from documents and different streams. It presents the following advantages:
Anyone familiar with SPARQL can easily learn SPARQL-Generate;
Learning SPARQL-Generate helps you learning SPARQL;
SPARQL-Generate leverages the expressivity of SPARQL 1.1: Aggregates, Solution Sequences and Modifiers, SPARQL functions and their extension mechanism.
It integrates seamlessly with existing standards for consuming Semantic Web data, such as SPARQL or Semantic Web programming frameworks.
I used these slides for an introductory lecture (90min) to a seminar on SPARQL. This slideset introduces the semantics of the RDF query language SPARQL.
SPARQL, comment illuminer vos mashups en consommant les données du Linked Data ?Antidot
Tutoriel pour la 1ère conférence semWeb.pro (17-18 janvier 2011).
A partir de différents exemples de mashup réalisés avec les technologies du Web sémantique disponibles à l'adresse http://www.lespetitescases.net/semweblabs/, nous montrons en quoi le modèle RDF et le langage de requêtes SPARQL constituent des solutions souples et universelles pour construire des mashups. Nous abordons aussi bien les aspects techniques (utilisation du framework ARC 2) que les points qui touchent plus spécifiquement les technologies du Web sémantique : récupération des données grâce à la négociation de contenu, requêtes SPARQL.
Interroger efficacement des bases de données relationnelles avec sparql et ontopSemWebPro
L’élaboration manuelle de nouvelles requêtes SQL à l’adresse de bases de données relationnelles ayant des schémas complexes est un processus lent et coûteux qui se révèle être critique pour de nombreuses industries. Ce processus nécessite de combiner deux types d’expertise : celle du domaine concerné (exprimer une question pertinente de façon précise) et celle de la base de données (localiser les informations recherchées dans la base de données). L’approche OBDA (Ontology-Based Data Access) vise à automatiser une partie de ce processus en (i) permettant aux utilisateurs d’exprimer les requêtes à partir d’un modèle conceptuel de leur domaine indépendant du schéma relationnel et (ii) en traduisant automatiquement ces requêtes dans le langage supporté par la base de données (SQL). Dans cette présentation, nous nous intéresserons au système OBDA développé à l’Université Libre de Bozen-Bolzano (Italie) dénommé Ontop. Ce projet, débuté en 2010, repose sur plusieurs standards du Web sémantique : (i) OWL 2 QL pour la modélisation des concepts du domaine, (ii) SPARQL pour la formulation des requêtes utilisateurs et (iii) R2RML pour l’exposition du contenu de la base de données sous forme de graphe RDF virtuel. Ce logiciel est disponible sous licence libre. Le principal enjeu pour un système OBDA est de générer des requêtes SQL optimisées pouvant être exécutées efficacement par le moteur de base de données. Ontop propose de nombreuses optimisations sémantiques et structurelles lui permettant d’obtenir une performance suffisamment élevée pour permettre l’exécution de requêtes complexes sur des bases de données de grande taille en un temps acceptable. Ce système intègre également des capacités d’inférence à faible coût ne nécessitant aucune matérialisation des données. Nous présenterons ensuite son intégration dans la plateforme développée dans le cadre du projet européen Optique et sur son utilisation par les géologues d’un de nos partenaires industriels, Statoil. À cette occasion, nous reviendrons sur les principaux défis introduits par ce cas d’usage industriel. L’équipe participant au développement d’Ontop au sein de l’Université Libre de Bozen-Bolzano est actuellement composée de Martin Rezk, Guohui Xiao, Sarah Komla Ebri, Elem Güzel, David Lanti, Elena Botoeva et Benjamin Cogrel. Elle est coordonnée par Diego Calvanese.
Par Benjamin Cogrel
There are 4 SPARQL query forms: SELECT, ASK, CONSTRUCT, and DESCRIBE. Each form serves a different purpose. SELECT returns variable bindings and is equivalent to an SQL SELECT query. ASK returns a boolean for whether a pattern matches or not. CONSTRUCT returns an RDF graph constructed from templates. DESCRIBE returns an RDF graph that describes resources found. Beyond their basic uses, the forms can be used for tasks like indexing, transformation, validation, and prototyping user interfaces.
A tutorial on how to create mappings using ontop, how inference (OWL 2 QL and RDFS) plays a role answering SPARQL queries in ontop, and how ontop's support for on-the-fly SQL query translation enables scenarios of semantic data access and data integration.
SPARQL-Generate - query and generate both RDF and text
Generate RDF or text from web documents in XML, JSON, CSV, GeoJSON, HTML, CBOR, plain text with regular expressions.
Generate RDF or text streams from large CSV documents, MQTT or WebSocket streams, repeated HTTP Get operations.
Directly generate HDT as the output of big transformations.
Use it as partial STTL and SPARQL Function implementations.
Extend it to support new data sources and formats.
SPARQL-Generate is an extension of SPARQL 1.1 for querying not only RDF datasets but also documents in arbitrary formats.
It offers a simple and expressive template-based option to generate RDF Graphs or text, from documents and different streams. It presents the following advantages:
Anyone familiar with SPARQL can easily learn SPARQL-Generate;
Learning SPARQL-Generate helps you learning SPARQL;
SPARQL-Generate leverages the expressivity of SPARQL 1.1: Aggregates, Solution Sequences and Modifiers, SPARQL functions and their extension mechanism.
It integrates seamlessly with existing standards for consuming Semantic Web data, such as SPARQL or Semantic Web programming frameworks.
I used these slides for an introductory lecture (90min) to a seminar on SPARQL. This slideset introduces the semantics of the RDF query language SPARQL.
SPARQL, comment illuminer vos mashups en consommant les données du Linked Data ?Antidot
Tutoriel pour la 1ère conférence semWeb.pro (17-18 janvier 2011).
A partir de différents exemples de mashup réalisés avec les technologies du Web sémantique disponibles à l'adresse http://www.lespetitescases.net/semweblabs/, nous montrons en quoi le modèle RDF et le langage de requêtes SPARQL constituent des solutions souples et universelles pour construire des mashups. Nous abordons aussi bien les aspects techniques (utilisation du framework ARC 2) que les points qui touchent plus spécifiquement les technologies du Web sémantique : récupération des données grâce à la négociation de contenu, requêtes SPARQL.
Interroger efficacement des bases de données relationnelles avec sparql et ontopSemWebPro
L’élaboration manuelle de nouvelles requêtes SQL à l’adresse de bases de données relationnelles ayant des schémas complexes est un processus lent et coûteux qui se révèle être critique pour de nombreuses industries. Ce processus nécessite de combiner deux types d’expertise : celle du domaine concerné (exprimer une question pertinente de façon précise) et celle de la base de données (localiser les informations recherchées dans la base de données). L’approche OBDA (Ontology-Based Data Access) vise à automatiser une partie de ce processus en (i) permettant aux utilisateurs d’exprimer les requêtes à partir d’un modèle conceptuel de leur domaine indépendant du schéma relationnel et (ii) en traduisant automatiquement ces requêtes dans le langage supporté par la base de données (SQL). Dans cette présentation, nous nous intéresserons au système OBDA développé à l’Université Libre de Bozen-Bolzano (Italie) dénommé Ontop. Ce projet, débuté en 2010, repose sur plusieurs standards du Web sémantique : (i) OWL 2 QL pour la modélisation des concepts du domaine, (ii) SPARQL pour la formulation des requêtes utilisateurs et (iii) R2RML pour l’exposition du contenu de la base de données sous forme de graphe RDF virtuel. Ce logiciel est disponible sous licence libre. Le principal enjeu pour un système OBDA est de générer des requêtes SQL optimisées pouvant être exécutées efficacement par le moteur de base de données. Ontop propose de nombreuses optimisations sémantiques et structurelles lui permettant d’obtenir une performance suffisamment élevée pour permettre l’exécution de requêtes complexes sur des bases de données de grande taille en un temps acceptable. Ce système intègre également des capacités d’inférence à faible coût ne nécessitant aucune matérialisation des données. Nous présenterons ensuite son intégration dans la plateforme développée dans le cadre du projet européen Optique et sur son utilisation par les géologues d’un de nos partenaires industriels, Statoil. À cette occasion, nous reviendrons sur les principaux défis introduits par ce cas d’usage industriel. L’équipe participant au développement d’Ontop au sein de l’Université Libre de Bozen-Bolzano est actuellement composée de Martin Rezk, Guohui Xiao, Sarah Komla Ebri, Elem Güzel, David Lanti, Elena Botoeva et Benjamin Cogrel. Elle est coordonnée par Diego Calvanese.
Par Benjamin Cogrel
There are 4 SPARQL query forms: SELECT, ASK, CONSTRUCT, and DESCRIBE. Each form serves a different purpose. SELECT returns variable bindings and is equivalent to an SQL SELECT query. ASK returns a boolean for whether a pattern matches or not. CONSTRUCT returns an RDF graph constructed from templates. DESCRIBE returns an RDF graph that describes resources found. Beyond their basic uses, the forms can be used for tasks like indexing, transformation, validation, and prototyping user interfaces.
A tutorial on how to create mappings using ontop, how inference (OWL 2 QL and RDFS) plays a role answering SPARQL queries in ontop, and how ontop's support for on-the-fly SQL query translation enables scenarios of semantic data access and data integration.
This document provides an overview of using SPARQL to extract and explore data from an RDF graph. It covers key SPARQL concepts like graph patterns, triple patterns, optional patterns, UNION queries, sorting, limiting, filtering and DISTINCT clauses. It also discusses different SPARQL query forms like SELECT, ASK, DESCRIBE, and CONSTRUCT and provides examples of each. Useful links are included for additional SPARQL tutorials and references.
This training module introduces Resource Description Framework (RDF) for describing data, including representing data as triples, graphs and syntax; it also introduces the SPARQL query language for querying and manipulating RDF data, covering SELECT, CONSTRUCT, DESCRIBE, and ASK query types and the structure of SPARQL queries. The module provides learning objectives and an overview of the content which includes an introduction to RDF and SPARQL with examples and pointers to further resources.
I used these slides for an introductory lecture (90min) to a seminar on SPARQL. This slideset introduces the RDF query language SPARQL from a user's perspective.
1h SPARQL tutorial given at the "Practical Cross-Dataset Queries on the Web of Data" tutorial at WWW2012. Supported by the LATC FP7 Project. http://latc-project.eu/
"SPARQL Cheat Sheet" is a short collection of slides intended to act as a guide to SPARQL developers. It includes the syntax and structure of SPARQL queries, common SPARQL prefixes and functions, and help with RDF datasets.
The "SPARQL Cheat Sheet" is intended to accompany the SPARQL By Example slides available at http://www.cambridgesemantics.com/2008/09/sparql-by-example/ .
Este documento presenta 5 ejercicios para elaborar tablas de contingencia y gráficos en IBM SPSS Statistics 20. El primer ejercicio calcula estadísticas descriptivas como la media, moda, varianza y desviación estándar de las variables "edad" y "volumen corpuscular". El segundo obtiene las frecuencias de las variables "sexo", "edad" y "volumen corpuscular". El tercero crea gráficos para visualizar la distribución de estas variables. El cuarto relaciona "volumen corpuscular" y "sexo" en
Este documento describe el tercer seminario sobre la búsqueda de información en la base de datos CINAHL sobre cómo tratar la infección de una herida quirúrgica después de una cesárea en un hospital. Se utilizaron descriptores controlados (Desc) para traducir la pregunta al inglés y se realizó una búsqueda con filtros de tiempo de 5 años. Se encontraron 13 resultados y se seleccionaron 5 artículos completos para incluir en la carpeta. Los pasos para incluir las referencias bibliográficas en RefWorks fueron los mismos que
Este documento proporciona información sobre Twitter. Explica que Twitter es un servicio de microblogging que permite enviar mensajes cortos de hasta 140 caracteres llamados tuits. Los usuarios pueden seguir otros usuarios y acumular seguidores. También resume brevemente la historia de Twitter y cómo comenzó como un proyecto de investigación en 2006 antes de lanzarse públicamente. Además, describe algunos usos comunes de Twitter y cómo se puede clasificar entre otras redes sociales.
Este documento describe el síndrome mental orgánico agudo, sus causas como hipoxia, infecciones, abuso de sustancias y factores metabólicos y cardíacos. Explica los tres tipos de presentación clínica, métodos de detección como el CAM, y tratamiento con manejo ambiental, haloperidol u otros antipsicóticos.
La Unión Europea ha acordado un paquete de sanciones contra Rusia por su invasión de Ucrania. Las sanciones incluyen restricciones a las importaciones de productos rusos de alta tecnología y a las exportaciones de bienes de lujo a Rusia. Además, se congelarán los activos de varios oligarcas rusos y se prohibirá el acceso de los bancos rusos a los mercados financieros de la UE.
Este documento discute los conceptos de planificación urbana sostenible y las responsabilidades sociales de las ciudades. Señala que las ciudades actuales han olvidado que su propósito es satisfacer las necesidades humanas y sociales. También destaca la importancia de crear espacios abiertos multifuncionales para toda la gente y ciudades que mejoren la calidad de vida de todos los grupos, no solo de las clases acomodadas.
La arquitectura de red define el plan para conectar protocolos y otros programas de software de una manera que permite la interconexión de productos. Ethernet es uno de los estándares de arquitectura de red más ampliamente utilizados, que define el formato de trama y funciones como el direccionamiento y la detección de errores. El modelo OSI surgió para estandarizar las capas funcionales necesarias para la comunicación entre sistemas.
La guitarra es un instrumento musical de cuerda pulsada compuesto de una caja de madera, un mástil y seis cuerdas. Existen dos tipos principales de guitarra: la acústica, que amplifica el sonido a través de una caja de resonancia, y la eléctrica, que convierte las vibraciones de las cuerdas en señales eléctricas mediante inducción electromagnética.
Este documento describe diferentes tipos de redes inalámbricas, incluyendo Wi-Fi, Bluetooth y WiMAX. Wi-Fi permite la conexión inalámbrica de dispositivos a Internet a través de puntos de acceso con un alcance de 20 metros. Bluetooth facilita la comunicación y sincronización de datos entre dispositivos electrónicos de forma inalámbrica. WiMAX proporciona banda ancha inalámbrica a zonas rurales donde el cableado es caro.
El documento presenta un cuadro comparativo de tres épocas históricas y sus respectivas visiones del mundo: la Edad Media con un enfoque teocéntrico, el Renacimiento con un enfoque antropocéntrico, y el siglo XXI con un enfoque ecocéntrico. También resume las características del movimiento barroco en literatura, marcado por el pesimismo y desengaño hacia la vida. Destaca a los autores Luis de Góngora y Francisco de Quevedo como máximos representantes de los estilos cul
Stuart hall estudios culturales dos paradigmas* revista “causas y azares”, n...José Carlos Bonino Jasaui
1) El documento resume los orígenes de los Estudios Culturales como disciplina académica emergente en la década de 1950 a partir de obras seminales como Uses of Literacy de Hoggart, Culture and Society de Williams y The Making of the English Working Class de Thompson.
2) Estas obras marcaron una ruptura con tradiciones anteriores al centrarse en la cultura de las clases trabajadoras y populares y al rechazar la diferenciación entre alta y baja cultura.
3) El documento analiza dos enfoques sobre el concepto de
Platón fue un filósofo griego que nació en el 427 a. C. en Atenas. Provenía de una familia aristocrática pero abandonó la política para dedicarse a la filosofía, siguiendo a Sócrates. Tras la muerte de Sócrates, Platón fundó su propia escuela filosófica llamada la Academia en el 387 a. C., que sirvió de modelo para las universidades modernas. Escribió sus obras principalmente en forma de diálogos para desarrollar el pensamiento socrático.
Este documento presenta resúmenes breves sobre importantes físicos como Albert Einstein, Isaac Newton, Galileo y Arquímedes. Describe las principales contribuciones de cada uno, como la teoría de la relatividad de Einstein, el método de fluxiones de Newton, y los descubrimientos de la ley de la palanca y la hidrostática por parte de Arquímedes y Galileo respectivamente.
This document provides an overview of using SPARQL to extract and explore data from an RDF graph. It covers key SPARQL concepts like graph patterns, triple patterns, optional patterns, UNION queries, sorting, limiting, filtering and DISTINCT clauses. It also discusses different SPARQL query forms like SELECT, ASK, DESCRIBE, and CONSTRUCT and provides examples of each. Useful links are included for additional SPARQL tutorials and references.
This training module introduces Resource Description Framework (RDF) for describing data, including representing data as triples, graphs and syntax; it also introduces the SPARQL query language for querying and manipulating RDF data, covering SELECT, CONSTRUCT, DESCRIBE, and ASK query types and the structure of SPARQL queries. The module provides learning objectives and an overview of the content which includes an introduction to RDF and SPARQL with examples and pointers to further resources.
I used these slides for an introductory lecture (90min) to a seminar on SPARQL. This slideset introduces the RDF query language SPARQL from a user's perspective.
1h SPARQL tutorial given at the "Practical Cross-Dataset Queries on the Web of Data" tutorial at WWW2012. Supported by the LATC FP7 Project. http://latc-project.eu/
"SPARQL Cheat Sheet" is a short collection of slides intended to act as a guide to SPARQL developers. It includes the syntax and structure of SPARQL queries, common SPARQL prefixes and functions, and help with RDF datasets.
The "SPARQL Cheat Sheet" is intended to accompany the SPARQL By Example slides available at http://www.cambridgesemantics.com/2008/09/sparql-by-example/ .
Este documento presenta 5 ejercicios para elaborar tablas de contingencia y gráficos en IBM SPSS Statistics 20. El primer ejercicio calcula estadísticas descriptivas como la media, moda, varianza y desviación estándar de las variables "edad" y "volumen corpuscular". El segundo obtiene las frecuencias de las variables "sexo", "edad" y "volumen corpuscular". El tercero crea gráficos para visualizar la distribución de estas variables. El cuarto relaciona "volumen corpuscular" y "sexo" en
Este documento describe el tercer seminario sobre la búsqueda de información en la base de datos CINAHL sobre cómo tratar la infección de una herida quirúrgica después de una cesárea en un hospital. Se utilizaron descriptores controlados (Desc) para traducir la pregunta al inglés y se realizó una búsqueda con filtros de tiempo de 5 años. Se encontraron 13 resultados y se seleccionaron 5 artículos completos para incluir en la carpeta. Los pasos para incluir las referencias bibliográficas en RefWorks fueron los mismos que
Este documento proporciona información sobre Twitter. Explica que Twitter es un servicio de microblogging que permite enviar mensajes cortos de hasta 140 caracteres llamados tuits. Los usuarios pueden seguir otros usuarios y acumular seguidores. También resume brevemente la historia de Twitter y cómo comenzó como un proyecto de investigación en 2006 antes de lanzarse públicamente. Además, describe algunos usos comunes de Twitter y cómo se puede clasificar entre otras redes sociales.
Este documento describe el síndrome mental orgánico agudo, sus causas como hipoxia, infecciones, abuso de sustancias y factores metabólicos y cardíacos. Explica los tres tipos de presentación clínica, métodos de detección como el CAM, y tratamiento con manejo ambiental, haloperidol u otros antipsicóticos.
La Unión Europea ha acordado un paquete de sanciones contra Rusia por su invasión de Ucrania. Las sanciones incluyen restricciones a las importaciones de productos rusos de alta tecnología y a las exportaciones de bienes de lujo a Rusia. Además, se congelarán los activos de varios oligarcas rusos y se prohibirá el acceso de los bancos rusos a los mercados financieros de la UE.
Este documento discute los conceptos de planificación urbana sostenible y las responsabilidades sociales de las ciudades. Señala que las ciudades actuales han olvidado que su propósito es satisfacer las necesidades humanas y sociales. También destaca la importancia de crear espacios abiertos multifuncionales para toda la gente y ciudades que mejoren la calidad de vida de todos los grupos, no solo de las clases acomodadas.
La arquitectura de red define el plan para conectar protocolos y otros programas de software de una manera que permite la interconexión de productos. Ethernet es uno de los estándares de arquitectura de red más ampliamente utilizados, que define el formato de trama y funciones como el direccionamiento y la detección de errores. El modelo OSI surgió para estandarizar las capas funcionales necesarias para la comunicación entre sistemas.
La guitarra es un instrumento musical de cuerda pulsada compuesto de una caja de madera, un mástil y seis cuerdas. Existen dos tipos principales de guitarra: la acústica, que amplifica el sonido a través de una caja de resonancia, y la eléctrica, que convierte las vibraciones de las cuerdas en señales eléctricas mediante inducción electromagnética.
Este documento describe diferentes tipos de redes inalámbricas, incluyendo Wi-Fi, Bluetooth y WiMAX. Wi-Fi permite la conexión inalámbrica de dispositivos a Internet a través de puntos de acceso con un alcance de 20 metros. Bluetooth facilita la comunicación y sincronización de datos entre dispositivos electrónicos de forma inalámbrica. WiMAX proporciona banda ancha inalámbrica a zonas rurales donde el cableado es caro.
El documento presenta un cuadro comparativo de tres épocas históricas y sus respectivas visiones del mundo: la Edad Media con un enfoque teocéntrico, el Renacimiento con un enfoque antropocéntrico, y el siglo XXI con un enfoque ecocéntrico. También resume las características del movimiento barroco en literatura, marcado por el pesimismo y desengaño hacia la vida. Destaca a los autores Luis de Góngora y Francisco de Quevedo como máximos representantes de los estilos cul
Stuart hall estudios culturales dos paradigmas* revista “causas y azares”, n...José Carlos Bonino Jasaui
1) El documento resume los orígenes de los Estudios Culturales como disciplina académica emergente en la década de 1950 a partir de obras seminales como Uses of Literacy de Hoggart, Culture and Society de Williams y The Making of the English Working Class de Thompson.
2) Estas obras marcaron una ruptura con tradiciones anteriores al centrarse en la cultura de las clases trabajadoras y populares y al rechazar la diferenciación entre alta y baja cultura.
3) El documento analiza dos enfoques sobre el concepto de
Platón fue un filósofo griego que nació en el 427 a. C. en Atenas. Provenía de una familia aristocrática pero abandonó la política para dedicarse a la filosofía, siguiendo a Sócrates. Tras la muerte de Sócrates, Platón fundó su propia escuela filosófica llamada la Academia en el 387 a. C., que sirvió de modelo para las universidades modernas. Escribió sus obras principalmente en forma de diálogos para desarrollar el pensamiento socrático.
Este documento presenta resúmenes breves sobre importantes físicos como Albert Einstein, Isaac Newton, Galileo y Arquímedes. Describe las principales contribuciones de cada uno, como la teoría de la relatividad de Einstein, el método de fluxiones de Newton, y los descubrimientos de la ley de la palanca y la hidrostática por parte de Arquímedes y Galileo respectivamente.
Ce étude vise à présenter la platforme Spark et les opérations (Transformation et Action) d'une RDD. Les points abordés sont Spark motivation, Positionnement de Spark dans l'écosystème BigData, Composants de Spark, Drivers et Workers, RDD & caractéristiques, vue logique de spark, vue globale sur les APIs Spark (dépendance et interaction), les différentes opérations de spark. Chaque opération est sur une fiche (objectif, signature, "à retenir" et exemple de code).
Swift est désormais open source ! "Google considérerait Swift comme un langage « de première classe » pour Android" pouvait-on lire en avril sur le réseau. Et enfin un portage Android du langage a été "merge" dans la base de code officielle de Swift.
Bon tout ceci est un bon prétexte pour apprendre ce nouveau langage et les possibilités qu'il peut nous apporter en terme de développement. Une comparaison avec Java sera notamment proposée afin de montrer les similitudes et differences entre ces deux langages .
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
Spark fait partie de la nouvelle génération de frameworks de manipulation de données basés sur Hadoop. L’outil utilise agressivement la mémoire pour offrir des temps de traitement jusqu’à 100 fois plus rapides qu'Hadoop. Dans cette session, nous découvrirons les principes de traitement de données (notamment MapReduce) et les options mises à disposition pour monter un cluster (Zookeper, Mesos…). Nous ferons un point sur les différents modules proposés par le framework, et notamment sur Spark Streaming pour le traitement de données en flux continu.
Présentation jouée chez Ippon le 11 décembre 2014.
Présentation sur la démarche de l'Open Data (quelles données ? Quels acteurs ?) et sur les technologies gravitant autour du Linked Data (le modèle RDF, RDFS, OWL, les ontologies, les triplestores, etc).
8. 8
SPARQL 1.1 - PROJECTION
As
Assignation et création de nouvelles valeurs
Utilisable avec les agrégats, fonctions mathématiques
et librairie de fonctions
9. 9
SPARQL 1.1 - PROJECTION
<Person rdf:ID="John">
<age rdf:datatype="&xsd;integer" >37</age>
</Person>
<Person rdf:ID="Mark">
<age rdf:datatype="&xsd;integer" >14</age>
</Person>
<Woman rdf:ID="Flora">
<age rdf:datatype="&xsd;integer" >95</age>
</Woman>
<Man rdf:ID="Lucas">
<age rdf:datatype="&xsd;integer" >12</age>
</Man>
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
SELECT ?name (?x AS ?AGE)
where {
?name humans:age ?x
}
name AGE
John 37
Mark 14
Flora 95
Lucas 12
Gaston 102
William 42
Karl 36
Pierre 71
DATA
RESULTAT
10. 10
SPARQL 1.1 - AGGREGATION
SPARQL 1.0:
Besoin de passer par un script externe pour les
fonctions agrégats « classiques » et disponibles en SQL
Compter un nombre de résultats
Trouver une valeur moyenne
Prendre une valeur aléatoire
11. 11
SPARQL 1.1:
COUNT
SUM
MIN
MAX
AVG
SAMPLE
ETC …
Combinés avec les projections précédentes
SPARQL 1.1 - AGGREGATION
14. SPARQL 1.1 - SUBQUIRIES
SPARQL 1.0:
Necessaire de passer par un language extern
SPARQL 1.1:
Il est possible d'imbriquer les requêtes les unes dans les autres.
Mais , il faut faire attention à la portée des variables
Exemple
14
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
SELECT ?name (?y AS ?Amis)
WHERE {
?x humans:name ?name.
{ SELECT ?y
WHERE {
?x humans:hasFriend ?y
} } }
15. 15
SPARQL 1.0:
FILTRE + BOUND
SPARQL 1.1:
MINUS et NOT EXISTS
SPARQL 1.1 - NÉGATION
PREFIX tp: <http://www.inria.fr/2007/09/11/humans#>
SELECT ?x ?y
WHERE {
?x rdf:type tp:Man.
optional {?x tp:hasChild ?y}
FILTRE (!BOUND (?y))
}
16. 16
SPARQL 1.1:
Simplifier la négation en SPARQL 1.1
Identifier les patrons de requête non existants
Supprimer certaines valeurs des résultats (Evaluer le
MINUS et le soustraire des résultats)
SPARQL 1.1 - NÉGATION
17. 17
SPARQL 1.1 - NEGATION
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
SELECT ?name
WHERE {
?name humans:age ?y.
MINUS { ?name humans:age 37
}
}
name
Mark
Flora
Lucas
Gaston
William
Karl
Pierre
<Person rdf:ID="John">
<age rdf:datatype="&xsd;integer" >37</age>
</Person>
<Person rdf:ID="Mark">
<age rdf:datatype="&xsd;integer" >14</age>
</Person>
<Woman rdf:ID="Flora">
<age rdf:datatype="&xsd;integer" >95</age>
</Woman>
<Man rdf:ID="Lucas">
<age rdf:datatype="&xsd;integer" >12</age>
</Man>
RESULTAT
DATA
18. 18
SPARQL 1.1:
Intégrer les fonctions utilisés par les différents intégrateurs
Utilisés fréquemment mais non standardisés en SPARQL 1.0
En supplément des fonctions habituelles, et de nouvelles
STRLEN : longueur d’une chaine
CONCAT : concatenation
COALESCE : première expression sans erreur
CONTAINS : sous-chaine de caractère
SPARQL 1.1 - FONCTIONS
20. 20
SPARQL 1.1:
Un chemin est une voie possible entre deux nœuds dans un
graphe
Ce système est basé sur les expressions régulières.
Exemples
Identifier les amis d’un ami, et les amis de leurs amis,
quelque soit la distance
SPARQL 1.1 - CHEMINS
21. 21
SPARQL 1.1 - CHEMINS
Syntaxe description
IRI une IRI ou un nom préfixé, un chemin de longueur unitaire
^elt chemin inverse (de l'objet au sujet)
elt{,n} entre 0 et n occurrences de elt
elt{n,} n occurrences ou plus de elt
elt{n} exactement n occurrences de elt
elt{n,m} un chemin entre n et m occurrences de elt
elt? un chemin de zéro ou un elt
elt+ un chemin d'une ou plusieurs occurrences de elt
elt* un chemin de zéro ou plusieurs occurrences de elt
elt1|elt2 une voie alternative de elt1 ou elt2 (toutes les possibilités sont
essayées) ;
elt1 / elt2 une séquence de chemin de elt1, suivie par elt2
(elt) un groupe de chemin elt, des crochets de contrôle prioritaire
22. 22
Alternatives
Simplifier l’union :
Triples utilisant un prédicat parmi plusieurs
SPARQL 1.1 - CHEMINS
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
select ?x
where
{
?y (humans:name|humans:age) ?x
}
23. 23
Inverse
Simplifier les requetés bidirectionnelles
Simulation de la symétrie
Exemple
SPARQL 1.1 - CHEMINS
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
select ?x
WHERE {
?x (^humans:age) ?y.
}
y
37
14
95
12
102
42
36
71
24. 24
Séquences
Simplifier les imbrications
A suivi de B, suivi de C …
Exemple
SPARQL 1.1 - CHEMINS
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
SELECT ?y ?x
WHERE {
?y humans:name "Mark"
?y humans:hasFather/ humans:name ?x
}
25. 25
SPARQL 1.0:
Read-only: Interrogation mais pas de mise a jour
Nécessité de passer par des langage externes
SPARQL 1.1:
Deux types d'opérations ont été définis :
les opérations sur les graphes (graph management)
les opérations sur les données au sein de graphes (graph
update)
SPARQL 1.1 - UPDATE
26. 26
SPARQL 1.1 - UPDATE
SPARQL 1.1:
Les opérations possibles sur les graphes sont :
CREATE & DROP
CLEAR & LOAD
Pour les données et les triplets :
INSERT DATA & DELETE DATA
INSERT & DELETE
27. 27
SPARQL 1.1 - UPDATE
SPARQL Update Language Statements
INSERT DATA { triples }
DELETE DATA {triples}
[ DELETE { template } ] [ INSERT { template } ] WHERE {
pattern }
LOAD <uri> [ INTO GRAPH <uri> ]
CLEAR GRAPH <uri>
CREATE [ SILENT ] GRAPH <uri>
DROP [ SILENT ] (GRAPH <uri> | DEFAULT | NAMED | ALL )
28. 28
SPARQL 1.1 - UPDATE
Suppression
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
DELETE DATA
{
<http://www.inria.fr/2007/09/11/humans-instances#John> humans:age 37
}
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
INSERT DATA
{
<http://www.inria.fr/2007/09/11/humans-instances#John>
humans:age 89
}
name AGE
John 89
Mark 14
Flora 95
Lucas 12
Gaston 102
William 42
Karl 36
Pierre 71
Insertion
29. 29
SPARQL 1.1 - UPDATE
DELETE / INSERT
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
DELETE
where
{
?x humans:age 37
}
PREFIX humans: <http://www.inria.fr/2007/09/11/humans#>
INSERT {
?x humans:age 1000 .
}
where {
? x humans:name "Alice"
}
name AGE
John 89
Alice 1000
Flora 95
Lucas 12
Karl 36
30. 30
SPARQL 1.1 - PROTOCOL
Définition
Le protocole SPARQL est un moyen de transmettre des requêtes
et des mises à jour SPARQL des clients aux processeurs SPARQL
Le protocole SPARQL se compose de deux opérations HTTP :
Query opération
Update opération
33. 33
CONCLUSION
SPARQL permet de découvrir la structure d'une base de données.
Cela servira à l'avenir à des agents (machines) sur le Web qui
pourront ainsi découvrir les données disponibles à travers le Web
pour répondre à des questions complexes.
SPARQL ouvre ainsi les portes au Web des données (Linked
Data), qui permettra à l'homme et à la machine de mieux
interpréter les informations à travers le Web, sans service
intermédiaire.