SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL

            Universidad Politécnica de Madrid
                 Programa de Doctorado
Curso de Doctorado Nº 584, http://sinbad.dit.upm.es, DIT-UPM




        Lenguaje De Recuperación De Datos en la Web
                        Semántica

                               SPARQL
                                    Hicham Qaissi



    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 1
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis básica y cláusulas.
• SPARQL. Anatomía de consultas.
• SPARQL. Sintaxis Tripletas.
• SPARQL. Novedades.
   • XSPARQL
• SPARQL/Update (SPARUL).
• Conclusiones
• Referencias.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 2
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Introducción. Objetivo



 Presentación, definición y funcionamiento del proceso
 de recuperación de información en grafos RDF de la
 Web semántica mediante SPARQL (Simple Protocol
 and RDF Query Language).




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 3
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL. Sintaxis Tripletas.
• SPARQL. Novedades.
   • XSPARQL
• SPARQL/Update (SPARUL).
• Conclusiones
• Referencias.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 4
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


Introducción. Debilidad de Internet

  Satisfacción de necesidades limitadas.
  Los motores de búsqueda se caracterizan por:
     Su poca precisión.
     Su poca sensibilidad al significado de las palabras
   de búsqueda.
           “Evitar la guerra” ≠ “Conseguir la paz”
  Solución:
        Inclusión de Metadatos ↔ Web Semántica




    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 5
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Introducción. Web Actual vs. Web Semántica




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 6
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Introducción. Web Semántica. RDF




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 7
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                              Parte V-II. SPARQL


Introducción. Web Semántica. RDF




RDF (Resource Definition Framework):
  Lenguaje de etiquetado basado
  en XML.
   Define un modelo de datos para
  describir recursos.
   Expresa relaciones entre
  objetos y conceptos con
  tripletas.



     Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                    Hicham Qaissi                                 8
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Introducción. Necesidad de RDFS

 RDF expresa propiedades simples sobre recursos.
 Necesidad de definir vocabularios para usar en las propiedades de
 RDF
 RDF puro no provee formas de definir clases o propiedades
 específicas para un dominio.
 RDF Schema no define vocabulario específico de un dominio pero
 introduce elementos para poder definirlo.
 Dichos elementos establecen qué URIrefs son propiedades, clases
 y cómo deben estar relacionadas.
 RDFS introduce un sistema de tipos para RDF.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 9
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


Introducción. Principios de RDFS

  Todos los recursos son instancias de rdfs:Resource.
  Las clases son recursos que describen conjuntos de recursos.
  Se pueden definir jerarquías de clases, y todas las clases son
  instancias de rdfs:Class.
  Las propiedades son recursos que tienen un rango y un dominio.
  Se pueden definir jerarquías de propiedades, y todas las propiedades
  son instancias de rdfs:Property.




    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 10
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Introducción. RDFS. Relación de Elementos.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 11
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


Introducción. Necesidad de un Lenguaje de consulta.

  Los datos en RDF no servirían de nada si no se pueden utilizar.
  Los lenguajes de la Web Semántica necesitan interactuar con los
  datos almacenados en la “base de datos” RDF.
  Necesidad parecida al lenguaje SQL de bases de datos relacionales.



                                               SQ L               BBDD
                                                               Relacionales

     Acceso a Datos

                                            SPARQ L             RDF & OWL



    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 12
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                               Parte V-II. SPARQL


 Introducción. Qué es SPARQL.

Simple Protocol and RDF Query Language, Lenguaje de consulta del ámbito
de la Web Semántica de W3C. Define la sintaxis y la semántica necesarias para
una expresión de consulta sobre un grafo RDF y las diferentes formas de
resultados obtenidos.


Su misión es devolver todas las tripletas o componentes solicitados basándose
en la comparación de una tripleta pasada como parámetro de la consulta (grafo
básico) con todas las tripletas que componen L grafo RDF.
                                          SQ el

Las consultas SPARQL cubren tres objetivos:
      Extraer información en forma de URIs y literales.
      Extraer sub-estructuras RDF.
      Construir nuevas estructuras RDF partiendo de resultados de consultas.


      Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                     Hicham Qaissi                                 13
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL/Update (SPARUL).
• SPARQL++
• Conclusiones
• Referencias.



   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 14
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. Introducción

  SPARQL es un lenguaje consultivo para RDF. Corre paralelo al
  estándar SQL de bases de datos relacionales.
  Recomendación oficial de W3C del 15 de Enero de 2008.
  Estandarizado por Data Access Working Group (DAWG) de W3C.
  Considerado componente de la Web Semántica.
  Implementado en varios lenguajes y bases de datos.
  Ayuda a obtener los recursos de diferentes fuentes identificables.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 15
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL/Update (SPARUL).
• SPARQL++
• Conclusiones
• Referencias.



   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 16
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


