SlideShare una empresa de Scribd logo

02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos

El documento presenta una introducción a RDF (Resource Description Framework) y RDF Schema. Explica los componentes básicos de RDF como sujetos, predicados y objetos y cómo se representan como grafos. También describe elementos como literales, URIs, espacios de nombres y la propiedad rdf:type para clasificar recursos. Finalmente, resume formatos de serialización como RDF/XML y Turtle.

1 de 34
Descargar para leer sin conexión
Material	
  del	
  curso	
  sobre	
  Tecnologías	
  Semánticas	
  	
  
                                en	
  la	
  Web	
  de	
  Datos	
  

                                  red.es,	
  29/11/2012	
  

                           Ontology	
  Engineering	
  Group	
  

               Asunción	
  Gómez-­‐Pérez,	
  Oscar	
  Corcho	
  García	
  

                                                 	
  

       Licencia	
  de	
  uso:	
  Creative	
  Commons	
  Attribution-­‐
   NonCommercial-­‐ShareAlike	
  3.0	
  Unported	
  (CC	
  BY-­‐NC-­‐SA	
  3.0)	
  
	
  
	
  
	
  
Más	
  información	
  sobre	
  cursos	
  disponible	
  en:	
  http://cursos.oeg-­‐upm.net/	
  
	
  




                                                                                                 	
  
Índice

1.  Web de Linked Data: Conceptos Básicos
       A. Gómez Pérez (30 min)
2.  RDF, RDF Schema y SPARQL
       O. Corcho (90 min)
3.  Vocabularios
       A. Gómez Pérez (90 min)
4.  Herramientas de publicación de datos para portales
    de datos abiertos
       O. Corcho (30 min)




   Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012              1




                        RDF, RDF Schema y SPARQL


                                         Raúl García-Castro, Óscar Corcho
                              Facultad de Informática, Universidad Politécnica de Madrid
                            Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid
                                               http://www.oeg-upm.net
                                                 ocorcho@fi.upm.es




                              Curso en Red.es. 29 de Noviembre de 2012




                                                                                               1
Índice

  •  Introducción general
  •  RDF
         -  Componentes de RDF
         -  Serialización de RDF
  •  RDF Schema
         -  Componentes de RDFS
         -  Serialización de RDFS




         Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012         3




                                                          RDF y RDF Schema

  •  RDF: Resource Description Framework
  •  Objetivo
         -  Describir la semántica de la información de manera
            procesable por máquinas
                Database                   XML                   RDF(S)



Esquema                                                                        RDF Schema




 Datos                                                                                RDF


  •  Recomendación del W3C
         -  Modelo
         -  Sintaxis
         -  Semántica

         Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012         4




                                                                                                2
RDF(S) en la Web Semántica




   Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012       5




                                                                                Índice

•  Introducción general
•  RDF
   -  Componentes de RDF
   -  Serialización de RDF
•  RDF Schema
   -  Componentes de RDFS
   -  Serialización de RDFS




   Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012       6




                                                                                         3
Componentes de RDF
•    También conocido como “triples” (tripletas)
      -  [Sujeto, Predicado, Objeto]

•    “Raúl es un miembro del Ontology Engineering Group”
      -  [Raúl, is member of, Ontology Engineering Group]
                              is member of
                   Raúl                            Ontology Engineering Group

•    “El nombre completo de Raúl es Raúl García Castro”
      -  [Raúl, has full name, Raúl García Castro]
                                has full name
                   Raúl                                 Raúl García Castro


•    “Raúl nació el 26 de Diciembre de 1975”
      -  [Raúl, was born, 26 December 1975]
                                has birth date
                   Raúl                                 26 December 1975


