SlideShare uma empresa Scribd logo
1 de 110
Baixar para ler offline
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/	
  
	
  




                                                                                                 	
  
26/11/12




                           Tecnologías Semánticas en
                                la Web de datos

                                         Asunción Gómez-Pérez, 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
                                                      asun@fi.upm.es


                         Agradecimientos:
                         Garijo, D. Vila, L.Vilches, B. Villazón



                                  Curso en Red.es. 29 de Noviembre de 2012




                                                                                     Indice

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                 2




                                                                                                        1
26/11/12




                                 Web de Linked Data:
                                  Conceptos Básicos

                                      Asunción Gómez-Pérez, 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
                                                   asun@fi.upm.es


                      Agradecimientos:
                      D. Vila



                                Curso en Red.es. 29 de Noviembre de 2012




                                                                                  Índice



            1.  Concepto
            2.  Fundamentos
            3.  Proceso




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




                                                                                                     2
26/11/12




Consultas complejas usando datos de diferentes páginas Web




                                    http://www.bne.es/


                                                                                                     http://elviajero.elpais.com/



Turista alemán entusiasta de
Cervantes dispuesto a conocer más
sobre el trabajo y la vida de Cervantes




                                 http://www.viaf.org/
                                                                                                                    http://www.aemet




                     Tecnologías Semánticas en la Web de Datos. *Picture attribution: http://commons.wikimedia.org/wiki/User:Gugerell
                                                                Red.es. 29 de noviembre de 2012                                           5




       BD             BD             BD            BD       BD            BD
       BNE           VIAF           AEMET         IGN      Prisa        DBpedia             Integración de datos

                              BNE


                                     Ubicado en
                                                                                                     Alcalá de Henares
  1605                      El Quijote
               Año de                                                                                            Igual a
              Publicación            autor                                              Lugar de
                                                                                        nacimiento
                                                                       M. Cervantes                   Alcalá de Henares
                        M. Cervantes




                          M. Cervantes

                creador
  Año de
publicación      Don Quixote

1960                                                                                                      Alcalá de Henares
                                                                   Alcalá de Henares
Traducido a

                                                                                                                                    Temperatura
                       localizado                                          guía
Hebrew
                                                                                                                                    20º
                                                                      Tapas Siglo
                                                                      de Oro
              VIAF


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




                                                                                                                                                        3
26/11/12




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




http://www.emtmadrid.es/
  Tecnologías Semánticas en la Web de Datos.   Red.es. 29 de noviembre de 2012   8




                                                                                           4
26/11/12




     Ayto            Catas         BD             BD       BD
    Madrid            tro         AEMET         DBpedia   IGN                      Integración de datos

                                 L-20

                                      Código Local
                                                                                                  Madrid
  11012723               Cafetería Simpatía
             NúmeroPortal                                                                            sameAs
                                        vcard:adr
                                                                                    city
                                                                C/ Alcalá, 54                     Madrid
                             C/ Alcalá, 54




                        C/ Alcalá, 54

                                 refCatastral

  codPostal      1446403VK4714E0001AZ

28014                                                                                        Madrid

superficie
                                                                                                              Temperatura
                       añoConstrucción
971m2
                                                                                                              20º

              1910


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




                         Asunción Gómez Pérez                   10




                                                                                                                                  5
26/11/12




                                                                                  Agregar Información




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




     Event            BD          BD            BD      BD
     Media          DBpedia      ElPaís        Havas   Twitter                    Agregar información

                              31/10/2012

                                     fecha
                                                                                                   Tagcloud

  Diviertt             Fiesta Halloween 2012
              organizador
                                                                                                           isTagCloudOf
                                     lugar
                                                                                hashtag
                                                                 Madrid Arena                    #madridarena
                            Madrid Arena




                       Madrid Arena

                                lugar

             país           Madrid

España                                                                                        #madridarena


                                                                                                       noticia


                                                                                  http://elpais.com/elpais/2012/11/01/
                                                                                  inenglish/1351773824_923902.html




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




                                                                                                                                     6