SPARQL. Especificaciones
  SPARQL Query Language: Núcleo de SPARQL o componente principal.
 Describe la sintaxis de sus sentencias y su concordancia.
 (Espec.: http://www.w3.org/TR/rdf-sparql-query/).

 SPARQL Protocol for RDF: Formato utilizado para devolver los resultados de las
 consultas (SELECT o ASK), a partir de un esquema RDF-XML.
 (Espec.: http://www.w3.org/TR/rdf-sparql-protocol/).

 SPARUL (SPARQL Update): Hace actualizaciones del contenido RDF.
 Desarrollado por Hewlett-Packard. No reconocido como estándar.
 (Espec.: http://jena.hpl.hp.com/~afs/SPARQL-Update.html)

 SPARQL Query Results XML Format: Describe el acceso remoto a datos y la
 transmisión de consultas del cliente a los procesadores. Utiliza WSDL (Web
 Services Description Language) para implementar protocolos remotos en la
 consulta a bases de datos basada en RDF. (Espec: http://www.w3.org/TR/rdf-
 sparql-XMLres/)


    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 17
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL. Sintaxis Tripletas.
• SPARQL. Novedades.
   • XSPARQL
• SPARQL/Update (SPARUL).
• Conclusiones
• Referencias.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 18
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


SPARQL. Sintaxis. Cláusulas Prologue I.
 Esta parte es opcional en la consulta y es Repetible.
 Tiene dos posibles componentes :BASE y PREFIX.

   BASE<iri>
 Permite cambiar la dirección URI de la base de referencias relativas
 dentro de la consulta. Por ejemplo, los fragmentos siguientes pueden
 hacer referencia a la misma IRI (Internationalized Resource Identifier).
 <http://example.org/book/book1>
 BASE http://example.org/book/
 <book1>
 PREFIX book: http://example.org/book/
 book:book1




    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 19
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


SPARQL. Sintaxis básica. Cláusulas Prologue II.
  PREFIX
     Equivalente a la declaración namespace en XML.
     Define los prefijos para los espacios de nombres.
     Asocia una URI a una etiqueta que se usará mas adelante en
     la consulta.
     Podemos tener cero o más de las siguientes cláusulas
         PREFIX <prefijo> : <URI>
     Se hace referencia al prefijo con “:” en la consulta.
     Se puede definir un prefijo por defecto:
         PREFIX : <URI>




    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 20
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. Sintaxis. Cláusulas Query Result Form I.

  SELECT
    Cláusula requerida en toda consulta.
    Similar al uso especificado por el estándar SQL
    Define las variables a retornar como resultados, cuyos nombres
    deben empezar con ‘?’, y separadas por ‘,’ ejemplo: ?apellido

  DESCRIBE

    Devuelve un grafo RDF describiendo los recursos encontrados.
    Puede ser fuente de datos para otra consulta.
    Es opcional.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 21
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. Sintaxis. Cláusulas Query Result Form II.

  ASK

   Devuelve una variable booleana indicando si la combinación
   Sujeto-Predicado-Objeto de consulta existe en la ontología RDF
   consultada.
   Es opcional.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 22
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. Sintaxis. Cláusulas Query DataSet Sources.
  FROM

  La consulta SPQRL da respuesta a un grafo RDF.
  La cláusula FROM identifica los datos sobre los que se ejecutará la
  consulta.
  Es opcional.
  En caso de no estar incluida en la consulta, el motor de proceso de
  consultas toma como fuente de datos todos los grafos RDF
  disponibles.
  En caso de múltiples FROM, la consulta se realiza sobre la fusión
  de todos los grafos RDF nombrados.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 23
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


SPARQL. Sintaxis. Cláusulas Graph Pattern.
 WHERE
   Patrón de la consulta con una o más tripletas encerradas entre {}.
   Cláusula requerida en caso del Query Result Form ASK.
 OPTIONAL
   Para indicar patrones opcionales. Es opcional.
 DISTINCT
   Asegura la unicidad de los resultados.
 REDUCED
    Permite eliminar las respuestas duplicadas.
 FILTER
   Para imponer constricciones adicionales al patrón de búsqueda.

    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 24
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. Sintaxis. Cláusulas. Query Results Ordering.
 ORDER BY
     Tiene la misma funcionalidad que la definida en SQL.
     Es opcional.

SPARQL. Sintaxis. Cláusulas. Query Results Selection.
 LIMIT n
     Restringe el número de soluciones devueltas.
     Es opcional.
 OFFSET m
     Tiene la misma funcionalidad que la definida en SQL.
     Es opcional.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 25
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL. Sintaxis Tripletas.
• SPARQL. Novedades.
   • XSPARQL
• SPARQL/Update (SPARUL).
• Conclusiones
• Referencias.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 26
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                               Parte V-II. SPARQL

SPARQL. Ejemplos de consultas I
http://www.yoyodesign.org/doc/w3c/rdf-sparql-query/#ask

PREFIX prefijo1: <uri1>
PREFIX prefijo2: <uri2>
                                                                              1
SELECT ?var
WHERE { prefijo1:sujeto prefijo2:predicado ?var }

PREFIX prefijo1: <uri1>
SELECT ?var
                                                                               2
 WHERE { prefijo1:sujeto <uri2/predicado> ?var}

SELECT ?var                                                                    3
 WHERE { <uri1/sujeto> ?var <uri2/objeto> }
  1 y 2 son consultas equivalentes. La variable buscada es un objeto (recordar
  que las consultas se realizan sobre conjuntos de Sujeto-Predicado-Objeto).
   En 2 se hace referencia al predicado directamente con la uri correspondiente
  sin utilizar un prefijo.
  En 3 no se utiliza prefijo y la variable buscada es un predicado.

      Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                     Hicham Qaissi                                 27
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                               Parte V-II. SPARQL

 SPARQL. Ejemplos de consultas II
@prefix book: <http://example.org/book/> .
@prefix ttl: <http://purl.org/dc/elements/1.1/> .
book:book1 ttl:title "SPARQL Tutorial 1“                                      1
book:book2 ttl:title "SPARQL Tutorial 2“
book:book3 ttl:title "SPARQL Tutorial 3”

PREFIX book_: <http://example.org/book/>
PREFIX ttl_: <http://purl.org/dc/elements/1.1/>                               2
SELECT ?title
WHERE { book_:book1 ttl_:title ?title .}

SELECT ?title
WHERE
{                                                                             3
         <http://example.org/book/book1>
         <http://purl.org/dc/elements/1.1/title>
         ?title .
}


        1 corresponde a los datos del grado RDF (Anotaciones Turtle).
        2 y 3 son consultas equivalentes.

      Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                     Hicham Qaissi                                 28
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL

SPARQL. Ejemplos de consultas III
 @prefix foaf:     <http://xmlns.com/foaf/0.1/> .
 _:a foaf:name     "Johnny Lee Outlaw" .
 _:a foaf:mbox     <mailto:jlow@example.com> .                                     1
 _:b foaf:name     "Peter Goodguy" .
 _:b foaf:mbox     <mailto:peter@example.org> .
 _:c foaf:mbox     <mailto:carol@example.org> .

 PREFIX foaf: <http://xmlns.com/foaf/0.1/>
 SELECT ?name ?mbox                                                                2
 WHERE
    { ?x foaf:name ?name .
      ?x foaf:mbox ?mbox }

                   name                                    mbox
                                                                                   3
 “Johnny Lee Outlaw”                       <mailto:jlow@example.com>
 "Peter Goodguy"                           <mailto:peter@example.org>

  1    corresponde a los datos del grafo RDF a consultar.
  La consulta 2     busca 2 variables, ambas corresponden a un objeto.
   3 es la respuesta, y no contiene la 6º línea del grafo RDF por no cumplir la condición.

      Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                     Hicham Qaissi                                     29
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                               Parte V-II. SPARQL

 SPARQL. Ejemplos de consultas IV (Filtrado de Literales)
@prefix dt: <http://example.org/datatype#> .
@prefix ns: <http://example.org/ns#> .
@prefix : <http://example.org/ns#> .                                          1
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x ns:p "car“@en .
:y ns:p “10"^^xsd:integer .
:z ns:p "abc"^^dt:specialDatatype .

PREFIX   foaf: <http://xmlns.com/foaf/0.1/>
SELECT   ?v WHERE { ?v ?p "car" } 2
SELECT   ?v WHERE { ?v ?p "car"@en } 3
SELECT   ?v WHERE { ?v ?p 10 } 4
SELECT   ?v WHERE { ?v ?p "abc"^^<http://example.org/datatype#specialDatatype> }           5

  1 con los datos del grafo RDF a consultar.
  2 no devuelve resultado alguna porque el sujeto y predicado buscados corresponden a un
    sujeto descrito en un idioma concreto que no está indicado en la consulta.
  4 devuelve una solución con la variable v correspondiente a :y.



         Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                        Hicham Qaissi                                 30
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                                Parte V-II. SPARQL

 SPARQL. Ejemplos de consultas V (CONSTRUCT)
@prefix org: <http://example.com/ns#> .
_:a org:employeeName "Alice" .
_:a org:employeeId 12345 .                                                   1
_:b org:employeeName "Bob" .
_:b org:employeeId 67890 .

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX org: <http://example.com/ns#>
CONSTRUCT { ?x foaf:name ?name }                                             2
WHERE { ?x org:employeeName ?name }

@prefix org: <http://example.com/ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
_:x foaf:name "Alice" .                                                       3
_:y foaf:name "Bob" .



La sentencia CONSTRUCT 2 devuelve el grafo RDF 3 . Este grafo se construye a
partir de una plantilla utilizada para generar las tripletas en función de resultados que
concuerdan con el patrón grafico básico (que se pasa en la cláusula WHERE).


       Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM    17/06/2009
                                      Hicham Qaissi                                         31
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL

SPARQL. Ejemplos de consultas VI (FILTER I)
   @prefix dc: <http://purl.org/dc/elements/1.1/> .
   @prefix : <http://example.org/book/> .
   @prefix ns: <http://example.org/ns#> .                                  1
   :book1 dc:title "SPARQL Tutorial" .
   :book1 ns:price 42 .
   :book2 dc:title "The Semantic Web" .
   :book2 ns:price 23 .

   PREFIX dc: <http://purl.org/dc/elements/1.1/>
   SELECT ?title
   WHERE                                                                   2
   { ?x dc:title ?title
         FILTER regex(?title, "^SPARQL")
   }
   PREFIX dc: <http://purl.org/dc/elements/1.1/>
   PREFIX ns: <http://example.org/ns#>
   SELECT ?title ?price
   WHERE {                                                                 3
   ?x ns:price ?price .
   FILTER (?price < 30.5)
   ?x dc:title ?title .
   }


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 32
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL

SPARQL. Ejemplos de consultas VI (FILTER II)

  @prefix dc: <http://purl.org/dc/elements/1.1/> .
  @prefix : <http://example.org/book/> .                                             1
  @prefix ns: <http://example.org/ns#> .
  :book1 dc:title "SPARQL Tutorial" .
  :book1 ns:price 42 .
  :book2 dc:title "The Semantic Web" .
  :book2 ns:price 23 .

  PREFIX dc: <http://purl.org/dc/elements/1.1/>
  SELECT ?title                                                                      2
  WHERE
  {
  ?x dc:title ?title
        FILTER regex(?title, “Web“, “i”)
  }


  “i” nos indica que filtramos sin tener en cuenta el case sensitive.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM        17/06/2009
                                  Hicham Qaissi                                          33
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                                 Parte V-II. SPARQL

SPARQL. Ejemplos de consultas VII (ASK)

@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a foaf:name "Alice" .
_:a foaf:homepage <http://work.example.org/alice/> .                         1
_:b foaf:name "Bob" .
_:b foaf:mbox <mailto:bob@work.example> .



PREFIX foaf: <http://xmlns.com/foaf/0.1/>                                   2
ASK { ?x foaf:name "Alice" }




La consulta 2 devuelve ‘yes’ ya que la tripleta a comprobar existe en el grafo de consulta




        Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                       Hicham Qaissi                                   34
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                              Parte V-II. SPARQL

SPARQL. Ejemplos de consultas VIII (OPTIONAL I)
 @prefix dc: <http://purl.org/dc/elements/1.1/> .
 @prefix : <http://example.org/book/> .
 @prefix ns: <http://example.org/ns#> .                                             1
 :book1 dc:title "SPARQL Tutorial" .
 :book1 ns:price 42 .
 :book2 dc:title "The Semantic Web" .
 :book2 ns:price 23 .

 PREFIX dc: <http://purl.org/dc/elements/1.1/>
 PREFIX ns: <http://example.org/ns#>                                                2
 SELECT ?title ?price
 WHERE { ?x dc:title ?title .
             OPTIONAL { ?x ns:price ?price . FILTER (?price < 30) }
 }

                    title                                      price

     “SPARQL Tutorial”
                                                                                    3
     “The Semantic Web"                    23

       La cláusula OPTIONAL en       2 debe cumplirse en la respuesta a la consulta.

     Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM     17/06/2009
                                    Hicham Qaissi                                       35
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL

SPARQL. Ejemplos de consultas VIII (OPTIONAL II)
  @prefix foaf: <http://xmlns.com/foaf/0.1/> .
  _:a foaf:name "Alice" .
  _:a foaf:homepage <http://work.example.org/alice/> .                         1
  _:b foaf:name "Bob" .
  _:b foaf:mbox <mailto:bob@work.example> .

 PREFIX foaf: <http://xmlns.com/foaf/0.1/>
                                                                               2
 SELECT ?name ?mbox ?hpage
 WHERE { ?x foaf:name ?name .
          OPTIONAL { ?x foaf:mbox ?mbox } .
          OPTIONAL { ?x foaf:homepage ?hpage }
 }

  name                      mbox                                    hpage
Alice                                             <http://work.example.org/alice/>

“Bob"        <mailto:bob@work.example>                                             3
                                                                                       3
    En este caso, la consulta    2    cuenta con dos cláusulas OPTIONAL.


    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM     17/06/2009
                                   Hicham Qaissi                                       36
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL

SPARQL. Ejemplos de consultas IX (UNION I)
 @prefix dc10: <http://purl.org/dc/elements/1.0/> .
 @prefix dc11: <http://purl.org/dc/elements/1.1/> .
 _:a dc10:title "SPARQL Query Language Tutorial" .
 _:a dc10:creator "Alice" .                                                    1
 _:b dc11:title "SPARQL Protocol Tutorial" .
 _:b dc11:creator "Bob" .
 _:c dc10:title "SPARQL" .
 _:c dc11:title "SPARQL (updated)" .

 PREFIX dc10: <http://purl.org/dc/elements/1.0/>                  2
 PREFIX dc11: <http://purl.org/dc/elements/1.1/>
 SELECT ?title
 WHERE {{ ?book dc10:title ?title } UNION { ?book dc11:title ?title }

                                         title
                                                                           3
      “SPARQL Query Language Tutorial”
      “SPARQL”

      “SPARQL (updated)”

      “SPARQL Query Language Tutorial”


    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                   37
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                                 Parte V-II. SPARQL

 SPARQL. Ejemplos de consultas IX (UNION II)
PREFIX dc10: <http://purl.org/dc/elements/1.0/>
PREFIX dc11: <http://purl.org/dc/elements/1.1/>                                  2
SELECT ?x ?y
WHERE { { ?book dc10:title ?x } UNION { ?book dc11:title ?y } }


                         x                                              y
                                                                                     3
                                                      “SPARQL (updated)”
                                                      “SPARQL Protocol Tutorial”         3
“SPARQL”
“SPARQL Query Language Tutorial”


   El resultado obtenido en 3 es la unión de los resultados correspondientes a cada
   cláusula UNION en la consulta 2 .




        Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM       17/06/2009
                                       Hicham Qaissi                                     38
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                              Parte V-II. SPARQL

SPARQL. Ejemplos de consultas IX (UNION III)
PREFIX dc10: <http://purl.org/dc/elements/1.0/>
PREFIX dc11: <http://purl.org/dc/elements/1.1/>
SELECT ?title ?author
WHERE {                                                                       2
{ ?book dc10:title ?title . ?book dc10:creator ?author }
     UNION
{ ?book dc11:title ?title . ?book dc11:creator ?author }
 }



                  title                                              author
                                                                                    3
“SPARQL Protocol Tutorial”                      “Alice”
“SPARQL Query Language Tutorial”                “Bob”


Cláusula UNION entre dos condiciones compuestas por dos tripletas cada una.




     Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM     17/06/2009
                                    Hicham Qaissi                                       39
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL. Sintaxis de Tripletas.
• SPARQL. Novedades.
   • XSPARQL
• SPARQL/Update (SPARUL).
• Conclusiones
• Referencias.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 40
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                               Parte V-II. SPARQL


SPARQL. Sintaxis de Tripletas
     ?x foaf:name ?name ;
          foaf:mbox ?mbox .                                                        1

     ?x foaf:nick "Alice" , "Alice_" .                                             2

     ?x foaf:name ?name ;
                                                                                   3
        foaf:nick "Alice" ,"Alice_" .



 1    define una forma de utilizar sujetos comunes.
2     describe la forma de utilizar una lista de objetos.
3     es una tripleta combinación entre 1 y       2 .




      Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                     Hicham Qaissi                                     41
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL. Sintaxis de Tripletas.
• SPARQL. Novedades.
   • XSPARQL
• SPARQL/Update (SPARUL).
• Conclusiones
• Referencias.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 42
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. Novedades. XSPARQL I

 La traducción entre ficheros XML y RDF es tediosa y propensa a
 errores
 W3C y SAWSDL tienen muy en cuenta esta dificultad.
 XSPARQL propone soluciones intuitivas y precisas para el mapeo
 entre XML y RDF en ambas direcciones.
 Tiene un motor de evaluación.
  Existen unas demos online.
  Para mas información: http://xsparql.deri.org/




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 43
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. Novedades. XSPARQL II


                                            XSLT/XQuery            XML
                                       ¿?



   RDF                     SPARQL


      Se echaba en falta una herramienta para traducir RDF a XML.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 44
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. Novedades. XSPARQL II


                                              XSLT/XQuery          XML
                                       XSPARQL



           RDF                   SPARQL


      Se echaba en falta una herramienta para traducir RDF a XML.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 45
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL. Sintaxis de Tripletas.
• SPARQL. Novedades.
   • XSPARQL
• SPARQL/Update (SPARUL).
• Conclusiones
• Referencias.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 46
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


SPARQL. SPARQL/UPDATE (SPARUL) I.


  Derivado de SPARQL para actualizar grafos RDF’s
  Cubre las sentencias Create, Update y Delete del conjunto CRUD.
  Desarrollado por Hewllet Packard.
  No es recomendación de W3C aún.
   Clausulas: INSERT, DELETE y MODIFY, LOAD, CLEAR, CREATE
  y DROP.




   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 47
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                              Parte V-II. SPARQL


SPARQL. SPARQL/UPDATE (SPARUL) II.

PREFIX dc: <http://purl.org/dc/elements/1.1/>
DELETE DATA FROM <http://example/bookStore>
{ <http://example/book3> dc:title "Fundamentals of Compiler Desing“}
INSERT DATA INTO <http://example/bookStore>
{ <http://example/book3> dc:title "Fundamentals of Compiler Design“}


Esta solicitud borra una tripleta y añade otra de la fuente RDF
http://example/bookStore.
La diferencia entre MODIFY/INSERT/DELETE e INSERT DATA y DELETE DATA
es que éstas últimas no tienen una plantilla patrón (como en la Cláusula
WHERE), y necesitan datos concretos.




     Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                    Hicham Qaissi                                 48
                                                                                  48
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                               Parte V-II. SPARQL


SPARQL. SPARQL/UPDATE (SPARUL) III.

PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
DELETE { ?book ?p ?v }
WHERE
{
   ?book dc:date ?date .
   FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime )
   ?book ?p ?v
}


Esta consulta borra todas las tripletas de libros con fecha inferior al año 2000.




       Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM     17/06/2009
                                      Hicham Qaissi                                   49
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                               Parte V-II. SPARQL


SPARQL. SPARQL/UPDATE (SPARUL) IV.
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
INSERT INTO <http://example/bookStore2>
  { ?book ?p ?v }
WHERE
   {    GRAPH     <http://example/bookStore>
              {   ?book dc:date ?date .
                  FILTER ( ?date < "2000-01-
01T00:00:00"^^xsd:dateTime )
                  ?book ?p ?v
              }
   }

Esta consulta copia todas las tripletas de libros con fecha inferior al año 2000 de un grafo
fuente http://example/bookStore a otro grafo destino http://example/bookStore2




       Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM     17/06/2009
                                      Hicham Qaissi                                       50
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                               Parte V-II. SPARQL


SPARQL. SPARQL/UPDATE (SPARUL) V.

 La operación MODIFY borra un conjunto de tripletas y añade otro conjunto de las mismas.

 La operación LOAD copia todas las tripletas de un grafo a otro.

 La operación CLEAR borra todas las tripletas de un grafo especificado.

 La operación CREATE crea un nuevo grafo cuyo nombre viene especificado en la URI. A
partir de ese instante, el nuevo grafo está disponible para cualquier operación de SPARUL.

                             CREATE GRAPH <uri>

 La operación DROP borra el grafo cuyo nombre viene especificado en la URI.

                             DROP GRAPH <uri>




      Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                     Hicham Qaissi                                     51
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                            Parte V-II. SPARQL


Índice
• Introducción.
• Descripción de SPARQL
   • Introducción
   • Especificaciones
• SPARQL. Sintaxis y cláusulas.
• SPARQL. Ejemplos de consultas.
• SPARQL. Sintaxis de Tripletas.
• SPARQL. Novedades.
   • XSPARQL
• SPARQL/Update (SPARUL).
• Conclusiones.
• Referencias.


   Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                  Hicham Qaissi                                 52
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL

Conclusiones.
  Es muy parecido a SQL en la elaboración de consultas, con una serie
  de diferencias propias de cada modelo.
   Es el principal lenguaje de consulta utilizado en la Web Semántica.
   Muchas plataformas de RDF ya lo implementan (Protegé y Jena
  Semantic Web Toolkit).
  Existe poca información sobre ello ya que es reciente en W3C.
  Su versión de actualización SPARQL/Update no es recomendación
  aún.
  Queda mucho por investigar, sobre todo en SPARUL.
  Interesante y atractivo tema para encarrilar tesis doctorales…




    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 53
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


Índice

 • Introducción.
 • Descripción de SPARQL
    • Introducción
    • Especificaciones
 • SPARQL. Sintaxis y cláusulas.
 • SPARQL. Ejemplos de consultas.
 • SPARQL. Sintaxis de Tripletas.
 • SPARQL. Novedades.
    • XSPARQL
 • SPARQL/Update (SPARUL).
 • Conclusiones
 • Referencias.


    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 54
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                             Parte V-II. SPARQL


Referencias.

  1.   I. Herman. (2007). "Introduction to the Semantic Web." Retrieved
       10/08/2007, from http://www.w3.org/2007/Talks/0423-Stavanger-IH/.
  2.   http://www.w3.org/Submission/2008/SUBM-SPARQL-Update-20080715/
  3.   W3C World Wide Web Consortium. (2007). "SPARQL Query Language
       for RDF." Retrieved 10/08/2007, from http://www.w3.org/TR/rdf-sparql-
       query/#basicpatterns.
  4.   W3C World Wide Web Consortium. (2007). "SPARQL Protocol for
       RDF." Retrieved 10/08/2007, from http://www.w3.org/TR/rdf-sparql-
       protocol/.
  5.   W3C World Wide Web Consortium. (2007). "SPARQL Query Results
       XML Format." Retrieved 10/08/2007, from http://www.w3.org/TR/rdf-
       sparql-XMLres/.
  6.   D. Beckett, "SPARQL RDF Query Language Reference v1.8," 2006.
  7.   http://xsparql.deri.org/ XSPARQL


    Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                   Hicham Qaissi                                 55
Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica
                          Parte V-II. SPARQL




                               Gracias...




 Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM   17/06/2009
                                Hicham Qaissi                                 56

Más contenido relacionado

La actualidad más candente

Consultas sparql en dbpedia
Consultas sparql en dbpediaConsultas sparql en dbpedia
Consultas sparql en dbpediaIsrael Rey
 
02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos
02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos
02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de DatosDatos.gob.es
 
Parte 2. web semantica eva mendez - argentina - 301009
Parte 2. web semantica   eva mendez - argentina - 301009Parte 2. web semantica   eva mendez - argentina - 301009
Parte 2. web semantica eva mendez - argentina - 301009izrxrzi
 
Tripletas De Sistemas Basados En El Conocimiento
Tripletas De Sistemas Basados En El ConocimientoTripletas De Sistemas Basados En El Conocimiento
Tripletas De Sistemas Basados En El ConocimientoGabriela Puglla
 
Utilidad de los datos enlazados para la terminología
Utilidad de los datos enlazados para la terminología Utilidad de los datos enlazados para la terminología
Utilidad de los datos enlazados para la terminología Jorge Gracia
 

La actualidad más candente (11)

23 sparql
23 sparql23 sparql
23 sparql
 
Sparql
SparqlSparql
Sparql
 
Red Ontologías Hércules – ROH
Red Ontologías Hércules – ROHRed Ontologías Hércules – ROH
Red Ontologías Hércules – ROH
 
Consultas sparql en dbpedia
Consultas sparql en dbpediaConsultas sparql en dbpedia
Consultas sparql en dbpedia
 
Rdf
RdfRdf
Rdf
 
02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos
02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos
02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos
 
Parte 2. web semantica eva mendez - argentina - 301009
Parte 2. web semantica   eva mendez - argentina - 301009Parte 2. web semantica   eva mendez - argentina - 301009
Parte 2. web semantica eva mendez - argentina - 301009
 
Websemanticasidar03
Websemanticasidar03Websemanticasidar03
Websemanticasidar03
 
Introduccion a OpenData
Introduccion a OpenDataIntroduccion a OpenData
Introduccion a OpenData
 
Tripletas De Sistemas Basados En El Conocimiento
Tripletas De Sistemas Basados En El ConocimientoTripletas De Sistemas Basados En El Conocimiento
Tripletas De Sistemas Basados En El Conocimiento
 
Utilidad de los datos enlazados para la terminología
Utilidad de los datos enlazados para la terminología Utilidad de los datos enlazados para la terminología
Utilidad de los datos enlazados para la terminología
 

Similar a SPARQL

The Web of Data
The Web of DataThe Web of Data
The Web of Databetabeers
 
Evaluación de base de datos rdf
Evaluación de base de datos rdfEvaluación de base de datos rdf
Evaluación de base de datos rdfIsrael Rey
 
Fesabid 2011 drupal web semántica
Fesabid 2011   drupal web semánticaFesabid 2011   drupal web semántica
Fesabid 2011 drupal web semánticaFESABID
 
Web semantica
Web semanticaWeb semantica
Web semanticaacmedinaj
 
Web semantica
Web semanticaWeb semantica
Web semanticaUniminuto
 
MCT Summit 2017 Colombia - IPv6 - New Netwoking (Spanish)
MCT Summit 2017 Colombia - IPv6 - New Netwoking (Spanish)MCT Summit 2017 Colombia - IPv6 - New Netwoking (Spanish)
MCT Summit 2017 Colombia - IPv6 - New Netwoking (Spanish)CloudFirst Campus
 
Web semantica
Web semanticaWeb semantica
Web semanticaUniminuto
 
Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]Gustavo Bernardo
 
Organización y descripción de información en wikis semánticos: Wikibase, Sema...
Organización y descripción de información en wikis semánticos: Wikibase, Sema...Organización y descripción de información en wikis semánticos: Wikibase, Sema...
Organización y descripción de información en wikis semánticos: Wikibase, Sema...Jesús Tramullas
 
Trabajo de informatica (linanliutaylor maciel) (1)
Trabajo de informatica (linanliutaylor maciel) (1)Trabajo de informatica (linanliutaylor maciel) (1)
Trabajo de informatica (linanliutaylor maciel) (1)tailon22
 
Trabajo de informatica (linanliu,taylor maciel) (1)
Trabajo de informatica (linanliu,taylor maciel) (1)Trabajo de informatica (linanliu,taylor maciel) (1)
Trabajo de informatica (linanliu,taylor maciel) (1)tailon22
 
Taller: Ontologías: diseño y acceso a datos con SPARQL (18 de mayo de 2018)
Taller: Ontologías: diseño y acceso a datos con SPARQL (18 de mayo de 2018)Taller: Ontologías: diseño y acceso a datos con SPARQL (18 de mayo de 2018)
Taller: Ontologías: diseño y acceso a datos con SPARQL (18 de mayo de 2018)SEDIC
 
Las principales bases de datos existentes
Las principales bases de datos existentesLas principales bases de datos existentes
Las principales bases de datos existentesDolores Leonor
 
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...Mundo Contact
 
Open Data y Drupal
Open Data y DrupalOpen Data y Drupal
Open Data y DrupalOpenKratio
 
Las principales bases de datos existentes
Las principales bases de datos existentesLas principales bases de datos existentes
Las principales bases de datos existentesDolores Leonor
 
Introducción a la programación de la Web Semántica
Introducción a la programación de la Web Semántica Introducción a la programación de la Web Semántica
Introducción a la programación de la Web Semántica Taniana Rodriguez
 

Similar a SPARQL (20)

The Web of Data
The Web of DataThe Web of Data
The Web of Data
 
Web semantica
Web semanticaWeb semantica
Web semantica
 
Evaluación de base de datos rdf
Evaluación de base de datos rdfEvaluación de base de datos rdf
Evaluación de base de datos rdf
 
Fesabid 2011 drupal web semántica
Fesabid 2011   drupal web semánticaFesabid 2011   drupal web semántica
Fesabid 2011 drupal web semántica
 
Web semantica
Web semanticaWeb semantica
Web semantica
 
Web semantica
Web semanticaWeb semantica
Web semantica
 
MCT Summit 2017 Colombia - IPv6 - New Netwoking (Spanish)
MCT Summit 2017 Colombia - IPv6 - New Netwoking (Spanish)MCT Summit 2017 Colombia - IPv6 - New Netwoking (Spanish)
MCT Summit 2017 Colombia - IPv6 - New Netwoking (Spanish)
 
New Networking IPv6
New Networking IPv6New Networking IPv6
New Networking IPv6
 
Web semantica
Web semanticaWeb semantica
Web semantica
 
Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]
 
Organización y descripción de información en wikis semánticos: Wikibase, Sema...
Organización y descripción de información en wikis semánticos: Wikibase, Sema...Organización y descripción de información en wikis semánticos: Wikibase, Sema...
Organización y descripción de información en wikis semánticos: Wikibase, Sema...
 
Trabajo de informatica (linanliutaylor maciel) (1)
Trabajo de informatica (linanliutaylor maciel) (1)Trabajo de informatica (linanliutaylor maciel) (1)
Trabajo de informatica (linanliutaylor maciel) (1)
 
Trabajo de informatica (linanliu,taylor maciel) (1)
Trabajo de informatica (linanliu,taylor maciel) (1)Trabajo de informatica (linanliu,taylor maciel) (1)
Trabajo de informatica (linanliu,taylor maciel) (1)
 
Taller: Ontologías: diseño y acceso a datos con SPARQL (18 de mayo de 2018)
Taller: Ontologías: diseño y acceso a datos con SPARQL (18 de mayo de 2018)Taller: Ontologías: diseño y acceso a datos con SPARQL (18 de mayo de 2018)
Taller: Ontologías: diseño y acceso a datos con SPARQL (18 de mayo de 2018)
 
Las principales bases de datos existentes
Las principales bases de datos existentesLas principales bases de datos existentes
Las principales bases de datos existentes
 
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
Open Data y Drupal
Open Data y DrupalOpen Data y Drupal
Open Data y Drupal
 
Las principales bases de datos existentes
Las principales bases de datos existentesLas principales bases de datos existentes
Las principales bases de datos existentes
 
Introducción a la programación de la Web Semántica
Introducción a la programación de la Web Semántica Introducción a la programación de la Web Semántica
Introducción a la programación de la Web Semántica
 

Más de Hicham QAISSI

Blockchain for business. Interview-based article - October 2019. Polytechnic ...
Blockchain for business. Interview-based article - October 2019. Polytechnic ...Blockchain for business. Interview-based article - October 2019. Polytechnic ...
Blockchain for business. Interview-based article - October 2019. Polytechnic ...Hicham QAISSI
 
International Business Isbn-9780273766957 - Points-counterpoints
International Business Isbn-9780273766957 - Points-counterpointsInternational Business Isbn-9780273766957 - Points-counterpoints
International Business Isbn-9780273766957 - Points-counterpointsHicham QAISSI
 
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java processJdom how it works & how it opened the java process
Jdom how it works & how it opened the java processHicham QAISSI
 
SAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginnersSAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginnersHicham QAISSI
 
Mobil Social Networks
Mobil Social NetworksMobil Social Networks
Mobil Social NetworksHicham QAISSI
 
J2EE Servlets Tutorial
J2EE Servlets TutorialJ2EE Servlets Tutorial
J2EE Servlets TutorialHicham QAISSI
 

Más de Hicham QAISSI (9)

Blockchain for business. Interview-based article - October 2019. Polytechnic ...
Blockchain for business. Interview-based article - October 2019. Polytechnic ...Blockchain for business. Interview-based article - October 2019. Polytechnic ...
Blockchain for business. Interview-based article - October 2019. Polytechnic ...
 
International Business Isbn-9780273766957 - Points-counterpoints
International Business Isbn-9780273766957 - Points-counterpointsInternational Business Isbn-9780273766957 - Points-counterpoints
International Business Isbn-9780273766957 - Points-counterpoints
 
XML de A a Z
XML de A a ZXML de A a Z
XML de A a Z
 
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java processJdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
 
JDOM makes xml easy
JDOM makes xml easyJDOM makes xml easy
JDOM makes xml easy
 
SAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginnersSAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginners
 
JSTLQuick Reference
JSTLQuick ReferenceJSTLQuick Reference
JSTLQuick Reference
 
Mobil Social Networks
Mobil Social NetworksMobil Social Networks
Mobil Social Networks
 
J2EE Servlets Tutorial
J2EE Servlets TutorialJ2EE Servlets Tutorial
J2EE Servlets Tutorial
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 

SPARQL

  • 1. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Universidad Politécnica de Madrid Programa de Doctorado Curso de Doctorado Nº 584, http://sinbad.dit.upm.es, DIT-UPM Lenguaje De Recuperación De Datos en la Web Semántica SPARQL Hicham Qaissi Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 1
  • 2. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis básica y cláusulas. • SPARQL. Anatomía de consultas. • SPARQL. Sintaxis Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 2
  • 3. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Objetivo Presentación, definición y funcionamiento del proceso de recuperación de información en grafos RDF de la Web semántica mediante SPARQL (Simple Protocol and RDF Query Language). Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 3
  • 4. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL. Sintaxis Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 4
  • 5. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Debilidad de Internet Satisfacción de necesidades limitadas. Los motores de búsqueda se caracterizan por: Su poca precisión. Su poca sensibilidad al significado de las palabras de búsqueda. “Evitar la guerra” ≠ “Conseguir la paz” Solución: Inclusión de Metadatos ↔ Web Semántica Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 5
  • 6. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Web Actual vs. Web Semántica Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 6
  • 7. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Web Semántica. RDF Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 7
  • 8. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Web Semántica. RDF RDF (Resource Definition Framework): Lenguaje de etiquetado basado en XML. Define un modelo de datos para describir recursos. Expresa relaciones entre objetos y conceptos con tripletas. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 8
  • 9. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Necesidad de RDFS RDF expresa propiedades simples sobre recursos. Necesidad de definir vocabularios para usar en las propiedades de RDF RDF puro no provee formas de definir clases o propiedades específicas para un dominio. RDF Schema no define vocabulario específico de un dominio pero introduce elementos para poder definirlo. Dichos elementos establecen qué URIrefs son propiedades, clases y cómo deben estar relacionadas. RDFS introduce un sistema de tipos para RDF. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 9
  • 10. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Principios de RDFS Todos los recursos son instancias de rdfs:Resource. Las clases son recursos que describen conjuntos de recursos. Se pueden definir jerarquías de clases, y todas las clases son instancias de rdfs:Class. Las propiedades son recursos que tienen un rango y un dominio. Se pueden definir jerarquías de propiedades, y todas las propiedades son instancias de rdfs:Property. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 10
  • 11. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. RDFS. Relación de Elementos. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 11
  • 12. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Necesidad de un Lenguaje de consulta. Los datos en RDF no servirían de nada si no se pueden utilizar. Los lenguajes de la Web Semántica necesitan interactuar con los datos almacenados en la “base de datos” RDF. Necesidad parecida al lenguaje SQL de bases de datos relacionales. SQ L BBDD Relacionales Acceso a Datos SPARQ L RDF & OWL Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 12
  • 13. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Introducción. Qué es SPARQL. Simple Protocol and RDF Query Language, Lenguaje de consulta del ámbito de la Web Semántica de W3C. Define la sintaxis y la semántica necesarias para una expresión de consulta sobre un grafo RDF y las diferentes formas de resultados obtenidos. Su misión es devolver todas las tripletas o componentes solicitados basándose en la comparación de una tripleta pasada como parámetro de la consulta (grafo básico) con todas las tripletas que componen L grafo RDF. SQ el Las consultas SPARQL cubren tres objetivos: Extraer información en forma de URIs y literales. Extraer sub-estructuras RDF. Construir nuevas estructuras RDF partiendo de resultados de consultas. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 13
  • 14. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL/Update (SPARUL). • SPARQL++ • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 14
  • 15. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Introducción SPARQL es un lenguaje consultivo para RDF. Corre paralelo al estándar SQL de bases de datos relacionales. Recomendación oficial de W3C del 15 de Enero de 2008. Estandarizado por Data Access Working Group (DAWG) de W3C. Considerado componente de la Web Semántica. Implementado en varios lenguajes y bases de datos. Ayuda a obtener los recursos de diferentes fuentes identificables. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 15
  • 16. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL/Update (SPARUL). • SPARQL++ • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 16
  • 17. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Especificaciones SPARQL Query Language: Núcleo de SPARQL o componente principal. Describe la sintaxis de sus sentencias y su concordancia. (Espec.: http://www.w3.org/TR/rdf-sparql-query/). SPARQL Protocol for RDF: Formato utilizado para devolver los resultados de las consultas (SELECT o ASK), a partir de un esquema RDF-XML. (Espec.: http://www.w3.org/TR/rdf-sparql-protocol/). SPARUL (SPARQL Update): Hace actualizaciones del contenido RDF. Desarrollado por Hewlett-Packard. No reconocido como estándar. (Espec.: http://jena.hpl.hp.com/~afs/SPARQL-Update.html) SPARQL Query Results XML Format: Describe el acceso remoto a datos y la transmisión de consultas del cliente a los procesadores. Utiliza WSDL (Web Services Description Language) para implementar protocolos remotos en la consulta a bases de datos basada en RDF. (Espec: http://www.w3.org/TR/rdf- sparql-XMLres/) Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 17
  • 18. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL. Sintaxis Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 18
  • 19. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Sintaxis. Cláusulas Prologue I. Esta parte es opcional en la consulta y es Repetible. Tiene dos posibles componentes :BASE y PREFIX. BASE<iri> Permite cambiar la dirección URI de la base de referencias relativas dentro de la consulta. Por ejemplo, los fragmentos siguientes pueden hacer referencia a la misma IRI (Internationalized Resource Identifier). <http://example.org/book/book1> BASE http://example.org/book/ <book1> PREFIX book: http://example.org/book/ book:book1 Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 19
  • 20. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Sintaxis básica. Cláusulas Prologue II. PREFIX Equivalente a la declaración namespace en XML. Define los prefijos para los espacios de nombres. Asocia una URI a una etiqueta que se usará mas adelante en la consulta. Podemos tener cero o más de las siguientes cláusulas PREFIX <prefijo> : <URI> Se hace referencia al prefijo con “:” en la consulta. Se puede definir un prefijo por defecto: PREFIX : <URI> Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 20
  • 21. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Sintaxis. Cláusulas Query Result Form I. SELECT Cláusula requerida en toda consulta. Similar al uso especificado por el estándar SQL Define las variables a retornar como resultados, cuyos nombres deben empezar con ‘?’, y separadas por ‘,’ ejemplo: ?apellido DESCRIBE Devuelve un grafo RDF describiendo los recursos encontrados. Puede ser fuente de datos para otra consulta. Es opcional. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 21
  • 22. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Sintaxis. Cláusulas Query Result Form II. ASK Devuelve una variable booleana indicando si la combinación Sujeto-Predicado-Objeto de consulta existe en la ontología RDF consultada. Es opcional. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 22
  • 23. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Sintaxis. Cláusulas Query DataSet Sources. FROM La consulta SPQRL da respuesta a un grafo RDF. La cláusula FROM identifica los datos sobre los que se ejecutará la consulta. Es opcional. En caso de no estar incluida en la consulta, el motor de proceso de consultas toma como fuente de datos todos los grafos RDF disponibles. En caso de múltiples FROM, la consulta se realiza sobre la fusión de todos los grafos RDF nombrados. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 23
  • 24. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Sintaxis. Cláusulas Graph Pattern. WHERE Patrón de la consulta con una o más tripletas encerradas entre {}. Cláusula requerida en caso del Query Result Form ASK. OPTIONAL Para indicar patrones opcionales. Es opcional. DISTINCT Asegura la unicidad de los resultados. REDUCED Permite eliminar las respuestas duplicadas. FILTER Para imponer constricciones adicionales al patrón de búsqueda. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 24
  • 25. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Sintaxis. Cláusulas. Query Results Ordering. ORDER BY Tiene la misma funcionalidad que la definida en SQL. Es opcional. SPARQL. Sintaxis. Cláusulas. Query Results Selection. LIMIT n Restringe el número de soluciones devueltas. Es opcional. OFFSET m Tiene la misma funcionalidad que la definida en SQL. Es opcional. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 25
  • 26. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL. Sintaxis Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 26
  • 27. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas I http://www.yoyodesign.org/doc/w3c/rdf-sparql-query/#ask PREFIX prefijo1: <uri1> PREFIX prefijo2: <uri2> 1 SELECT ?var WHERE { prefijo1:sujeto prefijo2:predicado ?var } PREFIX prefijo1: <uri1> SELECT ?var 2 WHERE { prefijo1:sujeto <uri2/predicado> ?var} SELECT ?var 3 WHERE { <uri1/sujeto> ?var <uri2/objeto> } 1 y 2 son consultas equivalentes. La variable buscada es un objeto (recordar que las consultas se realizan sobre conjuntos de Sujeto-Predicado-Objeto). En 2 se hace referencia al predicado directamente con la uri correspondiente sin utilizar un prefijo. En 3 no se utiliza prefijo y la variable buscada es un predicado. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 27
  • 28. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas II @prefix book: <http://example.org/book/> . @prefix ttl: <http://purl.org/dc/elements/1.1/> . book:book1 ttl:title "SPARQL Tutorial 1“ 1 book:book2 ttl:title "SPARQL Tutorial 2“ book:book3 ttl:title "SPARQL Tutorial 3” PREFIX book_: <http://example.org/book/> PREFIX ttl_: <http://purl.org/dc/elements/1.1/> 2 SELECT ?title WHERE { book_:book1 ttl_:title ?title .} SELECT ?title WHERE { 3 <http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title . } 1 corresponde a los datos del grado RDF (Anotaciones Turtle). 2 y 3 son consultas equivalentes. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 28
  • 29. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas III @prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Johnny Lee Outlaw" . _:a foaf:mbox <mailto:jlow@example.com> . 1 _:b foaf:name "Peter Goodguy" . _:b foaf:mbox <mailto:peter@example.org> . _:c foaf:mbox <mailto:carol@example.org> . PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox 2 WHERE { ?x foaf:name ?name . ?x foaf:mbox ?mbox } name mbox 3 “Johnny Lee Outlaw” <mailto:jlow@example.com> "Peter Goodguy" <mailto:peter@example.org> 1 corresponde a los datos del grafo RDF a consultar. La consulta 2 busca 2 variables, ambas corresponden a un objeto. 3 es la respuesta, y no contiene la 6º línea del grafo RDF por no cumplir la condición. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 29
  • 30. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas IV (Filtrado de Literales) @prefix dt: <http://example.org/datatype#> . @prefix ns: <http://example.org/ns#> . @prefix : <http://example.org/ns#> . 1 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . :x ns:p "car“@en . :y ns:p “10"^^xsd:integer . :z ns:p "abc"^^dt:specialDatatype . PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?v WHERE { ?v ?p "car" } 2 SELECT ?v WHERE { ?v ?p "car"@en } 3 SELECT ?v WHERE { ?v ?p 10 } 4 SELECT ?v WHERE { ?v ?p "abc"^^<http://example.org/datatype#specialDatatype> } 5 1 con los datos del grafo RDF a consultar. 2 no devuelve resultado alguna porque el sujeto y predicado buscados corresponden a un sujeto descrito en un idioma concreto que no está indicado en la consulta. 4 devuelve una solución con la variable v correspondiente a :y. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 30
  • 31. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas V (CONSTRUCT) @prefix org: <http://example.com/ns#> . _:a org:employeeName "Alice" . _:a org:employeeId 12345 . 1 _:b org:employeeName "Bob" . _:b org:employeeId 67890 . PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX org: <http://example.com/ns#> CONSTRUCT { ?x foaf:name ?name } 2 WHERE { ?x org:employeeName ?name } @prefix org: <http://example.com/ns#> . @prefix foaf: <http://xmlns.com/foaf/0.1/>. _:x foaf:name "Alice" . 3 _:y foaf:name "Bob" . La sentencia CONSTRUCT 2 devuelve el grafo RDF 3 . Este grafo se construye a partir de una plantilla utilizada para generar las tripletas en función de resultados que concuerdan con el patrón grafico básico (que se pasa en la cláusula WHERE). Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 31
  • 32. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas VI (FILTER I) @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . @prefix ns: <http://example.org/ns#> . 1 :book1 dc:title "SPARQL Tutorial" . :book1 ns:price 42 . :book2 dc:title "The Semantic Web" . :book2 ns:price 23 . PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title WHERE 2 { ?x dc:title ?title FILTER regex(?title, "^SPARQL") } PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> SELECT ?title ?price WHERE { 3 ?x ns:price ?price . FILTER (?price < 30.5) ?x dc:title ?title . } Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 32
  • 33. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas VI (FILTER II) @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . 1 @prefix ns: <http://example.org/ns#> . :book1 dc:title "SPARQL Tutorial" . :book1 ns:price 42 . :book2 dc:title "The Semantic Web" . :book2 ns:price 23 . PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title 2 WHERE { ?x dc:title ?title FILTER regex(?title, “Web“, “i”) } “i” nos indica que filtramos sin tener en cuenta el case sensitive. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 33
  • 34. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas VII (ASK) @prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" . _:a foaf:homepage <http://work.example.org/alice/> . 1 _:b foaf:name "Bob" . _:b foaf:mbox <mailto:bob@work.example> . PREFIX foaf: <http://xmlns.com/foaf/0.1/> 2 ASK { ?x foaf:name "Alice" } La consulta 2 devuelve ‘yes’ ya que la tripleta a comprobar existe en el grafo de consulta Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 34
  • 35. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas VIII (OPTIONAL I) @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . @prefix ns: <http://example.org/ns#> . 1 :book1 dc:title "SPARQL Tutorial" . :book1 ns:price 42 . :book2 dc:title "The Semantic Web" . :book2 ns:price 23 . PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> 2 SELECT ?title ?price WHERE { ?x dc:title ?title . OPTIONAL { ?x ns:price ?price . FILTER (?price < 30) } } title price “SPARQL Tutorial” 3 “The Semantic Web" 23 La cláusula OPTIONAL en 2 debe cumplirse en la respuesta a la consulta. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 35
  • 36. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas VIII (OPTIONAL II) @prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" . _:a foaf:homepage <http://work.example.org/alice/> . 1 _:b foaf:name "Bob" . _:b foaf:mbox <mailto:bob@work.example> . PREFIX foaf: <http://xmlns.com/foaf/0.1/> 2 SELECT ?name ?mbox ?hpage WHERE { ?x foaf:name ?name . OPTIONAL { ?x foaf:mbox ?mbox } . OPTIONAL { ?x foaf:homepage ?hpage } } name mbox hpage Alice <http://work.example.org/alice/> “Bob" <mailto:bob@work.example> 3 3 En este caso, la consulta 2 cuenta con dos cláusulas OPTIONAL. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 36
  • 37. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas IX (UNION I) @prefix dc10: <http://purl.org/dc/elements/1.0/> . @prefix dc11: <http://purl.org/dc/elements/1.1/> . _:a dc10:title "SPARQL Query Language Tutorial" . _:a dc10:creator "Alice" . 1 _:b dc11:title "SPARQL Protocol Tutorial" . _:b dc11:creator "Bob" . _:c dc10:title "SPARQL" . _:c dc11:title "SPARQL (updated)" . PREFIX dc10: <http://purl.org/dc/elements/1.0/> 2 PREFIX dc11: <http://purl.org/dc/elements/1.1/> SELECT ?title WHERE {{ ?book dc10:title ?title } UNION { ?book dc11:title ?title } title 3 “SPARQL Query Language Tutorial” “SPARQL” “SPARQL (updated)” “SPARQL Query Language Tutorial” Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 37
  • 38. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas IX (UNION II) PREFIX dc10: <http://purl.org/dc/elements/1.0/> PREFIX dc11: <http://purl.org/dc/elements/1.1/> 2 SELECT ?x ?y WHERE { { ?book dc10:title ?x } UNION { ?book dc11:title ?y } } x y 3 “SPARQL (updated)” “SPARQL Protocol Tutorial” 3 “SPARQL” “SPARQL Query Language Tutorial” El resultado obtenido en 3 es la unión de los resultados correspondientes a cada cláusula UNION en la consulta 2 . Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 38
  • 39. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Ejemplos de consultas IX (UNION III) PREFIX dc10: <http://purl.org/dc/elements/1.0/> PREFIX dc11: <http://purl.org/dc/elements/1.1/> SELECT ?title ?author WHERE { 2 { ?book dc10:title ?title . ?book dc10:creator ?author } UNION { ?book dc11:title ?title . ?book dc11:creator ?author } } title author 3 “SPARQL Protocol Tutorial” “Alice” “SPARQL Query Language Tutorial” “Bob” Cláusula UNION entre dos condiciones compuestas por dos tripletas cada una. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 39
  • 40. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL. Sintaxis de Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 40
  • 41. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Sintaxis de Tripletas ?x foaf:name ?name ; foaf:mbox ?mbox . 1 ?x foaf:nick "Alice" , "Alice_" . 2 ?x foaf:name ?name ; 3 foaf:nick "Alice" ,"Alice_" . 1 define una forma de utilizar sujetos comunes. 2 describe la forma de utilizar una lista de objetos. 3 es una tripleta combinación entre 1 y 2 . Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 41
  • 42. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL. Sintaxis de Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 42
  • 43. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Novedades. XSPARQL I La traducción entre ficheros XML y RDF es tediosa y propensa a errores W3C y SAWSDL tienen muy en cuenta esta dificultad. XSPARQL propone soluciones intuitivas y precisas para el mapeo entre XML y RDF en ambas direcciones. Tiene un motor de evaluación. Existen unas demos online. Para mas información: http://xsparql.deri.org/ Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 43
  • 44. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Novedades. XSPARQL II XSLT/XQuery XML ¿? RDF SPARQL Se echaba en falta una herramienta para traducir RDF a XML. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 44
  • 45. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. Novedades. XSPARQL II XSLT/XQuery XML XSPARQL RDF SPARQL Se echaba en falta una herramienta para traducir RDF a XML. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 45
  • 46. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL. Sintaxis de Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 46
  • 47. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. SPARQL/UPDATE (SPARUL) I. Derivado de SPARQL para actualizar grafos RDF’s Cubre las sentencias Create, Update y Delete del conjunto CRUD. Desarrollado por Hewllet Packard. No es recomendación de W3C aún. Clausulas: INSERT, DELETE y MODIFY, LOAD, CLEAR, CREATE y DROP. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 47
  • 48. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. SPARQL/UPDATE (SPARUL) II. PREFIX dc: <http://purl.org/dc/elements/1.1/> DELETE DATA FROM <http://example/bookStore> { <http://example/book3> dc:title "Fundamentals of Compiler Desing“} INSERT DATA INTO <http://example/bookStore> { <http://example/book3> dc:title "Fundamentals of Compiler Design“} Esta solicitud borra una tripleta y añade otra de la fuente RDF http://example/bookStore. La diferencia entre MODIFY/INSERT/DELETE e INSERT DATA y DELETE DATA es que éstas últimas no tienen una plantilla patrón (como en la Cláusula WHERE), y necesitan datos concretos. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 48 48
  • 49. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. SPARQL/UPDATE (SPARUL) III. PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> DELETE { ?book ?p ?v } WHERE { ?book dc:date ?date . FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime ) ?book ?p ?v } Esta consulta borra todas las tripletas de libros con fecha inferior al año 2000. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 49
  • 50. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. SPARQL/UPDATE (SPARUL) IV. PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> INSERT INTO <http://example/bookStore2> { ?book ?p ?v } WHERE { GRAPH <http://example/bookStore> { ?book dc:date ?date . FILTER ( ?date < "2000-01- 01T00:00:00"^^xsd:dateTime ) ?book ?p ?v } } Esta consulta copia todas las tripletas de libros con fecha inferior al año 2000 de un grafo fuente http://example/bookStore a otro grafo destino http://example/bookStore2 Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 50
  • 51. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL SPARQL. SPARQL/UPDATE (SPARUL) V. La operación MODIFY borra un conjunto de tripletas y añade otro conjunto de las mismas. La operación LOAD copia todas las tripletas de un grafo a otro. La operación CLEAR borra todas las tripletas de un grafo especificado. La operación CREATE crea un nuevo grafo cuyo nombre viene especificado en la URI. A partir de ese instante, el nuevo grafo está disponible para cualquier operación de SPARUL. CREATE GRAPH <uri> La operación DROP borra el grafo cuyo nombre viene especificado en la URI. DROP GRAPH <uri> Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 51
  • 52. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL. Sintaxis de Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones. • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 52
  • 53. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Conclusiones. Es muy parecido a SQL en la elaboración de consultas, con una serie de diferencias propias de cada modelo. Es el principal lenguaje de consulta utilizado en la Web Semántica. Muchas plataformas de RDF ya lo implementan (Protegé y Jena Semantic Web Toolkit). Existe poca información sobre ello ya que es reciente en W3C. Su versión de actualización SPARQL/Update no es recomendación aún. Queda mucho por investigar, sobre todo en SPARUL. Interesante y atractivo tema para encarrilar tesis doctorales… Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 53
  • 54. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Índice • Introducción. • Descripción de SPARQL • Introducción • Especificaciones • SPARQL. Sintaxis y cláusulas. • SPARQL. Ejemplos de consultas. • SPARQL. Sintaxis de Tripletas. • SPARQL. Novedades. • XSPARQL • SPARQL/Update (SPARUL). • Conclusiones • Referencias. Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 54
  • 55. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Referencias. 1. I. Herman. (2007). "Introduction to the Semantic Web." Retrieved 10/08/2007, from http://www.w3.org/2007/Talks/0423-Stavanger-IH/. 2. http://www.w3.org/Submission/2008/SUBM-SPARQL-Update-20080715/ 3. W3C World Wide Web Consortium. (2007). "SPARQL Query Language for RDF." Retrieved 10/08/2007, from http://www.w3.org/TR/rdf-sparql- query/#basicpatterns. 4. W3C World Wide Web Consortium. (2007). "SPARQL Protocol for RDF." Retrieved 10/08/2007, from http://www.w3.org/TR/rdf-sparql- protocol/. 5. W3C World Wide Web Consortium. (2007). "SPARQL Query Results XML Format." Retrieved 10/08/2007, from http://www.w3.org/TR/rdf- sparql-XMLres/. 6. D. Beckett, "SPARQL RDF Query Language Reference v1.8," 2006. 7. http://xsparql.deri.org/ XSPARQL Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 55
  • 56. Arquitecturas de Bases de Datos Web. Tecnologías de la Web Semántica Parte V-II. SPARQL Gracias... Curso de Doctorado Nº: 584, http://sinbad.dit.upm.es, DIT-UPM 17/06/2009 Hicham Qaissi 56