•    “La página web del Ontology Engineering Group es http://www.oeg-upm.net/”
      -  [Ontology Engineering Group, has web page, http://www.oeg-upm.net/]
                                                 has web page
            Ontology Engineering Group                          http://www.oeg-upm.net/


      Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012           7




                                                                                  Grafos RDF

•  Los grafos RDF son conjuntos de tripletas


                                        has full name              Raúl García Castro

                       Raúl

                                       has birth date              26 December 1975
            is member of


                                                 has web page
           Ontology Engineering Group                            http://www.oeg-upm.net/




      Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012           8




                                                                                               4
Literales RDF

        •  Los objetos de las tripletas pueden ser literales
           (cadenas de caracteres)
              -  El sujeto y el predicado son siempre recursos
        •  Los literales pueden estar tipados
              -  Normalmente usando XML Schema datatypes
              -  Además, RDF proporciona el tipo de datos rdf:XMLLiteral

                                               has full name             “Raúl García Castro”

                              Raúl

                                               has birth date          “1975-12-26”^^xsd:date
                   is member of


                                                      has web page
                 Ontology Engineering Group                            http://www.oeg-upm.net/




              Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012                               9




                                                                                          URIs en RDF

     •  Componentes de una URI (RFC3986)
           -  http://www.oeg-upm.net:8080/Info/People?position=current#Raul
              Scheme                  Authority                      Path                 Query            Fragment


     •  URIs en RDF:
           -  Son referencias URI: URI + Fragment
           -  Puede contener caracteres Unicode
           -  Identifica recursos y valores (ej., mailto:rgarcia@fi.upm.es)
                                          http://www.oeg-upm.net/Properties#hasFullName
                                                                                                “Raúl García Castro”

                         http://www.oeg-upm.net/People#Raul

                                               http://www.oeg-upm.net/Properties#hasBirthDate “1975-12-26”^^xsd:date
http://www.oeg-upm.net/Properties#isMemberOf

                                                           http://www.oeg-upm.net/Properties#hasWebPage

                      http://www.oeg-upm.net/Organization#OEG                                http://www.oeg-upm.net/


              Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012                              10




                                                                                                                           5

Recomendados

Más contenido relacionado

Similar a 02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos

04. Tecnología de portales #OpenData. Tecnologías Semánticas en la Web de Datos
04. Tecnología de portales #OpenData. Tecnologías Semánticas en la Web de Datos04. Tecnología de portales #OpenData. Tecnologías Semánticas en la Web de Datos
04. Tecnología de portales #OpenData. Tecnologías Semánticas en la Web de DatosDatos.gob.es
 
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarDiego López-de-Ipiña González-de-Artaza
 
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...Artium Vitoria
 
Herramientas para linked data
Herramientas para linked dataHerramientas para linked data
Herramientas para linked dataIván Ruiz-Rube
 
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
 
Jorge lopez web_apps
Jorge lopez web_appsJorge lopez web_apps
Jorge lopez web_appseccutpl
 
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_esInteroperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_esSueli Suga
 
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
 
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
 
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
 
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
 

Similar a 02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos (20)

04. Tecnología de portales #OpenData. Tecnologías Semánticas en la Web de Datos
04. Tecnología de portales #OpenData. Tecnologías Semánticas en la Web de Datos04. Tecnología de portales #OpenData. Tecnologías Semánticas en la Web de Datos
04. Tecnología de portales #OpenData. Tecnologías Semánticas en la Web de Datos
 
SPARQL
SPARQLSPARQL
SPARQL
 
Linked data con R
Linked data con RLinked data con R
Linked data con R
 
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
 
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
 
Herramientas para linked data
Herramientas para linked dataHerramientas para linked data
Herramientas para linked data
 
24 aplicaciones rdf
24 aplicaciones rdf24 aplicaciones rdf
24 aplicaciones rdf
 
Curso integración Web Semántica
Curso integración Web Semántica Curso integración Web Semántica
Curso integración Web Semántica
 
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
 
Jorge lopez web_apps
Jorge lopez web_appsJorge lopez web_apps
Jorge lopez web_apps
 
Datos abiertos enlazados: Experiencia en la Universidad de Chile
Datos abiertos enlazados: Experiencia en la Universidad de ChileDatos abiertos enlazados: Experiencia en la Universidad de Chile
Datos abiertos enlazados: Experiencia en la Universidad de Chile
 
Red Ontologías Hércules – ROH
Red Ontologías Hércules – ROHRed Ontologías Hércules – ROH
Red Ontologías Hércules – ROH
 
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_esInteroperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_es
 
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
 
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
 
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
 
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
 
Sparql
Sparql Sparql
Sparql
 
Websemanticasidar03
Websemanticasidar03Websemanticasidar03
Websemanticasidar03
 
Websemanticasidar03
Websemanticasidar03Websemanticasidar03
Websemanticasidar03
 

Más de Datos.gob.es

8 guías para mejorar la publicación y el tratamiento del dato
8 guías para mejorar la publicación y el tratamiento del dato8 guías para mejorar la publicación y el tratamiento del dato
8 guías para mejorar la publicación y el tratamiento del datoDatos.gob.es
 
Pautas para asegurar la calidad usando formatos específicos de datos
Pautas para asegurar la calidad usando formatos específicos de datosPautas para asegurar la calidad usando formatos específicos de datos
Pautas para asegurar la calidad usando formatos específicos de datosDatos.gob.es
 
Pautas generales para garantizar la calidad de los datos abiertos
Pautas generales para garantizar la calidad de los datos abiertos Pautas generales para garantizar la calidad de los datos abiertos
Pautas generales para garantizar la calidad de los datos abiertos Datos.gob.es
 
LegalTech: Potencial transformador de los servicios jurídicos
LegalTech: Potencial transformador de los servicios jurídicosLegalTech: Potencial transformador de los servicios jurídicos
LegalTech: Potencial transformador de los servicios jurídicosDatos.gob.es
 
Impacto de los datos abiertos en la economía
Impacto de los datos abiertos en la economíaImpacto de los datos abiertos en la economía
Impacto de los datos abiertos en la economíaDatos.gob.es
 
finalistas de la IV edición del Desafío Aporta
finalistas de la IV edición del Desafío Aportafinalistas de la IV edición del Desafío Aporta
finalistas de la IV edición del Desafío AportaDatos.gob.es
 
Normas técnicas para un correcto gobierno del dato
Normas técnicas para un correcto gobierno del dato Normas técnicas para un correcto gobierno del dato
Normas técnicas para un correcto gobierno del dato Datos.gob.es
 
Gaia-X y los espacios de datos europeos
Gaia-X y los espacios de datos europeos Gaia-X y los espacios de datos europeos
Gaia-X y los espacios de datos europeos Datos.gob.es
 
APIS para el acceso y descarga de datos de turismo
APIS para el acceso y descarga de datos de turismo APIS para el acceso y descarga de datos de turismo
APIS para el acceso y descarga de datos de turismo Datos.gob.es
 
APIs para el acceso a datos abiertos
APIs para el acceso a datos abiertos APIs para el acceso a datos abiertos
APIs para el acceso a datos abiertos Datos.gob.es
 
Balance de la Iniciativa Aporta 2021
Balance de la Iniciativa Aporta 2021 Balance de la Iniciativa Aporta 2021
Balance de la Iniciativa Aporta 2021 Datos.gob.es
 
Ejemplos de plataformas de datos abiertos en el mundo
Ejemplos de plataformas de datos abiertos en el mundoEjemplos de plataformas de datos abiertos en el mundo
Ejemplos de plataformas de datos abiertos en el mundoDatos.gob.es
 
Guía Práctica de Introducción al Análisis Exploratorio de Datos
Guía Práctica de Introducción al Análisis Exploratorio de Datos Guía Práctica de Introducción al Análisis Exploratorio de Datos
Guía Práctica de Introducción al Análisis Exploratorio de Datos Datos.gob.es
 
¿Cómo se utilizan los datos abiertos en el sector salud y bienestar?
¿Cómo se utilizan los datos abiertos en el sector salud y bienestar? ¿Cómo se utilizan los datos abiertos en el sector salud y bienestar?
¿Cómo se utilizan los datos abiertos en el sector salud y bienestar? Datos.gob.es
 
Los conjuntos de datos más demandados publicados por entidades locales
Los conjuntos de datos más demandados publicados por entidades locales Los conjuntos de datos más demandados publicados por entidades locales
Los conjuntos de datos más demandados publicados por entidades locales Datos.gob.es
 
Las Estrategias de Gobierno Abierto y Datos Públicos de las Comunidades Autón...
Las Estrategias de Gobierno Abierto y Datos Públicos de las Comunidades Autón...Las Estrategias de Gobierno Abierto y Datos Públicos de las Comunidades Autón...
Las Estrategias de Gobierno Abierto y Datos Públicos de las Comunidades Autón...Datos.gob.es
 
Los conjuntos de datos publicados por CC.AA. más valorados
Los conjuntos de datos publicados por CC.AA. más valoradosLos conjuntos de datos publicados por CC.AA. más valorados
Los conjuntos de datos publicados por CC.AA. más valoradosDatos.gob.es
 
Tecnologías emergentes y datos abiertos: analítica predictiva
Tecnologías emergentes y datos abiertos: analítica predictivaTecnologías emergentes y datos abiertos: analítica predictiva
Tecnologías emergentes y datos abiertos: analítica predictivaDatos.gob.es
 
Desvelamos los 10 finalistas de la III edición del Desafío Aporta
Desvelamos los 10 finalistas de la III edición del Desafío Aporta Desvelamos los 10 finalistas de la III edición del Desafío Aporta
Desvelamos los 10 finalistas de la III edición del Desafío Aporta Datos.gob.es
 
4 retos del sector educativo a resolver con soluciones tecnológicas basadas e...
4 retos del sector educativo a resolver con soluciones tecnológicas basadas e...4 retos del sector educativo a resolver con soluciones tecnológicas basadas e...
4 retos del sector educativo a resolver con soluciones tecnológicas basadas e...Datos.gob.es
 

Más de Datos.gob.es (20)

8 guías para mejorar la publicación y el tratamiento del dato
8 guías para mejorar la publicación y el tratamiento del dato8 guías para mejorar la publicación y el tratamiento del dato
8 guías para mejorar la publicación y el tratamiento del dato
 
Pautas para asegurar la calidad usando formatos específicos de datos
Pautas para asegurar la calidad usando formatos específicos de datosPautas para asegurar la calidad usando formatos específicos de datos
Pautas para asegurar la calidad usando formatos específicos de datos
 
Pautas generales para garantizar la calidad de los datos abiertos
Pautas generales para garantizar la calidad de los datos abiertos Pautas generales para garantizar la calidad de los datos abiertos
Pautas generales para garantizar la calidad de los datos abiertos
 
LegalTech: Potencial transformador de los servicios jurídicos
LegalTech: Potencial transformador de los servicios jurídicosLegalTech: Potencial transformador de los servicios jurídicos
LegalTech: Potencial transformador de los servicios jurídicos
 
Impacto de los datos abiertos en la economía
Impacto de los datos abiertos en la economíaImpacto de los datos abiertos en la economía
Impacto de los datos abiertos en la economía
 
finalistas de la IV edición del Desafío Aporta
finalistas de la IV edición del Desafío Aportafinalistas de la IV edición del Desafío Aporta
finalistas de la IV edición del Desafío Aporta
 
Normas técnicas para un correcto gobierno del dato
Normas técnicas para un correcto gobierno del dato Normas técnicas para un correcto gobierno del dato
Normas técnicas para un correcto gobierno del dato
 
Gaia-X y los espacios de datos europeos
Gaia-X y los espacios de datos europeos Gaia-X y los espacios de datos europeos
Gaia-X y los espacios de datos europeos
 
APIS para el acceso y descarga de datos de turismo
APIS para el acceso y descarga de datos de turismo APIS para el acceso y descarga de datos de turismo
APIS para el acceso y descarga de datos de turismo
 
APIs para el acceso a datos abiertos
APIs para el acceso a datos abiertos APIs para el acceso a datos abiertos
APIs para el acceso a datos abiertos
 
Balance de la Iniciativa Aporta 2021
Balance de la Iniciativa Aporta 2021 Balance de la Iniciativa Aporta 2021
Balance de la Iniciativa Aporta 2021
 
Ejemplos de plataformas de datos abiertos en el mundo
Ejemplos de plataformas de datos abiertos en el mundoEjemplos de plataformas de datos abiertos en el mundo
Ejemplos de plataformas de datos abiertos en el mundo
 
Guía Práctica de Introducción al Análisis Exploratorio de Datos
Guía Práctica de Introducción al Análisis Exploratorio de Datos Guía Práctica de Introducción al Análisis Exploratorio de Datos
Guía Práctica de Introducción al Análisis Exploratorio de Datos
 
¿Cómo se utilizan los datos abiertos en el sector salud y bienestar?
¿Cómo se utilizan los datos abiertos en el sector salud y bienestar? ¿Cómo se utilizan los datos abiertos en el sector salud y bienestar?
¿Cómo se utilizan los datos abiertos en el sector salud y bienestar?
 
Los conjuntos de datos más demandados publicados por entidades locales
Los conjuntos de datos más demandados publicados por entidades locales Los conjuntos de datos más demandados publicados por entidades locales
Los conjuntos de datos más demandados publicados por entidades locales
 
Las Estrategias de Gobierno Abierto y Datos Públicos de las Comunidades Autón...
Las Estrategias de Gobierno Abierto y Datos Públicos de las Comunidades Autón...Las Estrategias de Gobierno Abierto y Datos Públicos de las Comunidades Autón...
Las Estrategias de Gobierno Abierto y Datos Públicos de las Comunidades Autón...
 
Los conjuntos de datos publicados por CC.AA. más valorados
Los conjuntos de datos publicados por CC.AA. más valoradosLos conjuntos de datos publicados por CC.AA. más valorados
Los conjuntos de datos publicados por CC.AA. más valorados
 
Tecnologías emergentes y datos abiertos: analítica predictiva
Tecnologías emergentes y datos abiertos: analítica predictivaTecnologías emergentes y datos abiertos: analítica predictiva
Tecnologías emergentes y datos abiertos: analítica predictiva
 
Desvelamos los 10 finalistas de la III edición del Desafío Aporta
Desvelamos los 10 finalistas de la III edición del Desafío Aporta Desvelamos los 10 finalistas de la III edición del Desafío Aporta
Desvelamos los 10 finalistas de la III edición del Desafío Aporta
 
4 retos del sector educativo a resolver con soluciones tecnológicas basadas e...
4 retos del sector educativo a resolver con soluciones tecnológicas basadas e...4 retos del sector educativo a resolver con soluciones tecnológicas basadas e...
4 retos del sector educativo a resolver con soluciones tecnológicas basadas e...
 

Último

Taller crear carta de correspondencia.docx.pdf
Taller crear carta de correspondencia.docx.pdfTaller crear carta de correspondencia.docx.pdf
Taller crear carta de correspondencia.docx.pdfSEBASTIANMICOLTA
 
Taller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfTaller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfAna Lucía Tellez Lugo
 
Presentación paginas web partes principales
Presentación paginas web partes principalesPresentación paginas web partes principales
Presentación paginas web partes principalesandresarceavalos
 
VIDEOS DE APOYO- resúmenes de tecnología
VIDEOS DE APOYO- resúmenes de tecnologíaVIDEOS DE APOYO- resúmenes de tecnología
VIDEOS DE APOYO- resúmenes de tecnologíamarianasinisterra200
 
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxLey de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxBasile
 
VIDEOS DE APOYO PARA CREAR UN BLOG Y COMO SUBIR COSAS A EL DESDE SLIDESHARE
VIDEOS DE APOYO PARA CREAR UN BLOG Y COMO SUBIR COSAS A EL DESDE SLIDESHAREVIDEOS DE APOYO PARA CREAR UN BLOG Y COMO SUBIR COSAS A EL DESDE SLIDESHARE
VIDEOS DE APOYO PARA CREAR UN BLOG Y COMO SUBIR COSAS A EL DESDE SLIDESHAREaljitagallego
 
Combinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezCombinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezSebastinPrez67
 
Mapa conceptual de las Comunidades virtuales
Mapa conceptual de las Comunidades virtualesMapa conceptual de las Comunidades virtuales
Mapa conceptual de las Comunidades virtualesEstefanía López
 
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraAbrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraEdith Puclla
 
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG 9-5
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG  9-5VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG  9-5
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG 9-5sarayibanez16
 
Realiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCARealiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCAMaxime Chambreuil
 
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfCaso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfcasoacerosdeguatemal
 
Carta de trabajo para los empleados.docx.pdf
Carta de trabajo para los empleados.docx.pdfCarta de trabajo para los empleados.docx.pdf
Carta de trabajo para los empleados.docx.pdfEmanuelminotta
 
Assespro_RSA_Silicon_Valley_Immersion_Latam_24.pdf
Assespro_RSA_Silicon_Valley_Immersion_Latam_24.pdfAssespro_RSA_Silicon_Valley_Immersion_Latam_24.pdf
Assespro_RSA_Silicon_Valley_Immersion_Latam_24.pdfOBr.global
 
COMBINACIONES CORRESPONDENCIA con base de datos excel
COMBINACIONES CORRESPONDENCIA con base de datos excelCOMBINACIONES CORRESPONDENCIA con base de datos excel
COMBINACIONES CORRESPONDENCIA con base de datos excelSergioPerdomo20
 
Videos de apoyo, actividad de tecnología
Videos de apoyo, actividad de tecnologíaVideos de apoyo, actividad de tecnología
Videos de apoyo, actividad de tecnologíaampiscastillo903
 
Certificado de Web Design - Projeto web.
Certificado de Web Design - Projeto web.Certificado de Web Design - Projeto web.
Certificado de Web Design - Projeto web.AntnioOliveira749106
 
Silicon_Valley_RSA_2024_Latam_Immersion.pdf
Silicon_Valley_RSA_2024_Latam_Immersion.pdfSilicon_Valley_RSA_2024_Latam_Immersion.pdf
Silicon_Valley_RSA_2024_Latam_Immersion.pdfOBr.global
 
VIDEOS DE APOYO PARA LA CREACION DE UN BLOG
VIDEOS DE APOYO PARA LA CREACION DE UN BLOGVIDEOS DE APOYO PARA LA CREACION DE UN BLOG
VIDEOS DE APOYO PARA LA CREACION DE UN BLOGSamuel709479
 

Último (20)

Taller crear carta de correspondencia.docx.pdf
Taller crear carta de correspondencia.docx.pdfTaller crear carta de correspondencia.docx.pdf
Taller crear carta de correspondencia.docx.pdf
 
Taller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfTaller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdf
 
Presentación paginas web partes principales
Presentación paginas web partes principalesPresentación paginas web partes principales
Presentación paginas web partes principales
 
VIDEOS DE APOYO- resúmenes de tecnología
VIDEOS DE APOYO- resúmenes de tecnologíaVIDEOS DE APOYO- resúmenes de tecnología
VIDEOS DE APOYO- resúmenes de tecnología
 
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxLey de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
 
Herramientas tecnologicas para los abogados.pptx
Herramientas tecnologicas para los abogados.pptxHerramientas tecnologicas para los abogados.pptx
Herramientas tecnologicas para los abogados.pptx
 
VIDEOS DE APOYO PARA CREAR UN BLOG Y COMO SUBIR COSAS A EL DESDE SLIDESHARE
VIDEOS DE APOYO PARA CREAR UN BLOG Y COMO SUBIR COSAS A EL DESDE SLIDESHAREVIDEOS DE APOYO PARA CREAR UN BLOG Y COMO SUBIR COSAS A EL DESDE SLIDESHARE
VIDEOS DE APOYO PARA CREAR UN BLOG Y COMO SUBIR COSAS A EL DESDE SLIDESHARE
 
Combinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezCombinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián Pérez
 
Mapa conceptual de las Comunidades virtuales
Mapa conceptual de las Comunidades virtualesMapa conceptual de las Comunidades virtuales
Mapa conceptual de las Comunidades virtuales
 
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraAbrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
 
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG 9-5
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG  9-5VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG  9-5
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG 9-5
 
Realiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCARealiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCA
 
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfCaso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
 
Carta de trabajo para los empleados.docx.pdf
Carta de trabajo para los empleados.docx.pdfCarta de trabajo para los empleados.docx.pdf
Carta de trabajo para los empleados.docx.pdf
 
Assespro_RSA_Silicon_Valley_Immersion_Latam_24.pdf
Assespro_RSA_Silicon_Valley_Immersion_Latam_24.pdfAssespro_RSA_Silicon_Valley_Immersion_Latam_24.pdf
Assespro_RSA_Silicon_Valley_Immersion_Latam_24.pdf
 
COMBINACIONES CORRESPONDENCIA con base de datos excel
COMBINACIONES CORRESPONDENCIA con base de datos excelCOMBINACIONES CORRESPONDENCIA con base de datos excel
COMBINACIONES CORRESPONDENCIA con base de datos excel
 
Videos de apoyo, actividad de tecnología
Videos de apoyo, actividad de tecnologíaVideos de apoyo, actividad de tecnología
Videos de apoyo, actividad de tecnología
 
Certificado de Web Design - Projeto web.
Certificado de Web Design - Projeto web.Certificado de Web Design - Projeto web.
Certificado de Web Design - Projeto web.
 
Silicon_Valley_RSA_2024_Latam_Immersion.pdf
Silicon_Valley_RSA_2024_Latam_Immersion.pdfSilicon_Valley_RSA_2024_Latam_Immersion.pdf
Silicon_Valley_RSA_2024_Latam_Immersion.pdf
 
VIDEOS DE APOYO PARA LA CREACION DE UN BLOG
VIDEOS DE APOYO PARA LA CREACION DE UN BLOGVIDEOS DE APOYO PARA LA CREACION DE UN BLOG
VIDEOS DE APOYO PARA LA CREACION DE UN BLOG
 

02. RDF(S) SPARQL. Tecnologías Semánticas en la Web de Datos

  • 1. Material  del  curso  sobre  Tecnologías  Semánticas     en  la  Web  de  Datos   red.es,  29/11/2012   Ontology  Engineering  Group   Asunción  Gómez-­‐Pérez,  Oscar  Corcho  García     Licencia  de  uso:  Creative  Commons  Attribution-­‐ NonCommercial-­‐ShareAlike  3.0  Unported  (CC  BY-­‐NC-­‐SA  3.0)         Más  información  sobre  cursos  disponible  en:  http://cursos.oeg-­‐upm.net/      
  • 2. Índice 1.  Web de Linked Data: Conceptos Básicos A. Gómez Pérez (30 min) 2.  RDF, RDF Schema y SPARQL O. Corcho (90 min) 3.  Vocabularios A. Gómez Pérez (90 min) 4.  Herramientas de publicación de datos para portales de datos abiertos O. Corcho (30 min) Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 1 RDF, RDF Schema y SPARQL Raúl García-Castro, Óscar Corcho Facultad de Informática, Universidad Politécnica de Madrid Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net ocorcho@fi.upm.es Curso en Red.es. 29 de Noviembre de 2012 1
  • 3. Índice •  Introducción general •  RDF -  Componentes de RDF -  Serialización de RDF •  RDF Schema -  Componentes de RDFS -  Serialización de RDFS Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 3 RDF y RDF Schema •  RDF: Resource Description Framework •  Objetivo -  Describir la semántica de la información de manera procesable por máquinas Database XML RDF(S) Esquema RDF Schema Datos RDF •  Recomendación del W3C -  Modelo -  Sintaxis -  Semántica Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 4 2
  • 4. RDF(S) en la Web Semántica Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 5 Índice •  Introducción general •  RDF -  Componentes de RDF -  Serialización de RDF •  RDF Schema -  Componentes de RDFS -  Serialización de RDFS Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 6 3
  • 5. Componentes de RDF •  También conocido como “triples” (tripletas) -  [Sujeto, Predicado, Objeto] •  “Raúl es un miembro del Ontology Engineering Group” -  [Raúl, is member of, Ontology Engineering Group] is member of Raúl Ontology Engineering Group •  “El nombre completo de Raúl es Raúl García Castro” -  [Raúl, has full name, Raúl García Castro] has full name Raúl Raúl García Castro •  “Raúl nació el 26 de Diciembre de 1975” -  [Raúl, was born, 26 December 1975] has birth date Raúl 26 December 1975 •  “La página web del Ontology Engineering Group es http://www.oeg-upm.net/” -  [Ontology Engineering Group, has web page, http://www.oeg-upm.net/] has web page Ontology Engineering Group http://www.oeg-upm.net/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 7 Grafos RDF •  Los grafos RDF son conjuntos de tripletas has full name Raúl García Castro Raúl has birth date 26 December 1975 is member of has web page Ontology Engineering Group http://www.oeg-upm.net/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 8 4
  • 6. Literales RDF •  Los objetos de las tripletas pueden ser literales (cadenas de caracteres) -  El sujeto y el predicado son siempre recursos •  Los literales pueden estar tipados -  Normalmente usando XML Schema datatypes -  Además, RDF proporciona el tipo de datos rdf:XMLLiteral has full name “Raúl García Castro” Raúl has birth date “1975-12-26”^^xsd:date is member of has web page Ontology Engineering Group http://www.oeg-upm.net/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 9 URIs en RDF •  Componentes de una URI (RFC3986) -  http://www.oeg-upm.net:8080/Info/People?position=current#Raul Scheme Authority Path Query Fragment •  URIs en RDF: -  Son referencias URI: URI + Fragment -  Puede contener caracteres Unicode -  Identifica recursos y valores (ej., mailto:rgarcia@fi.upm.es) http://www.oeg-upm.net/Properties#hasFullName “Raúl García Castro” http://www.oeg-upm.net/People#Raul http://www.oeg-upm.net/Properties#hasBirthDate “1975-12-26”^^xsd:date http://www.oeg-upm.net/Properties#isMemberOf http://www.oeg-upm.net/Properties#hasWebPage http://www.oeg-upm.net/Organization#OEG http://www.oeg-upm.net/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 10 5
  • 7. Espacios de nombres (namespaces) en RDF •  Las URIs bajo un namespace se llaman vocabularios Prefijo URI people http://www.oeg-upm.net/People# organization http://www.oeg-upm.net/Organization# properties http://www.oeg-upm.net/Properties# rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs http://www.w3.org/2000/01/rdf-schema# xsd http://www.w3.org/2001/XMLSchema# properties:hasFullName “Raúl García Castro” people:Raul properties:hasBirthDate “1975-12-26”^^xsd:date properties:isMemberOf properties:hasWebPage organization:OEG http://www.oeg-upm.net/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 11 Clasificando recursos •  La propiedad rdf:type se usa para clasificar recursos en categorías/clases category:Person category:Animal Clases rdf:type rdf:type rdf:type rdf:type people:Raul people:Oscar people:Missy people:Fantasma Instancias •  La clase rdf:Property es la clase de todas las propiedades rdf:Property rdf:type rdf:type properties:hasFullName rdf:type Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 12 6
  • 8. Nodos en blanco Valores de propiedades estructuradas •  En ocasiones, se utilizan estructuras de datos más complejas que las tripletas (aunque todo se sigue reduciendo a tripletas) Esta URI intermedia realmente no necesita tener un nombre específico properties:hasFullName people:Raul properties:firstName properties:lastName “Raúl” “García Castro” Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 13 Contenedores RDF •  Describen grupos de cosas -  Un libro fue creado por varios autores -  Una clase es impartida por varias personas -  etc. •  RDF tiene varios tipos de contenedores -  rdf:Bag. Grupo de recursos o literales, incluyendo duplicados, donde el orden no es significativo -  rdf:Seq. Grupo de recursos o literales, incluyendo duplicados, donde el orden es significativo -  rdf:Alt. Grupo de recursos o literales que son alternativas (normalmente para un valor simple de una propiedad) properties:hasEmailAddress rdf:type people:Raul rdf:Seq rdf:_1 rdf:_2 “rgarcia@fi.upm.es” “r.garcia@upm.es” Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 14 7
  • 9. Colecciones en RDF •  Grupos de cosas representadas como una lista estructurada -  “A container with limits” •  Construido usando rdf:List, rdf:first, rdf:rest, y rdf:nil rdf:List rdf:type university:hasTeacher rdf:first university:Course1 people:Raul rdf:next rdf:first people:Oscar rdf:next rdf:nil Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 15 Reificación en RDF •  Tripletas en RDF sobre otras tripletas en RDF -  “Raúl cree que la fecha de nacimiento de Oscar es el 2 de febrero de 1976 y que su dirección de correo electrónico es ocorcho@fi.upm.es” •  Expresado usando rdf:Statement, rdf:subject, rdf:predicate, y rdf:object people:Oscar modal:believes properties:hasEmailAddress properties:hasBirthDate people:Raul “ocorcho@fi.upm.es” “1976-02-02”^^xsd:date •  Reificación en RDF -  Permite expresar creencias (y otras modalidades) -  Permite expresar modelos de confianza, firmas digitales, etc. -  Permite expresar metadatos sobre metadatos Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 16 8
  • 10. Valor principal de un valor estructurado •  Algunas veces uno de los valores de un valor estructurado es el principal -  El peso de un artículo es 2.4 kilogramos -  El valor principal es 2.4, lo que se expresa con rdf:value •  Se usa muy poco product:hasWeight product:Item1 rdf:value units:hasWeightUnit “2.4”^^xsd:float units:Kilogram Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 17 Resumen del vocabulario RDF Clases Propiedades Individuos Classification rdf:Property rdf:type Containers rdf:Bag rdf:_1, rdf:_2, rdf:_3… rdf:Seq rdf:Alt Collections rdf:List rdf:first rdf:nil rdf:rest Reification rdf:Statement rdf:subject rdf:predicate rdf:object Values rdf:XMLLiteral rdf:value Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 18 9
  • 11. Serializaciones en RDF •  Normativa -  RDF/XML (www.w3.org/TR/rdf-syntax-grammar/) •  Versión en borrador (9 de agosto de 2011) -  Turtle (http://www.w3.org/TR/turtle/) •  Alternativas (centradas en usuarios) -  N3 (http://www.w3.org/DesignIssues/Notation3.html) -  TriX (http://www.w3.org/2004/03/trix/) -  … •  Importante: las serializaciones RDF permiten diferentes variantes sintácticas. -  Ej., el orden en el que las tripletas RDF aparecen en un documento no es relevante Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 19 Serializaciones en RDF. RDF/XML people:hasColleague people:hasColleague people:Oscar people:Asun people:Raul people:hasName people:hasHomePage “Óscar Corcho García” http://www.oeg-upm.net/ <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:person="http://www.ontologies.org/ontologies/people#" xmlns="http://www.oeg-upm.net/ontologies/people#" xml:base="http://www.oeg-upm.net/ontologies/people"> <rdf:Property rdf:about="http://www.ontologies.org/ontologies/people#hasHomePage"/> <rdf:Property rdf:about="http://www.ontologies.org/ontologies/people#hasColleague"/> <rdf:Property rdf:about="http://www.ontologies.org/ontologies/people#hasName"/> <rdf:Description rdf:about="#Raul"/> <rdf:Description rdf:about="#Asun"> <person:hasColleague rdf:resource="#Raul"/> <person:hasHomePage>http://www.fi.upm.es</person:hasHomePage> </rdf:Description> <rdf:Description rdf:about="#Oscar"> <person:hasColleague rdf:resource="#Asun"/> <person:hasName>Oscar Corcho García</person:hasName> </rdf:Description> </rdf:RDF> Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 20 10
  • 12. Serializaciones en RDF. Turtle people:hasColleague people:hasColleague people:Oscar people:Asun people:Raul people:hasName people:hasHomePage “Óscar Corcho García” http://www.oeg-upm.net/ @base <http://www.oeg-upm.net/ontologies/people/ > @prefix vocab: <http://www.ontologies.org/ontologies/people#> :Asun vocab:hasColleague :Raul ; vocab:hasHomePage “http://www.fi.upm.es/”. :Oscar vocab:hasColleague :Asun ; vocab:hasName “Óscar Corcho García”. Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 21 Índice •  Introducción general •  RDF -  Componentes de RDF -  Serialización de RDF •  RDF Schema -  Componentes de RDFS -  Serialización de RDFS Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 22 11
  • 13. RDF Schema •  Amplía RDF •  Permite la descripción de clases de recursos y sus propiedades •  Añade restricciones a los modelos rdfs:member rdfs:seeAlso rdfs:isDefinedBy rdf:value rdfs:label rdfs:comment rdfs:Resource rdf:first rdf:subject rdf:predicate rdf:object rdf:type rdf:rest rdfs:subPropertyOf rdfs:subclassOf rdf:List rdfs:Container rdf:Statement rdf:Property rdfs:Class rdfs:Literal rdfs:domain rdfs:range rdf:Bag rdf:Seq rdf:Alt rdfs:ContainerMembershipProperty rdfs:Datatype rdf:XMLLiteral rdf:nil rdfs:member rdf:_1 rdf:_2 rdf:_3 Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 23 Descripción de clases RDF(S) rdfs:Class rdf:type Vocabulario person:Person rdfs:subClassOf person:Professor rdfs:subClassOf person:FullProfessor person:AssociateProfessor rdfs:subClassOf person:InterimAssociateProfessor person:hasColleague person:hasColleague Datos data:Oscar data:Asun data:Raul person:hasName person:hasHomePage “Óscar Corcho García” http://www.oeg-upm.net/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 24 12
  • 14. Descripción de individuos RDF(S) rdfs:Class rdf:type Vocabulario person:Person rdfs:subClassOf person:Professor rdfs:subClassOf person:FullProfessor person:AssociateProfessor rdfs:subClassOf person:InterimAssociateProfessor rdf:type rdf:type rdf:type person:hasColleague person:hasColleague Datos data:Oscar data:Asun data:Raul person:hasName person:hasHomePage “Óscar Corcho García” http://www.oeg-upm.net/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 25 Descripción de propiedades RDF(S) rdf:Property rdfs:Class rdf:type rdf:type Vocabulario rdfs:range rdfs:domain rdfs:Literal person:hasName person:Person rdfs:domain rdfs:subClassOf rdfs:range person:hasColleague person:Professor rdfs:subClassOf rdfs:domain person:hasHomePage person:FullProfessor person:AssociateProfessor rdfs:subClassOf person:InterimAssociateProfessor rdf:type rdf:type rdf:type person:hasColleague person:hasColleague Datos data:Oscar data:Asun data:Raul person:hasName person:hasHomePage “Óscar Corcho García” http://www.oeg-upm.net/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 26 13
  • 15. Anotación de recursos rdfs:label “Raúl García” rdfs:label “Raúl” rdfs:comment data:Raul “Resource for Raúl García Castro” rdfs:seeAlso http://delicias.dia.fi.upm.es/~rgarcia/ rdfs:isDefinedBy http://delicias.dia.fi.upm.es/~rgarcia/foaf.rdf Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 27 Resumen del vocabulario RDFS Clases Propiedades Individuos Classification rdfs:Resource rdfs:subClassOf rdfs:Class Properties rdfs:domain rdfs:range rdfs:subPropertyOf Datatypes rdfs:Literal rdfs:Datatype Containers rdfs:Container rdfs:member rdfs:ContainerMembershipProperty Annotation rdfs:label rdfs:comment rdfs:seeAlso rdfs:isDefinedBy Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 28 14
  • 16. Serialización en RDF/XML (1/2) <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > <!ENTITY person "http://www.oeg-upm.net/ontologies/person#" > ]> <rdf:RDF xmlns="http://www.oeg-upm.net/ontologies/person#" xml:base="http://www.oeg-upm.net/ontologies/person" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:person="http://www.oeg-upm.net/ontologies/person#"> <rdfs:Property rdf:about="&person;hasColleague"> <rdfs:range rdf:resource="#Person"/> <rdfs:domain rdf:resource="#Person"/> </rdfs:Property> <rdfs:Property rdf:about="&person;hasHomePage"> <rdfs:domain rdf:resource="#FullProfessor"/> </rdfs:Property> <rdfs:Property rdf:about="&person;hasName"> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&rdfs;Literal"/> </rdfs:Property> ... Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 29 Serialización en RDF/XML (2/2) ... <rdfs:Class rdf:about="#AssociateProfessor"> <rdfs:subClassOf rdf:resource="#Professor"/> </rdfs:Class> <rdfs:Class rdf:about="#FullProfessor"> <rdfs:subClassOf rdf:resource="#Professor"/> </rdfs:Class> <rdfs:Class rdf:about="#InterimAssociateProfessor"> <rdfs:subClassOf rdf:resource="#AssociateProfessor"/> </rdfs:Class> <rdfs:Class rdf:about="#Person"/> <rdfs:Class rdf:about="#Professor"> <rdfs:subClassOf rdf:resource="#Person"/> </rdfs:Class> <FullProfessor rdf:about="#Asun"> <person:hasHomePage>http://www.fi.upm.es</person:hasHomePage> <person:hasColleague rdf:resource="#Raul"/> </FullProfessor> <AssociateProfessor rdf:about="#Oscar"> <person:hasName>Oscar Corcho García</person:hasName> <person:hasColleague rdf:resource="#Asun"/> </AssociateProfessor> <InterimAssociateProfessor rdf:about="#Raul"/> </rdf:RDF> Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 30 15
  • 17. Serialización en Turtle (1/2) @base <http://www.oeg-upm.net/ontologies/person> . @prefix : <http://www.oeg-upm.net/ontologies/person#> . @prefix person: <http://www.oeg-upm.net/ontologies/person#> . :hasColleague a rdfs:Property . rdfs:domain :Person . rdfs:range :Person ; :hasHomePage a rdfs:Property . rdfs:domain :FullProfessor . :hasName a rdfs:Property . rdfs:domain :Person ; rdfs:range rdfs:Literal . … a is equivalent to rdf:type Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 31 Serialización en Turtle (2/2) … :Person a rdfs:Class . :Professor a rdfs:Class ; rdfs:subClassOf :Person . :FullProfessor a rdfs:Class ; rdfs:subClassOf :Professor . :AssociateProfessor a rdfs:Class ; rdfs:subClassOf :Professor . :InterimAssociateProfessor a rdfs:Class ; rdfs:subClassOf :AssociateProfessor . :Asun a :FullProfessor ; :hasHomePage "http://www.fi.upm.es" ; :hasColleague :Raul . :Oscar a :AssociateProfessor ; :hasName "Oscar Corcho García" ; :hasColleague :Asun . :Raul a :InterimAssociateProfessor . a is equivalent to rdf:type Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 32 16
  • 18. Ejemplo de algunas RDF APIs •  Librerías RDF para distintos lenguajes: -  Java, Python, C, C++, C#, .Net, Javascript, Tcl/Tk, PHP, Lisp, Obj-C, Prolog, Perl, Ruby, Haskell -  Un listado disponible en http://esw.w3.org/topic/SemanticWebTools •  Multilenguaje: -  Redland RDF Application Framework (C, Perl, PHP, Python and Ruby): http://www.redland.opensource.ac.uk/ •  Java: -  Jena: http://jena.sourceforge.net/ -  Sesame: http://www.openrdf.org/ •  PHP: -  RAP - RDF API for PHP: http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/ •  Python: -  RDFLib: http://rdflib.net/ -  Pyrple: http://infomesh.net/pyrple/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 33 Ejercicio • Objetivo •  Entender las características de RDF(S) para implementar vocabularios y datos, incluyendo sus limitaciones • Tareas •  A partir de una descripción de dominio, crear el grafo RDF(S) •  Primero incluir sólo el vocabulario del dominio •  Después incluir referencias a RDF y a los vocabularios RDFS Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 34 17
  • 19. Ejercicio 1. Descripción del dominio •  Cierta ubicación puede ser un lugar de interés. •  Los lugares de interés pueden ser lugares turísticos o establecimientos, pero no ambos a la vez. •  Los lugares turísticos pueden ser palacios, iglesias, capillas y catedrales. •  Los establecimientos pueden ser hoteles, hostales, o viviendas en alquiler. •  Un lugar está ubicado en una localidad, que puede ser una ciudad, un pueblo o una ciudad céntrica. •  Un lugar de interés tiene dirección postal, que incluye el nombre de la calle y el número. •  Las localidades tienen un cierto número de habitantes. •  Las localidades pertenecen a una cierta provincia. •  Covarrubias es un pueblo con 634 habitantes en la provincia de Burgos. •  El restaurante “El Galo” está ubicado en Covarrubias, en la calle Mayor, número 5. •  Una de las iglesias de Covarrubias está en la calle Santo Tomás. Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 35 Ejercicio 1. Ejemplo de vocabulario resultante Literal hasLatitude hasAltitude hasLongitude isLocatedAPoint PhysicalPoint TransportMedium Train hasStop hasDestination hasOrigin SpacialThing OnFoot Bus Car Bycicle Stage By Town nected Literal isSupportedBy Location through isCon City hasStreet isPlacedIn hasNumber hasPostalCode Locality hasBegining TransportInfrastructure inProvince hasEnd PostalAddress hasSurface hasInhabitantNumber Village hasStretch Literal Railway Route Path LocationOf hasAddress International Road Trach Stretch Establistioment hasDistance Literal Hostel GuestHouse hasDenomination Literal Touristic Hotel Location isProvidedBy Service Restauration Chapel providesService Service Palace BankService PostalService Church HealthService Cathedral SecurityService Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 36 18
  • 20. El Lenguaje de Consultas SPARQL Raúl García-Castro, Oscar Corcho Facultad de Informática, Universidad Politécnica de Madrid Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net ocorcho@fi.upm.es Curso en Red.es. 29 de Noviembre de 2012 Lenguajes de consulta sobre RDF(S) Aplicación Aplicación Consultas en SQL Consultas en SPARQL Base de RDF(S) datos OWL relacional •  Soportado por las APIs y triple stores más relevantes -  Jena, Sesame, RASQAL, etc. -  Virtuoso, 4store, Fuseki, etc. -  ... •  Hay algunas diferencias con respecto a lenguajes como SQL, tales como -  Posibilidad de combinar fuentes de datos heterogéneas -  Hipótesis de mundo abierto Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 38 19
  • 21. Inferencia en RDF. Ejemplos (I) •  Ejemplo de grafo RDF person:hasColleague person:hasColleague data:Oscar data:Asun data:Raul person:hasName person:hasHomePage “Óscar Corcho García” http://www.oeg-upm.net/ •  Consulta: “Dime las personas que tienen a Raúl como colega” person:hasColleague ? data:Raul -  Resultado: data:Asun Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 39 Inferencia en RDF. Ejemplos (II) •  Consulta: “Dime qué relaciones existen entre Oscar y Asun” ? data:Oscar data:Asun -  Resultado: person:hasColleague •  Consulta: “Dime la página Web de los colegas de Oscar” person:hasColleague data:Oscar person:hasHomePage ? -  Resultado: “http://www.oeg-upm.net/” Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 40 20
  • 22. SPARQL también es un protocolo •  SPARQL es un lenguaje de consulta… Encuentra nombres y websites de colaboradores de PlanetRDF: PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?website FROM <http://planetrdf.com/bloggers.rdf> WHERE { ?person foaf:weblog ?website . ?person foaf:name ?name . ?website a foaf:Document } •  ... Y un Protocolo http://.../qps?query-lang=http://www.w3.org/TR/rdf-sparql-query/ &graph-id=http://planetrdf.com/bloggers.rdf&query=PREFIXfoaf: <http://xmlns.com/foaf/0.1/... •  Servicios ejecutando consultas SPARQL sobre un conjunto de grafos •  Un protocolo de transporte para invocar al servicio •  Descripción del servicio con tecnologías de servicios Web Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 42 Conclusiones SPARQL •  Servicios del protocolo SPARQL -  Permite a los usuarios (humanos u otros) hacer una consulta en una base de datos y conocimientos usando SPARQL -  Los resultados son devueltos normalmente en uno o más formatos procesables por máquinas •  Listado de puntos de acceso (endpoints) de SPARQL -  http://esw.w3.org/topic/SparqlEndpoints •  Acceso programático usando librerías: -  ARC, RAP, Jena, Sesame, Javascript SPARQL, PySPARQL, etc. •  Ejemplos: Proyecto Conclusión DBpedia http://dbpedia.org/sparql BBC Programmes and Music http://bbc.openlinksw.com/sparql/ data.gov http://semantic.data.gov/sparql data.gov.uk http://data.gov.uk/sparql Musicbrainz http://dbtune.org/musicbrainz/sparql Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 43 21
  • 23. Ejemplo: consultando DBpedia •  Gente nacida en Berlín antes de 1900 Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 44 Ejemplo: consultando DBpedia Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 45 22
  • 24. También consultas más “españolas” •  ¿Qué toreros han estado casados con cantantes de copla? Aquí PREFIX dcterms: <http://purl.org/dc/terms/> SELECT ?torero ?cantante WHERE{ ?torero rdf:type dbpedia-owl:BullFighter . ?torero dbpedia-owl:spouse ?cantante . ?cantante dcterms:subject <http://es.dbpedia.org/resource/ Categoría:Cantantes_de_coplas> } Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 46 Un consulta sencilla en SPARQL Data: @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . :book1 dc:title "SPARQL Tutorial" . Query: SELECT ?title WHERE { <http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title . } Query result: title "SPARQL Tutorial" •  Un patrón de consulta se ajusta contra los datos en RDF •  En todo caso un patrón puede ajustarse para proporcionar una solución •  La secuencia de soluciones se puede filtrar •  Se aplica uno de los siguientes constructores: SELECT, CONSTRUCT, DESCRIBE, ASK Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 47 23
  • 25. Varios patrones de grafos: joins @prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Johnny Lee Outlaw" . _:a foaf:mbox <mailto:jlow@example.com> . _: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 WHERE { ?x foaf:name ?name . ?x foaf:mbox ?mbox } name mbox "Johnny Lee Outlaw" <mailto:jlow@example.com> "Peter Goodguy" <mailto:peter@example.org> Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 48 Literales RDF @prefix dt: <http://example.org/datatype#> . @prefix ns: <http://example.org/ns#> . @prefix : <http://example.org/ns#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . :x ns:p "cat"@en . :y ns:p "42"^^xsd:integer . :z ns:p "abc"^^dt:specialDatatype . SELECT ?v WHERE { ?v ?p "cat" } v SELECT ?v WHERE { ?v ?p "cat"@en } v <http://example.org/ns#x> SELECT ?v WHERE { ?v ?p 42 } v <http://example.org/ns#y> SELECT ?v WHERE { ?v ?p "abc"^^<http://example.org/datatype#specialDatatype> } v <http://example.org/ns#z> Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 49 24
  • 26. Nodos en blanco @prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" . _:b foaf:name "Bob" . PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?x ?name WHERE { ?x foaf:name ?name } x name x name _:c "Alice" = _:r "Alice" _:d "Bob" _:s "Bob" Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 50 Grupos de patrones PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox WHERE { { ?x foaf:name ?name . } { ?x foaf:mbox ?mbox . } } SELECT ?x WHERE {} PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox WHERE { { ?x foaf:name ?name . } { ?x foaf:mbox ?mbox . FILTER regex(?name, "Smith")} } Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 51 25
  • 27. Patrones opcionales (left-outer-join) @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . _:a rdf:type foaf:Person . _:a foaf:name "Alice" . _:a foaf:mbox <mailto:alice@example.com> . _:a foaf:mbox <mailto:alice@work.example> . _:b rdf:type foaf:Person . _:b foaf:name "Bob" . PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox WHERE { ?x foaf:name ?name . OPTIONAL { ?x foaf:mbox ?mbox } } name mbox "Alice" <mailto:alice@example.com> "Alice" <mailto:alice@work.example> “Bob" Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 52 Patrones opcionales múltiples @prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" . _:a foaf:homepage <http://work.example.org/alice/> . _:b foaf:name "Bob" . _:b foaf:mbox <mailto:bob@work.example> . PREFIX foaf: <http://xmlns.com/foaf/0.1/> 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> Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 53 26
  • 28. Patrones de alternativas @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" . _: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/> title PREFIX dc11: <http://purl.org/dc/elements/1.1/> "SPARQL Protocol Tutorial" SELECT ?title "SPARQL" WHERE { { ?book dc10:title ?title } UNION { ?book dc11:title ?title } } "SPARQL (updated)" "SPARQL Query Language Tutorial" SELECT ?x ?y x y WHERE { { ?book dc10:title ?x } UNION "SPARQL (updated)" { ?book dc11:title ?y } } "SPARQL Protocol Tutorial" "SPARQL" "SPARQL Query Language Tutorial" SELECT ?title ?author WHERE author title { { ?book dc10:title ?title . ?book dc10:creator ?author } "Alice" "SPARQL Protocol Tutorial" UNION { ?book dc11:title ?title . ?book dc11:creator ?author }} “Bob” "SPARQL Query Language Tutorial" Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 54 Grafos con nombre # Named graph: http://example.org/foaf/aliceFoaf @prefix foaf:<http://.../foaf/0.1/> . @prefix rdf:<http://.../1999/02/22-rdf-syntax-ns#> . @prefix rdfs:<http://.../2000/01/rdf-schema#> . _:a foaf:name "Alice" . _:a foaf:mbox <mailto:alice@work.example> . _:a foaf:knows _:b . _:b foaf:name "Bob" . _:b foaf:mbox <mailto:bob@work.example> . _:b foaf:nick "Bobby" . _:b rdfs:seeAlso <http://example.org/foaf/bobFoaf> . <http://example.org/foaf/bobFoaf> rdf:type foaf:PersonalProfileDocument . # Named graph: http://example.org/foaf/bobFoaf @prefix foaf:<http://.../foaf/0.1/> . @prefix rdf:<http://.../1999/02/22-rdf-syntax-ns#> . @prefix rdfs:<http://.../2000/01/rdf-schema#> . _:z foaf:mbox <mailto:bob@work.example> . _:z rdfs:seeAlso <http://example.org/foaf/bobFoaf> . _:z foaf:nick "Robert" . <http://example.org/foaf/bobFoaf> rdf:type foaf:PersonalProfileDocument . Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 55 27
  • 29. Grafos con nombre PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?src ?bobNick FROM NAMED <http://example.org/foaf/aliceFoaf> src bobNick FROM NAMED <http://example.org/foaf/bobFoaf> <http://example.org/foaf/aliceFoaf> "Bobby" WHERE { <http://example.org/foaf/bobFoaf> "Robert" GRAPH ?src { ?x foaf:mbox <mailto:bob@work.example> . ?x foaf:nick ?bobNick } } PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX data: <http://example.org/foaf/> SELECT ?nick FROM NAMED <http://example.org/foaf/aliceFoaf> nick FROM NAMED <http://example.org/foaf/bobFoaf> WHERE "Robert" { GRAPH data:bobFoaf { ?x foaf:mbox <mailto:bob@work.example> . ?x foaf:nick ?nick } } Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 56 Filtros y restricciones @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . @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 title WHERE { ?x dc:title ?title FILTER regex(?title, "^SPARQL") "SPARQL Tutorial" } PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title title WHERE { ?x dc:title ?title FILTER regex(?title, "web", "i" ) "The Semantic Web" } PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> title price SELECT ?title ?price WHERE { ?x ns:price ?price . "The Semantic Web" 23 FILTER (?price < 30.5) ?x dc:title ?title . } Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 57 28
  • 30. Tests de valores •  Basado en funciones y operadores XQuery 1.0 y XPath 2.0 •  XSD boolean, string, integer, decimal, float, double, dateTime •  Anotaciones <, >, =, <=, >= y != para comparación de valores Aplicable a cualquier tipo •  BOUND, isURI, isBLANK, isLITERAL •  REGEX, LANG, DATATYPE, STR () •  Cualquier función extendida Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 58 Modificadores •  Modificador de orden: pone las SELECT ?name soluciones en un cierto orden WHERE { ?x foaf:name ?name ; :empId ?emp } ORDER BY ?name DESC(?emp) •  Modificador de proyección: SELECT ?name selecciona ciertas variables WHERE { ?x foaf:name ?name } •  Modificador DISTINCT: asegura SELECT DISTINCT ?name que las soluciones son únicas WHERE { ?x foaf:name ?name } •  Modificador reductor: permite la SELECT REDUCED ?name WHERE { ?x foaf:name ?name } eliminación de algunas soluciones que no son únicas •  Modificador de límite: restringe el SELECT ?name WHERE { ?x foaf:name ?name } número de soluciones LIMIT 20 SELECT ?name WHERE { ?x foaf:name ?name } •  Modificador Offset: controla dónde ORDER BY ?name comienzan las soluciones en la LIMIT 5 secuencia global de soluciones OFFSET 10 Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 59 29
  • 31. Ejercicio 2 • Objetivo •  Comprender cómo trabajar con consultas SPARQL • Tareas •  Crear un conjunto de consultas SPARQL sobre un vocabulario de ejemplo •  http://sandbox.linkeddata.es/sparql •  En el grafo: http://sandbox.linkeddata.es/Grado_20122013 Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 64 Ejemplo de vocabulario SpatialThing hasInhabitantNumber rdfs:Literal isPlacedIn Location Locality rdfs:Literal hasStreet hasNumber inProvince hasAddress PostalAddress LocationOfInterest Village Town City TouristicLocation Establishment Palace Church Chapel Cathedral Hotel Hostel GuestHouse Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 65 30
  • 32. Queries en este modelo 1.  Obtener todas las clases 2.  Obtener las subclases de la clase Establishment 3.  Obtener las instancias de la clase City 4.  Obtener el número de habitantes de Santiago de Compostela 5.  Obtener el número de habitantes de Santiago de Compostela y de Arzua 6.  Obtener distintos lugares con número de habitantes, ordenar los resultados por el nombre del lugar (ascendente) 7.  Obtener todas las instancias de Locality con su número de habitantes (si existe) 8.  Obtener todos los lugares con más de 200.000 habitantes 9.  Obtener los datos postales de Pazo_Breogan (calle, número, localidad, provincia) 10.  Obtener las subclases de la clase Location 11.  Obtener las instancias de la clase Locality 12.  Describir el recurso con rdfs:label "Madrid” 13.  Construir el grafo RDF(S) que relaciona directamente todos los lugares turísticos con sus respectivas provincias, usando una nueva propiedad llamada ”isIn” 14.  Preguntar si hay alguna instancia de Town Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 66 Consultas en el modelo 1)  Obtener todas las clases PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?x WHERE { ?x a rdfs:Class. } 2) Obtener las subclases de la clase Establishment PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { ?x rdfs:subClassOf pr:Establishment. } 3) Obtener las instancias de la clase City PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { ?x a pr:City. } Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 67 31
  • 33. Consultas en las instancias 4) Obtener el número de habitantes de Santiago de Compostela PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { pr:Santiago_de_Compostela pr:hasInhabitantNumber ?x. } 5) Obtener el número de habitantes de Santiago de Compostela y de Arzua PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { {pr:Santiago_de_Compostela pr:hasInhabitantNumber ?x.} UNION {pr:Arzua pr:hasInhabitantNumber ?x.} } 6) Obtener diferentes lugares con el número de habitantes, ordenando los resultados por el nombre del lugar (ascendente) PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?x ?y WHERE { $loc pr:hasInhabitantNumber ?y; rdfs:label ?x.} ORDER BY ASC(?x) Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 68 Consultas en las instancias II 7) Obtener todas las instancias de Locality con su número de habitantes (si existe) PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?x ?y WHERE { $loc a pr:Locality; rdfs:label ?x. OPTIONAL {$loc pr:hasInhabitantNumber ?y.} } 8) Obtener todos los lugarescon más de 200.000 habitantes PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?x ?y WHERE { $loc pr:hasInhabitantNumber ?y; rdfs:label ?x. FILTER(?y > 200000) } 9) Obtener los datos postales de Pazo_Breogan (calle, número, localidad, provincia) PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?street ?number ?locality ?province WHERE { pr:Pazo_Breogan pr:isPlacedIn $pob; pr:hasAddress $dir. $pob rdfs:label ?locality; pr:inProvince ?province. $dir pr:hasStreet ?street; pr:hasNumber ?number.} Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 69 32
  • 34. Consultas con inferencia 10) Obtener las subclases de la clase Location PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { ?x rdfs:subClassOf pr:Location. } 11) Obtener las instancias de la clase Locality PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { ?x a pr:Locality. } Query especial (SELECT *) 12) Obtener los valores de todas las variables de la query PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT * WHERE { ?x pr:hasInhabitantNumber ?y. } Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 70 70 Distintos tipos de consulta 13) Describe el recurso con rdfs:label "Madrid" PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> DESCRIBE ?x WHERE { ?x rdfs:label "Madrid". } 14) Construye el grafo RDF(S) que relaciona directamente todos los lugares turísticos con sus respectivas provincias, usando una nueva propiedad llamada ”isIn” PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> CONSTRUCT {?x pr:isIn ?y} WHERE { ?x a pr:TouristicLocation; pr:isPlacedIn $pob. $pob pr:inProvince ?y. } 15) Preguntar si hay alguna instancia de Town PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> ASK WHERE {?a a pr:Town} 16) Preguntar si hay alguna instancia de Chapel PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> ASK WHERE {?a a pr:Chapel} Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 71 33