26/11/12




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




                                                                                           Linked Data

Visualización de
    datos y
 conocimientos




   Enlazado




  Generación
   de RDF




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




                                                                                                                    7
26/11/12




                                                                                              Índice



                                1.  Concepto
                                2.  Fundamentos
                                3.  Proceso




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




                                                    Linked Data: ¿Por qué es importante?

        •  Facilita la integración de datos
                •    De fuentes heterogéneas
                •    En distintos formatos
                •    Distinto nivel de detalle
                •    En distintos idiomas
                •    De distintos países




© Adaptada de “5min Introduction to Linked Data”- Olaf Hartig

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




                                                                                                             8
26/11/12




                                                                                                                    Fundamentos
   Modelos en RDF(S)                                                Identificadores únicos: URI
                                                                     identifica o nombra recursos


                                                                    Enlaces a otros conjuntos de datos
                                                                    Same As


                                                                    Navegación de datos
      http://iflastandards.info/ns/fr/frbr/frbrer/C1005                       http://iflastandards.info/ns/fr/frbr/frbrer/C1001
                                                              Es creador de
                                            Persona                      Cer           Obra


                                         Es una                                               Es una


                                                              Es creador de
                                            Cervantes                   Cer          El Quijote

             http://datos.bne.es/resource/XX1718747                                  http://datos.bne.es/resource/XX3383563


                                                    Same As
                Same As



                                             Cervantes

                              http://viaf.org/viaf/17220427
Cervantes

  http://dbpedia.org/resource/Miguel_de_Cervantes
                   Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012




                                                                                                                    Fundamentos
  Alineando Modelos con Owl EquivalentClass
                                                                                                       Persona        http://schema.org/Person

    http://iflastandards.info/ns/fr/frbr/frbrer/C1005                    EquivalentClass
    Persona
                                                                                                       Persona       http://xmlns.com/foaf/0.1/Person

             lugar de
             nacimiento



           Municipio                                                                                          Municipio
                                                               EquivalentClass
 http://dbpedia.org/resource/Municipalities_of_Spain                                           http://geo.linkeddata.es/ontology/Municipio


   Es un                                                                                                             Es un



              Alcalá de Henares                               Same As                              Alcalá de Henares
   http://dbpedia.org/page/Alcal%C3%A1_de_Henares                                     http://geo.linkeddata.es/resource/Alcalá de Henares




                                                        Lecciones aprendidas
                                                        1. Reutilización de modelos existentes
                                                        2. Alineación de datos y conceptos.

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




                                                                                                                                                              9
26/11/12




                                                                               El modelo (Ontología) y los datos
                                        Lengua



                          traducción
                                                       Es creador de                  Lugar de nacimiento
Año                                       Obra                            Persona                                 Lugar                             Ontología
           Fecha de publicación
                                                   Se refiere a


               Ubicado en


             Biblioteca




                                                                          Catalán



                                                         traducción
                                                                                              Es creador de                  Lugar de nacimiento
                                   1960                                    El Quijote                          Cervantes                              Alcalá de Henares
                                             Fecha de publicación

                                                                                                    Se refiere a

                                                             Ubicado en                                                                                      Datos
                                                                                                       Vida de Cervantes
                                  BNE


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




                                              El modelo (Ontología) y los datos (datasets)
          idioma
         http://iflastandards.info/ns/fr/frbr/frbrer/C1002
                                                                                                                                                    Ontología

                           traducción
                                                                           Es creador de
                     trabajo                                                                         Persona
Año                  http://iflastandards.info/ns/fr/frbr/frbrer/C1001                    http://iflastandards.info/ns/fr/frbr/frbrer/C1005
           Fecha de publicación
                                                                                                                                              Lugar de nacimiento
                                                                          Tiene subject
                     Localizado en                                                                                          http://geo.linkeddata.es/ontology/Municipio


             Biblioteca
             http://xmlns.com/foaf/0.1/Organization




                                  Catalán
                                  http://datos.bne.es/resource/XX1924295


                                                                 translation                                          http://geo.linkeddata.es/resource/Alcalá de Henares

                                  Don Quijote de la Mancha
                                                                                                  Cervantes Saavedra, Miguel de
                                                                                  Es autor                                                          Lugar de nacimiento
