SlideShare une entreprise Scribd logo
1  sur  77
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
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
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
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
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
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
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
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
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
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:
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:
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,...)
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"
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
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 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
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
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
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
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
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
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
. . .
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
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
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)
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
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 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
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>
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>
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
] .
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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.
}
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
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
}
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
}
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)
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)
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)
}
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
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
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)
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
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
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
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
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
...
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)
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)
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)
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)
. . .
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
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)
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
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/
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.
}
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
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
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
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
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
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
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/
Statistical Linked Dataspaces: http://270a.info/
Linked Statistical Dimensions:
http://lsd-dimensions.org/

Contenu connexe

Tendances

Estrategias de búsqueda en Internet
Estrategias de búsqueda en InternetEstrategias de búsqueda en Internet
Estrategias de búsqueda en Internetmrojanotrak
 
historia del internet y sus diversos componentes
historia del internet y sus diversos componenteshistoria del internet y sus diversos componentes
historia del internet y sus diversos componentesnachoinformatico
 

Tendances (6)

Raul Redes Sociales
Raul     Redes SocialesRaul     Redes Sociales
Raul Redes Sociales
 
Estrategias de búsqueda en Internet
Estrategias de búsqueda en InternetEstrategias de búsqueda en Internet
Estrategias de búsqueda en Internet
 
historia del internet y sus diversos componentes
historia del internet y sus diversos componenteshistoria del internet y sus diversos componentes
historia del internet y sus diversos componentes
 
Internet
InternetInternet
Internet
 
Presentación de internet
Presentación de internetPresentación de internet
Presentación de internet
 
Tarea2 prograweb
Tarea2 prograwebTarea2 prograweb
Tarea2 prograweb
 

En vedette

TecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaTecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaJavier Capa
 
Curso Integración Web Semántica Estadísticas
Curso Integración Web Semántica EstadísticasCurso Integración Web Semántica Estadísticas
Curso Integración Web Semántica EstadísticasWESO (Oviedo Semantic Web)
 
Catálogo de datos abiertos en Paraguay
Catálogo de datos abiertos en ParaguayCatálogo de datos abiertos en Paraguay
Catálogo de datos abiertos en Paraguayjpane
 
Visualización de datos enlazados
Visualización de datos enlazadosVisualización de datos enlazados
Visualización de datos enlazadosJuan-Manuel Gimeno
 
Diseño de Ontologías: Protégé OWL - Ejemplo de las Pizzas
Diseño de Ontologías: Protégé OWL - Ejemplo de las PizzasDiseño de Ontologías: Protégé OWL - Ejemplo de las Pizzas
Diseño de Ontologías: Protégé OWL - Ejemplo de las PizzasCarlos Casamayor
 
Localization and contextualization
Localization and contextualizationLocalization and contextualization
Localization and contextualizationDods Dodong
 

En vedette (8)

TecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaTecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNtica
 
Curso Integración Web Semántica Estadísticas
Curso Integración Web Semántica EstadísticasCurso Integración Web Semántica Estadísticas
Curso Integración Web Semántica Estadísticas
 
Catálogo de datos abiertos en Paraguay
Catálogo de datos abiertos en ParaguayCatálogo de datos abiertos en Paraguay
Catálogo de datos abiertos en Paraguay
 
Visualización de datos enlazados
Visualización de datos enlazadosVisualización de datos enlazados
Visualización de datos enlazados
 
Diseño de Ontologías: Protégé OWL - Ejemplo de las Pizzas
Diseño de Ontologías: Protégé OWL - Ejemplo de las PizzasDiseño de Ontologías: Protégé OWL - Ejemplo de las Pizzas
Diseño de Ontologías: Protégé OWL - Ejemplo de las Pizzas
 
Localization and contextualization
Localization and contextualizationLocalization and contextualization
Localization and contextualization
 
CAEPIA 2011 Linked Data Methodology
CAEPIA 2011 Linked Data MethodologyCAEPIA 2011 Linked Data Methodology
CAEPIA 2011 Linked Data Methodology
 
La evolución de la web
La evolución de la webLa evolución de la web
La evolución de la web
 

Similaire à Tecnologias Web Semantica

Similaire à Tecnologias Web Semantica (20)

Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el Servidor
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
Introducció a les Aplicació Web
Introducció a les Aplicació WebIntroducció a les Aplicació Web
Introducció a les Aplicació Web
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
ROA - Resource Oriented Architecture
ROA - Resource Oriented ArchitectureROA - Resource Oriented Architecture
ROA - Resource Oriented Architecture
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
 
1 fundamentos web
1 fundamentos web1 fundamentos web
1 fundamentos web
 
Uri urn url
Uri urn urlUri urn url
Uri urn url
 
Curso HTML CSS 1/4
Curso HTML CSS 1/4Curso HTML CSS 1/4
Curso HTML CSS 1/4
 
Módulo 0
Módulo 0Módulo 0
Módulo 0
 
Aplicaciones de la web semántica
Aplicaciones de la web semánticaAplicaciones de la web semántica
Aplicaciones de la web semántica
 
Servicios REST - PucelaTechDay
Servicios REST - PucelaTechDayServicios REST - PucelaTechDay
Servicios REST - PucelaTechDay
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
Protocol HTTP
Protocol HTTPProtocol HTTP
Protocol HTTP
 
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasDesarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas
 
Anatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodleAnatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodle
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
URL
URLURL
URL
 
OpenAPI 3.0.2
OpenAPI 3.0.2OpenAPI 3.0.2
OpenAPI 3.0.2
 

Plus de Jose Emilio Labra Gayo

Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctoradoJose Emilio Labra Gayo
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data qualityJose Emilio Labra Gayo
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesJose Emilio Labra Gayo
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesJose Emilio Labra Gayo
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosJose Emilio Labra Gayo
 

Plus de Jose Emilio Labra Gayo (20)

Publicaciones de investigación
Publicaciones de investigaciónPublicaciones de investigación
Publicaciones de investigación
 
Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctorado
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
Wikidata
WikidataWikidata
Wikidata
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologies
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
2017 Tendencias en informática
2017 Tendencias en informática2017 Tendencias en informática
2017 Tendencias en informática
 
RDF, linked data and semantic web
RDF, linked data and semantic webRDF, linked data and semantic web
RDF, linked data and semantic web
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
19 javascript servidor
19 javascript servidor19 javascript servidor
19 javascript servidor
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazados
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
XSLT
XSLTXSLT
XSLT
 
XPath
XPathXPath
XPath
 
RDF validation tutorial
RDF validation tutorialRDF validation tutorial
RDF validation tutorial
 

Dernier

COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaANACENIMENDEZ1
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOLUISDAVIDVIZARRETARA
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLTERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLdanilojaviersantiago
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfXimenaFallaLecca1
 
Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024CESARHERNANPATRICIOP2
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 

Dernier (20)

COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedica
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLTERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 

Tecnologias Web Semantica

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra URIs
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra Formatos de Representación
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Jose Emilio Labra Gayo, http://www.di.uniovi.es/~labra Ejemplos de dominios Biología Medicina Aviación Animales Comida …etc
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Jose Emilio Labra Gayo - Universidad de Oviedo Casos Prácticos DBPedia IMDB BCN WebIndex
  • 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/