Jose Emilio Labra Gayo - Universidad de Oviedo
Tecnologías de Web Semántica
Workshop (laboratorio)
Puno, Perú, 2015
Jose E...
Jose Emilio Labra Gayo - Universidad de Oviedo
Programa
Fundamentos Web
Web Semántica: Qué es y mapa de tecnologías
Descri...
Jose Emilio Labra Gayo - Universidad de Oviedo
Arquitectura de la Web
Fundamentos de la Web (slides)
Protocolo HTTP
Negoci...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Fundamentos de la Web
3 pilares
Interacción: Protocolos HTTP, FTP,...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Esquema conceptual de HTTP
Usuario Navegador
Cliente
Servidor
URI
...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Recursos
La Web está formada por recursos
Recurso = cualquier fuen...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Recursos
Navegador
Cliente
Servidor
URI
WWW
HTTP
Fichero texto
Ima...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Tipos de recursos
Los servidores asocian un tipo a cada recurso
Ti...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
HTTP: Formato de mensajes
Modo texto:
línea inicial
cabecera del m...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Mensajes de petición
Formato general:
POST /admin HTTP/1.1
Host: w...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
HTTP/1.1 200 OK
Date: Thu, 12 Oct 2013 09:36:05 GMT
Server: Apache...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Utilidades
Diversas utilidades
curl http://curl.haxx.se/
Hurl http...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
CURL
Ejemplos:
curl http://cursoxml.herokuapp.com
curl -H "Accept-...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Métodos HTTP
GET: Solicita una representación de un recurso
PUT: C...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
URIs
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Recursos
Recurso = Unidad básica de la Web
Cualquier cosa que se i...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?
Cualquier cosa concreta o a...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?
Cualquier cosa concreta o a...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?
Cualquier cosa concreta o a...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?
Cualquier cosa concreta o a...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?
Cualquier cosa concreta o a...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?
Cualquier cosa concreta o a...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Formato de una URI
Más información: Especificación
http://tools.ie...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Partes de una URI
Más información: Especificación
http://tools.iet...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Dereferenciación
Dereferenciar una URI = Acceder al contenido de u...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Estabilidad de las URIs
URIs = pilar fundamental de cualquier apli...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Formatos de Representación
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Formatos de representación
En la Web, el formato más habitual es H...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
HTML
Tipo de representación más popular en la Web
Objetivo: repres...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
XML
Facilita intercambio de información
Objetivo: procesamiento au...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
RDF
Permite integración de información
Integración automática de l...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Tipos de representación
Los tipos de representación se identifican...
Jose Emilio Labra Gayo - Universidad de Oviedo
La Web Semántica
Web semántica  Web de Datos
Datos se publican y se enlaza...
Jose Emilio Labra Gayo - Universidad de Oviedo
Hacia la web semántica
URIUnicode
XML
RDF
Query:
SPARQL
RDF Schema
Ontologi...
Jose Emilio Labra Gayo - Universidad de Oviedo
Descripción de recursos
RDF (slides)
Modelo RDF
Tripletas, literales, nodos...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
RDF
Resource Description Framework (1998)
Descripción de recursos
R...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Tripletas RDF
http://purl.org/dc/elements/1.1/creator
Sujeto
URI qu...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Grafo RDF
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
RDF es composicional
uni:quimica
uni:ana
dc:creator
uni:luisdc:crea...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
RDF es composicional
uni:quimica
uni:ana
dc:creator
uni:luisdc:crea...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
RDF es composicional
uni:quimica
uni:ana
dc:creator
uni:luis
dc:cre...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Formatos RDF
Numerosos formatos y sintaxis:
N3
RDF/XML
N-Triples
Tu...
Jose Emilio Labra Gayo - Universidad de Oviedo
Aplicaciones RDF
Aplicaciones RDF (slides)
Conversión
Almacenamiento
Public...
Jose Emilio Labra Gayo - Universidad de Oviedo
DBPedia
Convertir datos de Wikipedia a RDF
Permite consultar Wikipedia como...
Jose Emilio Labra Gayo - Universidad de Oviedo
Consultando la Web de Datos
SPARQL (slides)
Simple Protocol and RDF Query L...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
SPARQL
Ejemplo:
Buscar páginas cuyo autor sea un profesor
@prefix r...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
SPARQL
SELECT ?p ?c WHERE {
?p dc:creator ?c .
?c rdf:type uni:Prof...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
SPARQL en DBPedia
DBPedia permite realizar consultas SPARQL
Acceso ...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ejercicios
Personas que nacieron en Puno y fallecieron en España,
j...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ejercicios
Ciudades que estén a una altura de más de 3000m
ordenada...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ejercicios
Ciudades con una población similar a Puno que estén a
má...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ejercicios
Futbolistas que hayan nacido en una ciudad que esté a
má...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ejercicio
Devolver lista de países con el área y la población de ca...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ontologías e inferencias
Una ontología = Formalización de un domini...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ejemplos de dominios
Biología
Medicina
Aviación
Animales
Comida
…etc
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Partes de una ontología
Define conjunto de términos (vocabulario)
E...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
RDF Schema
Añade una serie de clases y propiedades a RDF
rdfs:Class...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
OWL
OWL = Web Ontology Language
Desarrollado a partir de iniciativa...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Editor de ontologías
Protégé: Editor de ontologías OWL
http://prote...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Mini-tutorial
Creación de clases
Creación de individuos
Creación de...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Creación de clases
Declarar una clase Persona y varias
instancias
P...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Declaración de subclases
Declarar las clases Profesor y Alumno como...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Declaración propiedades de Objetos
Declarar la propiedad “daClaseDe...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Declaración Propiedades de datos
Declarar las propiedades “nombre”,...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Cuantificador existencial
Padre  Persona   tieneHijo Persona
x(...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Clasificación
"Orgulloso es una persona que tiene un hijo recién na...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Detección de inconsistencia
Definir ReciénNacidoOrgulloso
Añadir:
P...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Otras posibilidades
Propiedades de propiedades: inversa, simétrica,...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
SPARQL + Inferencia
Combinar SPARQL e inferencia
Ejemplo:
Páginas c...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
uni:quimica
uni:ana
dc:creator
uni:luis
dc:creator
uni:Becario
rdf:...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Datos estadísticos
Tecnologías para representar datos estadísticos
...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
RDF Data Cube
Vocabulario RDF
Conceptos
qb:Observation: Una observa...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ejercicio
Representar la siguiente tabla de observaciones:
País Pob...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Modelo
Observation
rdf:type = qb:Observation
:value: xsd:integer
:i...
Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra
Ejercicio
Crear una consulta SPARQL para devolver lista de países
j...
Jose Emilio Labra Gayo - Universidad de Oviedo
Casos Prácticos
DBPedia
IMDB
BCN
WebIndex
Jose Emilio Labra Gayo - Universidad de Oviedo
Linked Data Statistics
Eurostats: http://eurostat.linked-statistics.org/
St...
Próxima SlideShare
Cargando en…5
×

Tecnologias Web Semantica

684 visualizaciones

Publicado el

Workshop Congreso CONEEST - Puno, Perú

Publicado en: Ingeniería
0 comentarios
3 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
684
En SlideShare
0
De insertados
0
Número de insertados
9
Acciones
Compartido
0
Descargas
10
Comentarios
0
Recomendaciones
3
Insertados 0
No insertados

No hay notas en la diapositiva.

Tecnologias Web Semantica

  1. 1. Jose Emilio Labra Gayo - Universidad de Oviedo Tecnologías de Web Semántica Workshop (laboratorio) Puno, Perú, 2015 Jose Emilio Labra Gayo Universidad de Oviedo
  2. 2. Jose Emilio Labra Gayo - Universidad de Oviedo Programa Fundamentos Web Web Semántica: Qué es y mapa de tecnologías Descripción de recursos Consultando la Web de Datos Inferencias y Ontologías Casos prácticos
  3. 3. Jose Emilio Labra Gayo - Universidad de Oviedo Arquitectura de la Web Fundamentos de la Web (slides) Protocolo HTTP Negociación de contenido Ejercicios con curl Ejemplos: http://dbpedia.org/resource/Oviedo
  4. 4. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Fundamentos de la Web 3 pilares Interacción: Protocolos HTTP, FTP, SMTP, etc. Identificación: URIs Formatos de representación: HTML, JSON, XML, ... Identificación URI Formatos HTML, JSON,... Identificación URI Interacción Protocolos Formatos HTML, JSON,... WWW
  5. 5. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Esquema conceptual de HTTP Usuario Navegador Cliente Servidor URI Representación WWW HTTP Petición Respuesta
  6. 6. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Recursos La Web está formada por recursos Recurso = cualquier fuente de contenido Web Se identifican mediante URIs Diversas Posibilidades: Estáticos: almacenados en Sistema de Ficheros Páginas HTML Otros formatos multimedia: Imágenes, vídeos, sonidos, ... Dinámicos: bajo demanda Generado a partir de bases de datos Integrando información de otros servicios Web Información online NOTA: La mayoría de la información disponible en la Web se genera dinámicamente
  7. 7. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Recursos Navegador Cliente Servidor URI WWW HTTP Fichero texto Imagen Base datos Programa Sistema ficheros = Gateway Gateway Gateway Gateway Otro servidor Cámara Web Base datos Informac. Bursátil Control Robot
  8. 8. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Tipos de recursos Los servidores asocian un tipo a cada recurso Tipos MIME (Multipurpose Internet Mail Extensions) Ejemplos: text/plain, text/html, application/xml, image/jpg,... El cliente decide qué hacer con dichos tipos Usuario Navegador Cliente Servidor Petición Respuesta WWW HTTP Content-type: image/jpeg Content-length: 8854
  9. 9. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra HTTP: Formato de mensajes Modo texto: línea inicial cabecera del mensaje* cuerpo del mensaje ? Navegador Cliente Servidor Petición WWW HTTP HTTP/1.1 200 OK Date: Thu, 12 Oct 2013 09:36:05 GMT Server: Apache Content-length: 80554 Content-type: text/html; charset=utf-8 <html> <head> <title>Curso XML</title> <head> ... </html> GET /index.html HTTP/1.1 Host: www.uniovi.es User-Agent: Mozilla/5.0 … Accept: text/html Accept-language: es, en Respuesta
  10. 10. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Mensajes de petición Formato general: POST /admin HTTP/1.1 Host: www.uniovi.es User-Agent: Mozilla/5.0 … Accept: text/html Accept-language: es, en ...datos POST... <method> <url> <version> <headers> * <entity-body> GET /index.html HTTP/1.1 Host: www.uniovi.es User-Agent: Mozilla/5.0 … Accept: text/html Accept-language: es, en <headers> = parejas de la forma: nombre1: valor1 nombre2: valor2 <method>= GET,PUT,POST,DELETE,... Ejemplos:
  11. 11. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra HTTP/1.1 200 OK Date: Thu, 12 Oct 2013 09:36:05 GMT Server: Apache Content-length: 80554 Content-type: text/html; charset=utf-8 <html> <head> <title>Curso XML</title> <head> ... </html> Mensajes de respuesta Formato general: HTTP/1.1 404 Not found Content-length: 0 <version> <status> <reason-phrase> <headers> * <entity-body> <Status> Códigos estándar: 2**: Variaciones de OK 3**: redirecciones 4**: Problemas del cliente 5**: problemas del servidor Ejemplos:
  12. 12. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Utilidades Diversas utilidades curl http://curl.haxx.se/ Hurl http://hurl.it Redbot http://redbot.org Web-sniffer: http://web-sniffer.net/ RestClient http://code.google.com/p/rest-client/ curl http://cursoxml.herokuapp.com Algunas opciones: -v (verbose) -H (cabeceras) -X (verbos POST, PUT, DELETE,...)
  13. 13. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra CURL Ejemplos: curl http://cursoxml.herokuapp.com curl -H "Accept-language:es" http://cursoxml.herokuapp.com curl -H "Accept:text/html" http://cursoxml.herokuapp.com/search?course=html5 curl -H "Accept:application/xml" http://cursoxml.herokuapp.com/search?course=html5 curl -X POST http://cursoxml.herokuapp.com/login -d email="pepe@abc.org" -password="abc"
  14. 14. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Métodos HTTP GET: Solicita una representación de un recurso PUT: Crear un recurso POST: Envía datos para que un recurso los procese Puede implicar la creación/actualización de recursos DELETE: Elimina un recurso Otros HEAD: Similar a GET, pero obtiene únicamente la cabecera TRACE: Pide la solicitud que se envió al servidor OPTIONS: Solicita los métodos que soporta el servidor CONNECT: Convierte la petición en un túnel TCP/IP Facilita la comunicación a través de SSL
  15. 15. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra URIs
  16. 16. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Recursos Recurso = Unidad básica de la Web Cualquier cosa que se identifique con una URI URI ≠ Recurso ≠ Representación URI http://tiempo.com/Asturias/Oviedo Metadatos: Content-type: text/html Datos: <html> <head><title>Tiempo</title></head> <body> <h1>Tiempo en Oviedo</h1> <p>Nubes y claros</p> </body> </html> Representación Recurso Tiempo en Oviedo
  17. 17. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta http://www.uniovi.es <!DOCTYPE html> <html> <head> <title>Universidad de Oviedo</title> </head> <body> <h1>Universidad de Oviedo</h1> <p>Fundada en el año 1608 en <a href="http://www.wikipedia.org/Oviedo"> Oviedo</a></p> . . . </body> </html> identifica Ejemplo: Una página Web Una página Web Recurso de información Formato HTML
  18. 18. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta http://www.di.uniovi.es/~labra/images/asturias.jpg identifica Ejemplo: Una fotografía (recurso multimedia) Una fotografía Recurso de información Formato JPG
  19. 19. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta http://www.w3.org/People/Berners-Lee/card#i identifica Ejemplo: Una persona Una persona (Tim Berners-Lee) Recurso de no información
  20. 20. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta http://xmlns.com/foaf/0.1/Person identifica Ejemplo: Conjunto de todas las personas Conjunto de Personas (concepto abstracto) Recurso de no información
  21. 21. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta http://purl.org/dc/terms/creator identifica Ejemplo: Propiedad de creación Propiedad de creación (concepto abstracto) Recurso de no información
  22. 22. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta http://purl.org/dc/terms identifica Ejemplo: Espacio de nombres Espacio de nombres (concepto) Recurso de no información description language publisher . . .
  23. 23. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Formato de una URI Más información: Especificación http://tools.ietf.org/html/rfc3986 esquema : // autoridad camino ?consulta#fragmento http :// ejemplo.com:8042/libros/castellano?autor=Cervantes #capitulo2 Otros ejemplos de URIs: ftp://ftp.is.co.za/rfc/rfc1808.txt mailto:pepe@ejemplo.com telnet://192.0.2.16:80/ urn:oasis:names:specification:docbook:dtd:xml:4.1.2 Nota: los caracteres deben codificarse. Significado especial de espacios, ?, /, etc. Nota: las URNs identifican nombres únicos solamente. Sin protocolo
  24. 24. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Partes de una URI Más información: Especificación http://tools.ietf.org/html/rfc3986 Nota: las URNs identifican nombres únicos solamente. Sin protocolo esquema autoridad //usuario@host:port path querystring fragment http: http: http: ftp: mailto: urn: //localhost:3000 //google.com //uniovi.es/ //ftp.is.co.za pepe@uni.es isbn:045125021 /about / /course/view.php /rdf/rfc1808.txt ?a=1&b=2 ?q=pepe ?id=4590 ?subject=Curso #historia http://localhost:3000/about?a=1&b=2#historia http://google.com/?q=pepe http://uniovi.es/course/view.php?id=4590 ftp://ftp.is.co.za/rdf/rfc1808.txt mailto:pepe@uni.es?subject=curso urn:isbn:045125021 Ejemplos
  25. 25. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Dereferenciación Dereferenciar una URI = Acceder al contenido de una URI Obtener una representación del recurso identificado por la URI Habitualmente se utiliza protocolo HTTP Pueden existir diferentes representaciones La representación puede incluir enlaces a otras URIs con información relacionada Principio: Follow your nose (“Sigue tu instinto”) A partir de una URI, se puede ir encontrando más información y más recursos relacionados fácilmente y de casualidad (serendipia)
  26. 26. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Estabilidad de las URIs URIs = pilar fundamental de cualquier aplicación Web Objetivo: Esquema de URIs estable Lema: Cool URIs don’t change Modificar una URI puede romper aplicaciones existentes Evitar URIs que dependen de detalles de implementación Ejemplo: http://156.35.41.34:8080/pagina.php Importancia de nombres adecuados para URIs http://www.w3.org/Provider/Style/URI
  27. 27. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Formatos de Representación
  28. 28. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Formatos de representación En la Web, el formato más habitual es HTML Existen muchos más formatos: XML, JSON, RDF, PNG, … Un recurso puede tener diferentes tipos de representación Cada tipo de representación sirve para un propósito
  29. 29. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra HTML Tipo de representación más popular en la Web Objetivo: representar hipertexto Ejemplo: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Ejemplo</title> </head> <body> <h1>Lista de enlaces</h1> <p>Mis enlaces preferidos</p> <ul> <li><a href="http://www.wikipedia.org">Wikipedia</a> <li><a href="http://www.w3c.org">Consorcio W3c</a> </ul> </body> </html>
  30. 30. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra XML Facilita intercambio de información Objetivo: procesamiento automático Comercio electrónico <?xml version="1.0"> <pedido> <producto codigo="R23"> <nombre>Rotulador RX2</nombre> <cantidad>20</cantidad> <comentarios>Comprobad que escriben</comentarios> </producto> <producto codigo="G56"> <nombre>Grapadora Lin</nombre> <cantidad>2</cantidad> <comentarios>Envuelta para regalo</comentarios> </producto> </pedido>
  31. 31. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra RDF Permite integración de información Integración automática de los datos Objetivo: Evitar ambigüedad en cadenas de texto @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix schema: <http://schema.org/> . @prefix : <http://example.org/> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . :pedido1 a schema:Order ; schema:orderedItem [ :code "R23"; schema:name "Rotulador RX2"; rdfs:comment "Comprobad que escriben"; schema:orderQuantity 20 ] ; schema:orderedItem [ :code "G56"; schema:name "Grapadora Lin"; rdfs:comment "Envuelta para regalo"; schema:orderQuantity 2 ] .
  32. 32. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Tipos de representación Los tipos de representación se identifican con MIME MIME (Multipurpose Internet Mail Extensions) Identificar el tipo de contenido (Cabecera Content-type) Formato tipo/subtipo Ejemplos: text/html: Página Web en formato HTML text/xml, application/xml : Documento XML application/json: Documento JSON application/pdf: Fichero PDF image/jpeg: Imagen JPEG application/xhtml+xml: Documento XHTML application/rdf+xml: Documento RDF text/turtle: Documento Turtle . . . Lista oficial: http://www.iana.org/assignments/media-types
  33. 33. Jose Emilio Labra Gayo - Universidad de Oviedo La Web Semántica Web semántica  Web de Datos Datos se publican y se enlazan con otros datos Objetivos: Reutilizar Automatizar Integrar Tim Berners Lee, inventor de la WWW
  34. 34. Jose Emilio Labra Gayo - Universidad de Oviedo Hacia la web semántica URIUnicode XML RDF Query: SPARQL RDF Schema Ontologies OWL Trust Unifying Logic Rules RIF Proof Versión Original: Semantic web layer cake, Tim Berners Lee - 2001 Versión actual: 2015 Validation SHACL
  35. 35. Jose Emilio Labra Gayo - Universidad de Oviedo Descripción de recursos RDF (slides) Modelo RDF Tripletas, literales, nodos anónimos, colecciones Sintaxis: Turtle, RDF/XML Herramienta online: http://www.easyrdf.org/converter http://rdfshape.herokuapp.com
  36. 36. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra RDF Resource Description Framework (1998) Descripción de recursos Recurso = se identifica con URI Se basa en tripletas Sujeto  Predicado  Objeto
  37. 37. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Tripletas RDF http://purl.org/dc/elements/1.1/creator Sujeto URI que Identifica Facultad Biología Predicado URI que identifica propiedad de creación Objeto URI que identifica Juan @prefix dc: <http://purl.org/dc/elements/1.1/ >. @prefix uni: <http://uniovi.es/> . uni:biologia dc:creator uni:juan . http://uniovi.es/biology http://uniovi.es/juan RDF en notación Turtle
  38. 38. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Grafo RDF @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix uni: <http://uniovi.es/> . @prefix dc: <http://purl.org/dc/elements/1.1/> . uni:biologia dc:creator uni:juan . uni:biologia dc:creator uni:ana . uni:juan rdf:type uni:Profesor . uni:ana rdf:type uni:Profesor . uni:biologia uni:juan dc:creator uni:anadc:creator uni:Profesor rdf:type rdf:type
  39. 39. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra RDF es composicional uni:quimica uni:ana dc:creator uni:luisdc:creator uni:Becario rdf:type uni:biologia uni:juan dc:creator dc:creator uni:Profesor rdf:type rdf:type uni:derecho dc:creator uni:Profesor uni:ana rdf:type uni:luis uni:Becario rdf:type Grafo 1 Grafo 2 Grafo 3
  40. 40. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra RDF es composicional uni:quimica uni:ana dc:creator uni:luisdc:creator uni:Becario rdf:type uni:biologia uni:juan dc:creator dc:creator uni:Profesor rdf:type rdf:type uni:derecho dc:creator uni:Profesor uni:ana rdf:type uni:luis uni:Becario rdf:type Grafo 1 Grafo 2 Grafo 3
  41. 41. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra RDF es composicional uni:quimica uni:ana dc:creator uni:luis dc:creator uni:Becario rdf:type uni:biologia uni:juan dc:creator dc:creator uni:Profesor rdf:type rdf:type uni:derecho dc:creator Grafo 1 + Grafo 2 + Grafo 3
  42. 42. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Formatos RDF Numerosos formatos y sintaxis: N3 RDF/XML N-Triples Turtle json-ld RDFa etc.
  43. 43. Jose Emilio Labra Gayo - Universidad de Oviedo Aplicaciones RDF Aplicaciones RDF (slides) Conversión Almacenamiento Publicación: Portales de datos Ejemplos: DBPedia RDFa, Microdatos Validación
  44. 44. Jose Emilio Labra Gayo - Universidad de Oviedo DBPedia Convertir datos de Wikipedia a RDF Permite consultar Wikipedia como una base de datos Ejemplo: Wikipedia: http://es.wikipedia.org/wiki/Puno DBpedia: http://dbpedia.org/resource/Puno
  45. 45. Jose Emilio Labra Gayo - Universidad de Oviedo Consultando la Web de Datos SPARQL (slides) Simple Protocol and RDF Query Language Lenguaje de consultas para la web semántica Se basa en encaje de grafos Extrae información de modelos RDF Un protocolo Define un mecanismo para invocar un servicio También define un vocabulario para resultados
  46. 46. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra SPARQL Ejemplo: Buscar páginas cuyo autor sea un profesor @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix uni: <http://uniovi.es/> . @prefix dc: <http://purl.org/dc/elements/1.1/> . SELECT ?p ?c WHERE { ?p dc:creator ?c . ?c rdf:type uni:Profesor. }
  47. 47. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra SPARQL SELECT ?p ?c WHERE { ?p dc:creator ?c . ?c rdf:type uni:Profesor . } uni:quimica uni:ana dc:creator uni:luis dc:creator uni:Becario rdf:type uni:biologia uni:juan dc:creator dc:creator uni:Profesor rdf:type rdf:type uni:derecho dc:creator ?p dc:creator ?c uni:Profesor rdf:type ?p ?c Resultados ?p ?c uni:biologia uni:juan uni:quimica uni:ana uni:biologia uni:ana ?p ?c ?p ?c
  48. 48. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra SPARQL en DBPedia DBPedia permite realizar consultas SPARQL Acceso online*: http://yasgui.org/ Ejemplo: Buscar número de habitantes de Puno * El terminal SPARQL es: http://dbpedia.org/sparql PREFIX dbr: <http://dbpedia.org/resource/> PREFIX dbp: <http://dbpedia.org/property/> SELECT * WHERE { dbr:Puno dbp:populationTotal ?poblacion }
  49. 49. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejercicios Personas que nacieron en Puno y fallecieron en España, junto con su fecha de nacimiento y fallecimiento PREFIX dbp: <http://dbpedia.org/property/> PREFIX dbr: <http://dbpedia.org/resource/> SELECT * WHERE { ?persona dbp:birthPlace dbr:Puno . ?persona dbp:deathPlace dbr:Spain . ?persona dbp:dateOfBirth ?fechaNacimiento . ?persona dbp:dateOfDeath ?fechaFallecimiento }
  50. 50. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejercicios Ciudades que estén a una altura de más de 3000m ordenadas por cantidad de población PREFIX dbp: <http://dbpedia.org/property/> PREFIX dbr: <http://dbpedia.org/resource/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT * WHERE { ?ciudad dbp:elevationM ?elevacion . ?ciudad dbp:populationTotal ?poblacion . ?ciudad dbo:country ?Pais . FILTER ( isNumeric(?elevacion) && isNumeric(?poblacion)) . FILTER ( ?elevacion > 3000 ) } ORDER BY DESC(?poblacion)
  51. 51. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejercicios Ciudades con una población similar a Puno que estén a más de 2500m de altitud PREFIX dbp: <http://dbpedia.org/property/> PREFIX dbr: <http://dbpedia.org/resource/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT * WHERE { ?ciudad dbp:elevationM ?elevacion . ?ciudad dbp:populationTotal ?poblacion . ?ciudad dbo:country ?Pais . FILTER ( isNumeric(?elevacion) && isNumeric(?poblacion)) . FILTER ( ?elevacion > 2500 ) FILTER ( ?poblacion > 100000 ) } ORDER BY DESC(?poblacion)
  52. 52. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejercicios Futbolistas que hayan nacido en una ciudad que esté a más de 2500m de altura PREFIX dbp: <http://dbpedia.org/property/> PREFIX dbr: <http://dbpedia.org/resource/> PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?futbolista ?ciudad ?pais ?elevacion WHERE { ?ciudad dbp:elevationM ?elevacion . ?ciudad dbp:populationTotal ?poblacion . ?ciudad dbo:country ?pais . ?person dbp:birthPlace ?ciudad . ?person a dbo:SoccerPlayer . ?person rdfs:label ?futbolista . FILTER (isNUmeric(?elevacion) && ?elevacion > 2500) }
  53. 53. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejercicio Devolver lista de países con el área y la población de cada país
  54. 54. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ontologías e inferencias Una ontología = Formalización de un dominio (slides) Utiliza: lenguajes formales Para: definir vocabulario de un dominio Compartir el significado entre aplicaciones Inferir nuevo conocimiento a partir de definiciones Otros términos relacionados: Taxonomía: Clasficación jerárquica Tesauro: Definiciones de términos
  55. 55. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejemplos de dominios Biología Medicina Aviación Animales Comida …etc
  56. 56. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Partes de una ontología Define conjunto de términos (vocabulario) Ejemplo: Profesor, Persona, Asignatura Propiedades entre dichos términos: Ejemplo: daClaseDe, tieneEsdiante, ... Descrito en un lenguaje formal x(Profesor(x)  Persona(x)  y (daClaseDe(x,y)  Asignatura(y)) Lenguaje natural OWL (sintaxis funcional) "un profesor es una persona que da clase de una asignatura" Lógica de predicados Profesor ≡ Persona   daClaseDe Asignatura
  57. 57. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra RDF Schema Añade una serie de clases y propiedades a RDF rdfs:Class, rdfs:Property, Resource,… type, subClassOf, subPropertyOf,… range, domain,… Permite realizar inferencias sencillas rdf:type uni:Profesor rdfs:subClassOf uni:Persona uni:juan rdf:type
  58. 58. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra OWL OWL = Web Ontology Language Desarrollado a partir de iniciativa del W3c Antecedentes: DAML, OIL Se basa en lógica descriptiva 2004 - OWL 1.0 recomendación W3c 2009 - OWL 2.0 recomendación W3c Expresividad vs Complejidad
  59. 59. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Editor de ontologías Protégé: Editor de ontologías OWL http://protege.stanford.edu/ Tiene 2 versiones: WebProtégé Desktop
  60. 60. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Mini-tutorial Creación de clases Creación de individuos Creación de propiedades de objetos Creación de propiedades de tipos de datos Activación de inferencia Chequeo de inconsistencias ...
  61. 61. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Creación de clases Declarar una clase Persona y varias instancias Persona  owl:Thing Persona(federico) Persona(juan) Declarar la clase Asignatura y varias instancias Asignatura  owl:Thing Asignatura(logica) Asignatura(algebra) Asignatura(programacion)
  62. 62. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Declaración de subclases Declarar las clases Profesor y Alumno como subclases de Persona Profesor  Persona Alumno  Persona Profesor(jose) Profesor(dani) Alumno(miguel) Alumno(ruben)
  63. 63. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Declaración propiedades de Objetos Declarar la propiedad “daClaseDe” daClaseDe  owl:ObjectProperty Domain(deClaseDe, Profesor) Range(daClaseDe,Asignatura) daClaseDe(jose,algebra) daClaseDe(dani,algebra) Declarar la propiedad “estaMatriculadoEn” estaMatriculadoEn  owl:ObjectProperty Domain(estaMatriculadoEn,Alumno) Range(estaMatriculadoEn,Asignatura) estaMatriculadoEn(miguel,algebra) estaMatriculadoEn(juan,logica)
  64. 64. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Declaración Propiedades de datos Declarar las propiedades “nombre”, “apellidos”, “edad” nombre : Persona  xsd:string edad : Persona  xsd:integer edad(jose,38) edad(dani,30) nombre(jose,”Jose Luis) . . .
  65. 65. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Cuantificador existencial Padre  Persona   tieneHijo Persona x(Padre(x)  (Persona(x) y(tieneHijo(x,y)  Persona(y))) tieneHijo(Jose,Sergio) Persona(Jose) ReciénNacido  Persona ReciénNacido(Sergio) Un Padre es una persona que tiene un hijo que es una persona
  66. 66. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Clasificación "Orgulloso es una persona que tiene un hijo recién nacido" Definir: Orgulloso  Persona   tieneHijo ReciénNacido Clasificar ontologías: Orgulloso  Padre Buscar orgulloso: Orgulloso(jose)
  67. 67. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Detección de inconsistencia Definir ReciénNacidoOrgulloso Añadir: Padre  ReciénNacido RecienNacidoOrgulloso  Orgulloso RecienNacidoOrgulloso  ReciénNacido RecienNacidoOrgulloso = Insatisfacible RecienNacidoOrgulloso(kiko) Kiko = inconsistente
  68. 68. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Otras posibilidades Propiedades de propiedades: inversa, simétrica, transitiva, etc. Cuantificador universal Cadenas de propiedades Propiedades funcionales y funcionales inversas Enumeraciones etc. Otros tutoriales recomendados: OWL and SWRL Tutorial: http://dior.ics.muni.cz/~makub/owl/
  69. 69. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra SPARQL + Inferencia Combinar SPARQL e inferencia Ejemplo: Páginas cuyo autor sea una persona @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix uni: <http://uniovi.es/> . @prefix dc: <http://purl.org/dc/elements/1.1/> . SELECT ?p ?c WHERE { ?p dc:creator ?c . ?p rdf:type uni:Persona. }
  70. 70. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra uni:quimica uni:ana dc:creator uni:luis dc:creator uni:Becario rdf:type uni:biologia uni:juan dc:creator dc:creator uni:Profesor rdf:type rdf:type uni:derecho dc:creator uni:Persona rdfs:subClassOf rdfs:subClassOf SPARQL con inferencia SELECT ?p ?c WHERE { ?p dc:creator ?c . ?c rdf:type uni:Persona . } ?p dc:creator ?c uni:Persona rdf:type ?p ?c Resultados ?p ?c uni:biologia uni:juan uni:quimica uni:ana uni:biologia uni:ana ?p ?c ?p ?c rdf:type rdf:type ?p ?c uni:derecho uni:luis
  71. 71. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Datos estadísticos Tecnologías para representar datos estadísticos Objetivo: Interoperabilidad SDMX (Statistical Data and Metadata eXchange) Estándar internacional de intercambio de datos estadísticos http://sdmx.org/ RDF Data Cube: Vocabulario RDF para representar datos estadísticos
  72. 72. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra RDF Data Cube Vocabulario RDF Conceptos qb:Observation: Una observación concreta qb:Slice: Un grupo de observaciones qb:DataSet: Un conjunto de datos (suele contener varios slices) qb:DataStructureDefinition: Estructura de los datos
  73. 73. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejercicio Representar la siguiente tabla de observaciones: País Población Área Perú 31 1285000 España 46 505000 México 121 1972000
  74. 74. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Modelo Observation rdf:type = qb:Observation :value: xsd:integer :indicator (:Area :Poblacion) Slice rdf:type = qb:Slice qb:sliceStructure: wf:slicePorPais Pais DataSet rdf:type = qb:DataSet qb:structure : :Estructura :pais qb:observation 1..n qb:observation qb:slice dc:publisher 1..n
  75. 75. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejercicio Crear una consulta SPARQL para devolver lista de países junto con las áreas y las poblaciones de cada país
  76. 76. Jose Emilio Labra Gayo - Universidad de Oviedo Casos Prácticos DBPedia IMDB BCN WebIndex
  77. 77. Jose Emilio Labra Gayo - Universidad de Oviedo Linked Data Statistics Eurostats: http://eurostat.linked-statistics.org/ Statistical Linked Dataspaces: http://270a.info/ Linked Statistical Dimensions: http://lsd-dimensions.org/

×