1960                              http://datos.bne.es/resource/XX3383563                        http://datos.bne.es/resource/XX1718747
       Fecha de publicación


                                                                                                 Tiene subject


                                                         Localizado en                     http://datos.bne.es/resource/bimo0002045496

                                             BNE                                                Vida de Miguel de Cervantes Saavedra

                                            http://datos.bne.es/#                                                                                           Datos
                    Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012                                                20




                                                                                                                                                                                    10
26/11/12




                                                                                                      Índice



                    1.  Concepto
                    2.  Fundamentos
                    3.  Proceso




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




                                                                          Especificación @ BNE
                    •    Registros en formato MARC 21
                    •    3.9 millones de registros bibliográficos
Especificar
                    •    4.2 millones de registros de autoridades
                    •    Versión: Noviembre 2011
 Modelar


                          AUTHORITY                                          BIBLIOGRAPHIC
Generar RDF




  Enlazar
                                  Persons                                    76576   Maps
                                  Corporate bodies                           320727 Sound recordings
                                  Conferences                                166017 Gravings, drawings, pictures
 Publicar
                                  Titles                                     35770   Manuscripts

                                  Subject                                    143959 Ancient books
                                                                             2696560 Modern books
 Explotar
                                                                             178473 Scores
                                                                             3021    Electronic resources
                                                                             156634 Serials
                                                                             96672   Videos


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




                                                                                                                         11
26/11/12




                                           La Ontología: basada en vocabularios IFLA


Especificar



 Modelar



Generar RDF




  Enlazar


 Publicar



 Explotar




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




                                                      La herramienta Marimba genera RDF


Especificar



 Modelar



Generar RDF



 Enlazar


 Publicar



 Explotar



  BNE



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




                                                                                               12
26/11/12




                                                               Marimba enlaza con otros recursos:
                                                              VIAF, DNB, SUDOC, LIBRIS, DBpedia

                             http://d-nb.info/gnd/11851993X
Especificar
                                                                   DNB




 Modelar                                                 http://viaf.org/viaf/17220427
                                                                                                  VIAF


                           Same As
                                           Same As                 http://dbpedia.org/resource/Miguel_de_Cervantes
Generar RDF

                                                                                                                     DBpedia
                                                                     Same As
 Enlazar
                                http://datos.bne.es/resource/XX1718747

                                                                                              BNE
 Publicar                                                            Same As

                                            Same As
 Explotar                                                        http://www.idref.fr/026774771/id
                                                                                                         SUDOC



                                        http://libris.kb.se/resource/auth/45369

                                                                                         LIBRIS



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




                                                               Marimba enlaza con otros recursos:
                                                              VIAF, DNB, SUDOC, LIBRIS, DBpedia


Especificar



 Modelar



Generar RDF



 Enlazar


 Publicar



 Explotar




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




                                                                                                                                    13
26/11/12




                                                                                                          Publicar


 Especificar



  Modelar
                        Publicar los datos

Generar RDF
                        Describir el recurso con VOID

                        Para facilitar el descubrimiento
  Enlazar
                              •  Registrar en CKAN tu recurso
  Publicar
                              •  Utilizar sitemap4rdf para generar el sitemap
  Explotar
                              •  Cargar el sitemap en Google y Sindice




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




                                                                                                          Explotar

                             Interfaz Web
Especification
 Especificar



  Modelar
   Model



    RDF
Generar RDF
 generation


 Publication
  Enlazar

                            Consultas en SPARQL
Exploitation
 Publicar
                                                                                         URI Cervantes
                                  select distinct COUNT(?Obras) where {

  Explotar                        http://datos.bne.es/resource/XX1718747                      Is author

                                   <http://iflastandards.info/ns/fr/frbr/frbrer/P2010>
                                  ?Obras
                                  }

                            http://linkeddata3.dia.fi.upm.es/bne-demo
            Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012




                                                                                                                          14
Í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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos
Tecnologías Semánticas en la Web de Datos

Mais conteúdo relacionado

Semelhante a Tecnologías Semánticas en la Web de Datos

Especializate: Estudios en Ciencias de la Información y Documentación
Especializate: Estudios en Ciencias de la Información y DocumentaciónEspecializate: Estudios en Ciencias de la Información y Documentación
Especializate: Estudios en Ciencias de la Información y DocumentaciónKarol Merchán Parra
 
Especializate: Estudios en Ciencias de la Información y Documentación
Especializate: Estudios en Ciencias de la Información y DocumentaciónEspecializate: Estudios en Ciencias de la Información y Documentación
Especializate: Estudios en Ciencias de la Información y DocumentaciónKarol Merchán Parra
 
Websemantica
WebsemanticaWebsemantica
Websemanticakorytika
 
WEB SEMANTICA
WEB SEMANTICA WEB SEMANTICA
WEB SEMANTICA korytika
 
Proyecto portal web BATEMS
Proyecto portal web BATEMSProyecto portal web BATEMS
Proyecto portal web BATEMSCarlos Hdez
 
Proyecto actualizado 22 01-2012
Proyecto actualizado 22 01-2012Proyecto actualizado 22 01-2012
Proyecto actualizado 22 01-2012DougCesp
 
creative commons y datos en la web
creative commons y datos en la webcreative commons y datos en la web
creative commons y datos en la webCarlos Correa
 
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
 
Chiclayo 2012
Chiclayo 2012Chiclayo 2012
Chiclayo 2012Dangel DC
 
Diapositivas de las web
Diapositivas de las webDiapositivas de las web
Diapositivas de las webAlvanny Torres
 
Eva mendez servicios-de-informacion-socialesysemanticos-web30
Eva mendez servicios-de-informacion-socialesysemanticos-web30Eva mendez servicios-de-informacion-socialesysemanticos-web30
Eva mendez servicios-de-informacion-socialesysemanticos-web30Anubis Hosein
 
Actividad de desempeño
Actividad de desempeñoActividad de desempeño
Actividad de desempeñoAdan1120
 
Clase nº 4
Clase nº 4Clase nº 4
Clase nº 4Vekaj
 
Charla: Cadenas confianza con DNSSEC aplicadas a Comunidades Virtuales de Apr...
Charla: Cadenas confianza con DNSSEC aplicadas a Comunidades Virtuales de Apr...Charla: Cadenas confianza con DNSSEC aplicadas a Comunidades Virtuales de Apr...
Charla: Cadenas confianza con DNSSEC aplicadas a Comunidades Virtuales de Apr...Universidad Nacional de Loja
 

Semelhante a Tecnologías Semánticas en la Web de Datos (20)

Base de datos ii
Base de datos iiBase de datos ii
Base de datos ii
 
Especializate: Estudios en Ciencias de la Información y Documentación
Especializate: Estudios en Ciencias de la Información y DocumentaciónEspecializate: Estudios en Ciencias de la Información y Documentación
Especializate: Estudios en Ciencias de la Información y Documentación
 
Especializate: Estudios en Ciencias de la Información y Documentación
Especializate: Estudios en Ciencias de la Información y DocumentaciónEspecializate: Estudios en Ciencias de la Información y Documentación
Especializate: Estudios en Ciencias de la Información y Documentación
 
Websemantica
WebsemanticaWebsemantica
Websemantica
 
WEB SEMANTICA
WEB SEMANTICA WEB SEMANTICA
WEB SEMANTICA
 
Web semántica y web 2.0
Web semántica y web 2.0Web semántica y web 2.0
Web semántica y web 2.0
 
Proyecto portal web BATEMS
Proyecto portal web BATEMSProyecto portal web BATEMS
Proyecto portal web BATEMS
 
Nuevas tecnologias en Bibliotecas
Nuevas tecnologias en BibliotecasNuevas tecnologias en Bibliotecas
Nuevas tecnologias en Bibliotecas
 
Proyecto actualizado 22 01-2012
Proyecto actualizado 22 01-2012Proyecto actualizado 22 01-2012
Proyecto actualizado 22 01-2012
 
creative commons y datos en la web
creative commons y datos en la webcreative commons y datos en la web
creative commons y datos en la web
 
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
 
Chiclayo 2012
Chiclayo 2012Chiclayo 2012
Chiclayo 2012
 
Diapositivas de las web
Diapositivas de las webDiapositivas de las web
Diapositivas de las web
 
Eva mendez servicios-de-informacion-socialesysemanticos-web30
Eva mendez servicios-de-informacion-socialesysemanticos-web30Eva mendez servicios-de-informacion-socialesysemanticos-web30
Eva mendez servicios-de-informacion-socialesysemanticos-web30
 
Tablas comparativas
Tablas comparativas Tablas comparativas
Tablas comparativas
 
Actividad de desempeño
Actividad de desempeñoActividad de desempeño
Actividad de desempeño
 
Actividad de desempeño
Actividad de desempeñoActividad de desempeño
Actividad de desempeño
 
Agosto 11
Agosto 11Agosto 11
Agosto 11
 
Clase nº 4
Clase nº 4Clase nº 4
Clase nº 4
 
Charla: Cadenas confianza con DNSSEC aplicadas a Comunidades Virtuales de Apr...
Charla: Cadenas confianza con DNSSEC aplicadas a Comunidades Virtuales de Apr...Charla: Cadenas confianza con DNSSEC aplicadas a Comunidades Virtuales de Apr...
Charla: Cadenas confianza con DNSSEC aplicadas a Comunidades Virtuales de Apr...
 

Mais de Datos.gob.es

Cómo crear un plan de medidas para impulsar la apertura y reutilización de da...
Cómo crear un plan de medidas para impulsar la apertura y reutilización de da...Cómo crear un plan de medidas para impulsar la apertura y reutilización de da...
Cómo crear un plan de medidas para impulsar la apertura y reutilización de da...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
 
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
 
Las estrategias relacionadas con los datos que marcarán 2021
Las estrategias relacionadas con los datos que marcarán 2021 Las estrategias relacionadas con los datos que marcarán 2021
Las estrategias relacionadas con los datos que marcarán 2021 Datos.gob.es
 

Mais de Datos.gob.es (20)

Cómo crear un plan de medidas para impulsar la apertura y reutilización de da...
Cómo crear un plan de medidas para impulsar la apertura y reutilización de da...Cómo crear un plan de medidas para impulsar la apertura y reutilización de da...
Cómo crear un plan de medidas para impulsar la apertura y reutilización de da...
 
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
 
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
 
Las estrategias relacionadas con los datos que marcarán 2021
Las estrategias relacionadas con los datos que marcarán 2021 Las estrategias relacionadas con los datos que marcarán 2021
Las estrategias relacionadas con los datos que marcarán 2021
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
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
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
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
 
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
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
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
 

Último (15)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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)
 
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
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
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
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
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
 
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
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
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
 

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. 26/11/12 Tecnologías Semánticas en la Web de datos Asunción Gómez-Pérez, 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 asun@fi.upm.es Agradecimientos: Garijo, D. Vila, L.Vilches, B. Villazón Curso en Red.es. 29 de Noviembre de 2012 Indice 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 2 1
  • 3. 26/11/12 Web de Linked Data: Conceptos Básicos Asunción Gómez-Pérez, 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 asun@fi.upm.es Agradecimientos: D. Vila Curso en Red.es. 29 de Noviembre de 2012 Índice 1.  Concepto 2.  Fundamentos 3.  Proceso Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 4 2
  • 4. 26/11/12 Consultas complejas usando datos de diferentes páginas Web http://www.bne.es/ http://elviajero.elpais.com/ Turista alemán entusiasta de Cervantes dispuesto a conocer más sobre el trabajo y la vida de Cervantes http://www.viaf.org/ http://www.aemet Tecnologías Semánticas en la Web de Datos. *Picture attribution: http://commons.wikimedia.org/wiki/User:Gugerell Red.es. 29 de noviembre de 2012 5 BD BD BD BD BD BD BNE VIAF AEMET IGN Prisa DBpedia Integración de datos BNE Ubicado en Alcalá de Henares 1605 El Quijote Año de Igual a Publicación autor Lugar de nacimiento M. Cervantes Alcalá de Henares M. Cervantes M. Cervantes creador Año de publicación Don Quixote 1960 Alcalá de Henares Alcalá de Henares Traducido a Temperatura localizado guía Hebrew 20º Tapas Siglo de Oro VIAF Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 6 3
  • 5. 26/11/12 Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 7 http://www.emtmadrid.es/ Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 8 4
  • 6. 26/11/12 Ayto Catas BD BD BD Madrid tro AEMET DBpedia IGN Integración de datos L-20 Código Local Madrid 11012723 Cafetería Simpatía NúmeroPortal sameAs vcard:adr city C/ Alcalá, 54 Madrid C/ Alcalá, 54 C/ Alcalá, 54 refCatastral codPostal 1446403VK4714E0001AZ 28014 Madrid superficie Temperatura añoConstrucción 971m2 20º 1910 Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 9 Asunción Gómez Pérez 10 5
  • 7. 26/11/12 Agregar Información Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 11 Event BD BD BD BD Media DBpedia ElPaís Havas Twitter Agregar información 31/10/2012 fecha Tagcloud Diviertt Fiesta Halloween 2012 organizador isTagCloudOf lugar hashtag Madrid Arena #madridarena Madrid Arena Madrid Arena lugar país Madrid España #madridarena noticia http://elpais.com/elpais/2012/11/01/ inenglish/1351773824_923902.html Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 12 6
  • 8. 26/11/12 Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 13 Linked Data Visualización de datos y conocimientos Enlazado Generación de RDF Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 7
  • 9. 26/11/12 Índice 1.  Concepto 2.  Fundamentos 3.  Proceso Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 15 Linked Data: ¿Por qué es importante? •  Facilita la integración de datos •  De fuentes heterogéneas •  En distintos formatos •  Distinto nivel de detalle •  En distintos idiomas •  De distintos países © Adaptada de “5min Introduction to Linked Data”- Olaf Hartig Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 8
  • 10. 26/11/12 Fundamentos Modelos en RDF(S) Identificadores únicos: URI identifica o nombra recursos Enlaces a otros conjuntos de datos Same As Navegación de datos http://iflastandards.info/ns/fr/frbr/frbrer/C1005 http://iflastandards.info/ns/fr/frbr/frbrer/C1001 Es creador de Persona Cer Obra Es una Es una Es creador de Cervantes Cer El Quijote http://datos.bne.es/resource/XX1718747 http://datos.bne.es/resource/XX3383563 Same As Same As Cervantes http://viaf.org/viaf/17220427 Cervantes http://dbpedia.org/resource/Miguel_de_Cervantes Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 Fundamentos Alineando Modelos con Owl EquivalentClass Persona http://schema.org/Person http://iflastandards.info/ns/fr/frbr/frbrer/C1005 EquivalentClass Persona Persona http://xmlns.com/foaf/0.1/Person lugar de nacimiento Municipio Municipio EquivalentClass http://dbpedia.org/resource/Municipalities_of_Spain http://geo.linkeddata.es/ontology/Municipio Es un Es un Alcalá de Henares Same As Alcalá de Henares http://dbpedia.org/page/Alcal%C3%A1_de_Henares http://geo.linkeddata.es/resource/Alcalá de Henares Lecciones aprendidas 1. Reutilización de modelos existentes 2. Alineación de datos y conceptos. Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 9
  • 11. 26/11/12 El modelo (Ontología) y los datos Lengua traducción Es creador de Lugar de nacimiento Año Obra Persona Lugar Ontología Fecha de publicación Se refiere a Ubicado en Biblioteca Catalán traducción Es creador de Lugar de nacimiento 1960 El Quijote Cervantes Alcalá de Henares Fecha de publicación Se refiere a Ubicado en Datos Vida de Cervantes BNE Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 19 El modelo (Ontología) y los datos (datasets) idioma http://iflastandards.info/ns/fr/frbr/frbrer/C1002 Ontología traducción Es creador de trabajo Persona Año http://iflastandards.info/ns/fr/frbr/frbrer/C1001 http://iflastandards.info/ns/fr/frbr/frbrer/C1005 Fecha de publicación Lugar de nacimiento Tiene subject Localizado en http://geo.linkeddata.es/ontology/Municipio Biblioteca http://xmlns.com/foaf/0.1/Organization Catalán http://datos.bne.es/resource/XX1924295 translation http://geo.linkeddata.es/resource/Alcalá de Henares Don Quijote de la Mancha Cervantes Saavedra, Miguel de Es autor Lugar de nacimiento 1960 http://datos.bne.es/resource/XX3383563 http://datos.bne.es/resource/XX1718747 Fecha de publicación Tiene subject Localizado en http://datos.bne.es/resource/bimo0002045496 BNE Vida de Miguel de Cervantes Saavedra http://datos.bne.es/# Datos Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 20 10
  • 12. 26/11/12 Índice 1.  Concepto 2.  Fundamentos 3.  Proceso Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 21 Especificación @ BNE •  Registros en formato MARC 21 •  3.9 millones de registros bibliográficos Especificar •  4.2 millones de registros de autoridades •  Versión: Noviembre 2011 Modelar AUTHORITY BIBLIOGRAPHIC Generar RDF Enlazar Persons 76576 Maps Corporate bodies 320727 Sound recordings Conferences 166017 Gravings, drawings, pictures Publicar Titles 35770 Manuscripts Subject 143959 Ancient books 2696560 Modern books Explotar 178473 Scores 3021 Electronic resources 156634 Serials 96672 Videos Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 22 11
  • 13. 26/11/12 La Ontología: basada en vocabularios IFLA Especificar Modelar Generar RDF Enlazar Publicar Explotar Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 La herramienta Marimba genera RDF Especificar Modelar Generar RDF Enlazar Publicar Explotar BNE Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 12
  • 14. 26/11/12 Marimba enlaza con otros recursos: VIAF, DNB, SUDOC, LIBRIS, DBpedia http://d-nb.info/gnd/11851993X Especificar DNB Modelar http://viaf.org/viaf/17220427 VIAF Same As Same As http://dbpedia.org/resource/Miguel_de_Cervantes Generar RDF DBpedia Same As Enlazar http://datos.bne.es/resource/XX1718747 BNE Publicar Same As Same As Explotar http://www.idref.fr/026774771/id SUDOC http://libris.kb.se/resource/auth/45369 LIBRIS Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 Marimba enlaza con otros recursos: VIAF, DNB, SUDOC, LIBRIS, DBpedia Especificar Modelar Generar RDF Enlazar Publicar Explotar Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 13
  • 15. 26/11/12 Publicar Especificar Modelar Publicar los datos Generar RDF Describir el recurso con VOID Para facilitar el descubrimiento Enlazar •  Registrar en CKAN tu recurso Publicar •  Utilizar sitemap4rdf para generar el sitemap Explotar •  Cargar el sitemap en Google y Sindice Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 Explotar Interfaz Web Especification Especificar Modelar Model RDF Generar RDF generation Publication Enlazar Consultas en SPARQL Exploitation Publicar URI Cervantes select distinct COUNT(?Obras) where { Explotar http://datos.bne.es/resource/XX1718747 Is author <http://iflastandards.info/ns/fr/frbr/frbrer/P2010> ?Obras } http://linkeddata3.dia.fi.upm.es/bne-demo Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 14
  • 16. Í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
  • 17. Í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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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
  • 48. 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