tecnologías semánticas en la web de datos
DESCRIPTION
Material del curso sobre Linked Data impartido en la entidad pública empresarial Red.es por Asunción Gómez-Pérez y Oscar Corcho (Ontology Engineering Group - Universidad Politécnica de Madrid)TRANSCRIPT
Material del curso sobre Tecnologías Semánticas en la Web de Datos
red.es, 29/11/2012
Ontology Engineering Group
Asunción Gómez-‐Pérez, Oscar Corcho García
Licencia de uso: Creative Commons Attribution-‐NonCommercial-‐ShareAlike 3.0 Unported (CC BY-‐NC-‐SA 3.0)
Más información sobre cursos disponible en: http://cursos.oeg-‐upm.net/
26/11/12
1
Tecnologías Semánticas en la Web de datos
Asunción Gómez-Pérez, Oscar Corcho Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net
Agradecimientos: Garijo, D. Vila, L.Vilches, B. Villazón
Curso en Red.es. 29 de Noviembre de 2012
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Indice
1. Web de Linked Data: Conceptos Básicos A. Gómez Pérez (30 min.)
2. RDF, RDF Schema y SPARQL O. Corcho (90 min.)
3. Vocabularios A. Gómez Pérez (90 min.)
4. Herramientas de publicación de datos para portales de datos abiertos
O. Corcho (30 min.)
2
26/11/12
2
Web de Linked Data: Conceptos Básicos
Asunción Gómez-Pérez, Oscar Corcho Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net
Agradecimientos: D. Vila
Curso en Red.es. 29 de Noviembre de 2012
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Índice
1. Concepto 2. Fundamentos 3. Proceso
4
26/11/12
3
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Consultas complejas usando datos de diferentes páginas Web
5
http://www.aemet http://www.viaf.org/
*Picture attribution: http://commons.wikimedia.org/wiki/User:Gugerell
Turista alemán entusiasta de Cervantes dispuesto a conocer más sobre el trabajo y la vida de Cervantes
http://www.bne.es/
http://elviajero.elpais.com/
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
M. Cervantes
Don Quixote
Hebrew
creador
Traducido a
1960
Año de publicación
VIAF
localizado
Integración de datos
6
M. Cervantes Alcalá de Henares
Alcalá de Henares
Lugar de nacimiento
Igual a
Alcalá de Henares
20º
Temperatura
M. Cervantes
El Quijote
autor
1605 Año de
Publicación
BNE
Ubicado en
BD BNE
BD VIAF
BD AEMET
BD IGN
Alcalá de Henares
Tapas Siglo de Oro
guía
BD Prisa
BD DBpedia
26/11/12
4
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 7
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 8 http://www.emtmadrid.es/
26/11/12
5
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Integración de datos
9
Catas tro
BD AEMET
BD DBpedia
BD IGN
C/ Alcalá, 54
1446403VK4714E0001AZ
971m2
refCatastral
superficie
28014
codPostal
1910
añoConstrucción
C/ Alcalá, 54 Madrid
Madrid
city
sameAs
Madrid
20º
Temperatura
C/ Alcalá, 54
Cafetería Simpatía
vcard:adr
11012723 NúmeroPortal
L-20
Código Local
Ayto Madrid
10 Asunción Gómez Pérez
26/11/12
6
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Agregar Información
11
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Madrid Arena #madridarena
Tagcloud
hashtag
isTagCloudOf
Agregar información
12
BD DBpedia
BD ElPaís
BD Havas
BD Twitter
Event Media
Madrid Arena
Madrid
lugar
España
país
#madridarena
http://elpais.com/elpais/2012/11/01/inenglish/1351773824_923902.html
noticia
Madrid Arena
Fiesta Halloween 2012
lugar
Diviertt organizador
31/10/2012
fecha
26/11/12
7
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 13
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Generación de RDF
Enlazado
Visualización de datos y
conocimientos
Linked Data
26/11/12
8
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Índice
1. Concepto 2. Fundamentos 3. Proceso
15
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Linked Data: ¿Por qué es importante?
• Facilita la integración de datos • De fuentes heterogéneas • En distintos formatos • Distinto nivel de detalle • En distintos idiomas • De distintos países
© Adaptada de “5min Introduction to Linked Data”- Olaf Hartig
26/11/12
9
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Fundamentos Identificadores únicos: URI identifica o nombra recursos
Modelos en RDF(S)
Cer El Quijote Cervantes Es creador de
Cer Obra Persona Es creador de
Es una Es una
http://datos.bne.es/resource/XX1718747 http://datos.bne.es/resource/XX3383563
http://iflastandards.info/ns/fr/frbr/frbrer/C1005 http://iflastandards.info/ns/fr/frbr/frbrer/C1001
Enlaces a otros conjuntos de datos Same As
http://viaf.org/viaf/17220427
Cervantes
Same As Same As
http://dbpedia.org/resource/Miguel_de_Cervantes
Cervantes
Navegación de datos
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Fundamentos Alineando Modelos con Owl EquivalentClass
EquivalentClass
Same As
http://xmlns.com/foaf/0.1/Person Persona
http://schema.org/Person Persona
EquivalentClass
Lecciones aprendidas 1. Reutilización de modelos existentes 2. Alineación de datos y conceptos.
Municipio
Persona
lugar de nacimiento
http://iflastandards.info/ns/fr/frbr/frbrer/C1005
http://dbpedia.org/resource/Municipalities_of_Spain
http://dbpedia.org/page/Alcal%C3%A1_de_Henares
Alcalá de Henares
Es un
http://geo.linkeddata.es/ontology/Municipio
Municipio
http://geo.linkeddata.es/resource/Alcalá de Henares
Alcalá de Henares
Es un
26/11/12
10
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
El modelo (Ontología) y los datos
19
Obra
Lengua
traducción
Año Fecha de publicación
Biblioteca
Ubicado en
Persona Es creador de
Se refiere a
El Quijote Cervantes
Es creador de
Catalán
traducción
1960 Fecha de publicación
BNE
Ubicado en
Se refiere a
Vida de Cervantes
Ontología
Datos
Lugar de nacimiento Lugar
Lugar de nacimiento
Alcalá de Henares
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
El modelo (Ontología) y los datos (datasets)
20
http://iflastandards.info/ns/fr/frbr/frbrer/C1001
http://iflastandards.info/ns/fr/frbr/frbrer/C1002
traducción
Año
Fecha de publicación
http://xmlns.com/foaf/0.1/Organization
Localizado en
http://iflastandards.info/ns/fr/frbr/frbrer/C1005
Es creador de
Tiene subject
http://datos.bne.es/resource/XX3383563 http://datos.bne.es/resource/XX1718747 Es autor
http://datos.bne.es/resource/XX1924295
translation
1960 Fecha de publicación
BNE
Localizado en
Tiene subject
http://datos.bne.es/resource/bimo0002045496
Vida de Miguel de Cervantes Saavedra
Don Quijote de la Mancha Cervantes Saavedra, Miguel de
Catalán
Ontología
Datos http://datos.bne.es/#
idioma
trabajo
Biblioteca
Persona
http://geo.linkeddata.es/ontology/Municipio
Lugar de nacimiento
http://geo.linkeddata.es/resource/Alcalá de Henares
Lugar de nacimiento
26/11/12
11
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Índice
1. Concepto 2. Fundamentos 3. Proceso
21
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Especificación @ BNE
Especificar
Modelar
• Registros en formato MARC 21 • 3.9 millones de registros bibliográficos • 4.2 millones de registros de autoridades • Versión: Noviembre 2011
22
AUTHORITY BIBLIOGRAPHIC
Persons Corporate bodies Conferences Titles Subject
76576 Maps
320727 Sound recordings
166017 Gravings, drawings, pictures
35770 Manuscripts
143959 Ancient books
2696560 Modern books
178473 Scores
3021 Electronic resources
156634 Serials
96672 Videos
Generar RDF
Publicar
Explotar
Enlazar
26/11/12
12
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
La Ontología: basada en vocabularios IFLA
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
La herramienta Marimba genera RDF
BNE
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
26/11/12
13
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Marimba enlaza con otros recursos: VIAF, DNB, SUDOC, LIBRIS, DBpedia
BNE
http://datos.bne.es/resource/XX1718747
Same As Same As
Same As
Same As
Same As
LIBRIS
http://libris.kb.se/resource/auth/45369
SUDOC
http://www.idref.fr/026774771/id
DNB
http://d-nb.info/gnd/11851993X
DBpedia
http://dbpedia.org/resource/Miguel_de_Cervantes
VIAF http://viaf.org/viaf/17220427
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
Marimba enlaza con otros recursos: VIAF, DNB, SUDOC, LIBRIS, DBpedia
26/11/12
14
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Publicar
Publicar los datos Describir el recurso con VOID Para facilitar el descubrimiento
• Registrar en CKAN tu recurso
• Utilizar sitemap4rdf para generar el sitemap
• Cargar el sitemap en Google y Sindice
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Explotar
select distinct COUNT(?Obras) where { http://datos.bne.es/resource/XX1718747 <http://iflastandards.info/ns/fr/frbr/frbrer/P2010> ?Obras }
URI Cervantes
Is author
Consultas en SPARQL
Interfaz Web Especification
Model
RDF generation
Publication
Exploitation
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
http://linkeddata3.dia.fi.upm.es/bne-demo
1
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Índice
1. Web de Linked Data: Conceptos Básicos A. Gómez Pérez (30 min)
2. RDF, RDF Schema y SPARQL O. Corcho (90 min)
3. Vocabularios A. Gómez Pérez (90 min)
4. Herramientas de publicación de datos para portales de datos abiertos
O. Corcho (30 min)
1
RDF, RDF Schema y SPARQL
Raúl García-Castro, Óscar Corcho Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net
Curso en Red.es. 29 de Noviembre de 2012
2
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Índice
• Introducción general • RDF
- Componentes de RDF - Serialización de RDF
• RDF Schema - Componentes de RDFS - Serialización de RDFS
3
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
RDF y RDF Schema
• RDF: Resource Description Framework • Objetivo
- Describir la semántica de la información de manera procesable por máquinas
• Recomendación del W3C - Modelo - Sintaxis - Semántica
4
Database XML RDF(S)
Esquema
Datos
RDF Schema
RDF
3
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
RDF(S) en la Web Semántica
5
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Índice
• Introducción general • RDF
- Componentes de RDF - Serialización de RDF
• RDF Schema - Componentes de RDFS - Serialización de RDFS
6
4
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
• También conocido como “triples” (tripletas) - [Sujeto, Predicado, Objeto]
• “Raúl es un miembro del Ontology Engineering Group” - [Raúl, is member of, Ontology Engineering Group]
• “El nombre completo de Raúl es Raúl García Castro” - [Raúl, has full name, Raúl García Castro]
• “Raúl nació el 26 de Diciembre de 1975” - [Raúl, was born, 26 December 1975]
• “La página web del Ontology Engineering Group es http://www.oeg-upm.net/” - [Ontology Engineering Group, has web page, http://www.oeg-upm.net/]
Componentes de RDF
7
is member of Raúl Ontology Engineering Group
Raúl Raúl García Castro has full name
Raúl 26 December 1975 has birth date
has web page Ontology Engineering Group http://www.oeg-upm.net/
Raúl
Raúl
Raúl
Ontology Engineering Group
Ontology Engineering Group
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Grafos RDF
• Los grafos RDF son conjuntos de tripletas
8
is member of
Raúl
Ontology Engineering Group
Raúl García Castro has full name
26 December 1975 has birth date
has web page
http://www.oeg-upm.net/
5
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Literales RDF
• Los objetos de las tripletas pueden ser literales (cadenas de caracteres) - El sujeto y el predicado son siempre recursos
• Los literales pueden estar tipados - Normalmente usando XML Schema datatypes - Además, RDF proporciona el tipo de datos rdf:XMLLiteral
9
is member of
Raúl
Ontology Engineering Group
“Raúl García Castro” has full name
“1975-12-26”^^xsd:date has birth date
has web page
http://www.oeg-upm.net/
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
URIs en RDF
• Componentes de una URI (RFC3986) - http://www.oeg-upm.net:8080/Info/People?position=current#Raul
• URIs en RDF:
- Son referencias URI: URI + Fragment - Puede contener caracteres Unicode - Identifica recursos y valores (ej., mailto:[email protected])
10
Scheme Authority Path Query Fragment
http://www.oeg-upm.net/Properties#isMemberOf
http://www.oeg-upm.net/People#Raul
http://www.oeg-upm.net/Organization#OEG
“Raúl García Castro” http://www.oeg-upm.net/Properties#hasFullName
“1975-12-26”^^xsd:date http://www.oeg-upm.net/Properties#hasBirthDate
http://www.oeg-upm.net/Properties#hasWebPage
http://www.oeg-upm.net/
6
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Espacios de nombres (namespaces) en RDF
• Las URIs bajo un namespace se llaman vocabularios
11
Prefijo URI people http://www.oeg-upm.net/People#
organization http://www.oeg-upm.net/Organization#
properties http://www.oeg-upm.net/Properties#
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs http://www.w3.org/2000/01/rdf-schema#
xsd http://www.w3.org/2001/XMLSchema#
properties:isMemberOf
people:Raul
organization:OEG
“Raúl García Castro” properties:hasFullName
“1975-12-26”^^xsd:date properties:hasBirthDate
properties:hasWebPage http://www.oeg-upm.net/
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Clasificando recursos
• La propiedad rdf:type se usa para clasificar recursos en categorías/clases
• La clase rdf:Property es la clase de todas las propiedades
12
people:Raul
category:Person
rdf:type
people:Oscar
rdf:type
people:Missy
category:Animal
rdf:type
people:Fantasma
rdf:type
Clases
Instancias
properties:hasFullName
rdf:Property
rdf:type rdf:type
rdf:type
7
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Nodos en blanco Valores de propiedades estructuradas
• En ocasiones, se utilizan estructuras de datos más complejas que las tripletas (aunque todo se sigue reduciendo a tripletas)
13
people:Raul properties:hasFullName
“Raúl”
properties:firstName
“García Castro”
properties:lastName
Esta URI intermedia realmente no necesita
tener un nombre específico
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Contenedores RDF
• Describen grupos de cosas - Un libro fue creado por varios autores - Una clase es impartida por varias personas - etc.
• RDF tiene varios tipos de contenedores - rdf:Bag. Grupo de recursos o literales, incluyendo duplicados,
donde el orden no es significativo - rdf:Seq. Grupo de recursos o literales, incluyendo duplicados,
donde el orden es significativo - rdf:Alt. Grupo de recursos o literales que son alternativas
(normalmente para un valor simple de una propiedad)
14
people:Raul properties:hasEmailAddress
rdf:_1
rdf:_2
rdf:Seq rdf:type
8
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Colecciones en RDF
• Grupos de cosas representadas como una lista estructurada - “A container with limits”
• Construido usando rdf:List, rdf:first, rdf:rest, y rdf:nil
15
university:Course1 university:hasTeacher
rdf:next
people:Raul rdf:first
rdf:nil
rdf:next
people:Oscar rdf:first
rdf:List
rdf:type
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Reificación en RDF
• Tripletas en RDF sobre otras tripletas en RDF - “Raúl cree que la fecha de nacimiento de Oscar es el 2 de febrero de
1976 y que su dirección de correo electrónico es [email protected]” • Expresado usando rdf:Statement, rdf:subject, rdf:predicate,
y rdf:object
• Reificación en RDF - Permite expresar creencias (y otras modalidades) - Permite expresar modelos de confianza, firmas digitales, etc. - Permite expresar metadatos sobre metadatos
16
people:Raul
people:Oscar
modal:believes
properties:hasEmailAddress
“1976-02-02”^^xsd:date
properties:hasBirthDate
9
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Valor principal de un valor estructurado
• Algunas veces uno de los valores de un valor estructurado es el principal - El peso de un artículo es 2.4 kilogramos - El valor principal es 2.4, lo que se expresa con rdf:value
• Se usa muy poco
17
product:Item1 product:hasWeight
“2.4”^^xsd:float
rdf:value
units:Kilogram
units:hasWeightUnit
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Resumen del vocabulario RDF Clases Propiedades Individuos Classification rdf:Property rdf:type Containers rdf:Bag rdf:_1, rdf:_2, rdf:_3… rdf:Seq rdf:Alt Collections rdf:List rdf:first rdf:nil
rdf:rest Reification rdf:Statement rdf:subject
rdf:predicate rdf:object
Values rdf:XMLLiteral rdf:value
18
10
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Serializaciones en RDF
• Normativa - RDF/XML (www.w3.org/TR/rdf-syntax-grammar/)
• Versión en borrador (9 de agosto de 2011) - Turtle (http://www.w3.org/TR/turtle/)
• Alternativas (centradas en usuarios) - N3 (http://www.w3.org/DesignIssues/Notation3.html) - TriX (http://www.w3.org/2004/03/trix/) - …
• Importante: las serializaciones RDF permiten diferentes variantes sintácticas. - Ej., el orden en el que las tripletas RDF aparecen en un
documento no es relevante
19
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Serializaciones en RDF. RDF/XML
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:person="http://www.ontologies.org/ontologies/people#" xmlns="http://www.oeg-upm.net/ontologies/people#" xml:base="http://www.oeg-upm.net/ontologies/people"> <rdf:Property rdf:about="http://www.ontologies.org/ontologies/people#hasHomePage"/> <rdf:Property rdf:about="http://www.ontologies.org/ontologies/people#hasColleague"/> <rdf:Property rdf:about="http://www.ontologies.org/ontologies/people#hasName"/> <rdf:Description rdf:about="#Raul"/> <rdf:Description rdf:about="#Asun"> <person:hasColleague rdf:resource="#Raul"/> <person:hasHomePage>http://www.fi.upm.es</person:hasHomePage> </rdf:Description> <rdf:Description rdf:about="#Oscar"> <person:hasColleague rdf:resource="#Asun"/> <person:hasName>Oscar Corcho García</person:hasName> </rdf:Description> </rdf:RDF>
20
people:hasColleague people:Raul people:Asun
people:hasHomePage
http://www.oeg-upm.net/
people:hasColleague people:Oscar
“Óscar Corcho García”
people:hasName
11
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Serializaciones en RDF. Turtle
@base <http://www.oeg-upm.net/ontologies/people/ > @prefix vocab: <http://www.ontologies.org/ontologies/people#> :Asun vocab:hasColleague :Raul ;
vocab:hasHomePage “http://www.fi.upm.es/”. :Oscar vocab:hasColleague :Asun ; vocab:hasName “Óscar Corcho García”.
21
people:hasColleague people:Raul people:Asun
people:hasHomePage
http://www.oeg-upm.net/
people:hasColleague people:Oscar
“Óscar Corcho García”
people:hasName
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Índice
• Introducción general • RDF
- Componentes de RDF - Serialización de RDF
• RDF Schema - Componentes de RDFS - Serialización de RDFS
22
12
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
RDF Schema • Amplía RDF • Permite la descripción de clases de recursos y sus propiedades • Añade restricciones a los modelos
23
rdfs:Resource
rdfs:Container rdf:List rdf:Property rdfs:Class rdf:Statement
rdfs:Datatype
rdfs:Literal
rdf:XMLLiteral rdf:Bag rdf:Seq rdf:Alt
rdf:nil
rdfs:ContainerMembershipProperty
rdf:_1 rdf:_2 rdf:_3
rdfs:member rdfs:seeAlso
rdfs:isDefinedBy rdf:value rdfs:label
rdfs:comment
rdf:subject rdf:predicate
rdf:object rdf:type
rdfs:subclassOf
rdfs:domain rdfs:range
rdfs:subPropertyOf
rdf:first
rdf:rest
rdfs:member
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Descripción de clases
24
person:hasColleague data:Raul data:Asun
person:hasHomePage
http://www.oeg-upm.net/
person:hasColleague data:Oscar
“Óscar Corcho García”
person:hasName
person:AssociateProfessor
person:Professor
person:Person
person:InterimAssociateProfessor
person:FullProfessor
rdfs:subClassOf
rdfs:subClassOf
rdfs:subClassOf
rdfs:Class
RDF(S)
Vocabulario
Datos
rdf:type
13
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Descripción de individuos
25
person:hasColleague data:Raul data:Asun
person:hasHomePage
http://www.oeg-upm.net/
person:hasColleague data:Oscar
“Óscar Corcho García”
person:hasName
person:AssociateProfessor
person:Professor
person:Person
person:InterimAssociateProfessor
person:FullProfessor
rdf:type rdf:type rdf:type
rdfs:subClassOf
rdfs:subClassOf
rdfs:subClassOf
rdfs:Class
RDF(S)
rdf:type Vocabulario
Datos
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Descripción de propiedades
26
person:hasColleague data:Raul data:Asun
person:hasHomePage
http://www.oeg-upm.net/
person:hasColleague data:Oscar
“Óscar Corcho García”
person:hasName
person:AssociateProfessor
person:Professor
person:Person
person:InterimAssociateProfessor
person:FullProfessor
person:hasName rdfs:Literal rdfs:domain rdfs:range
person:hasHomePage rdfs:domain
rdf:type rdf:type rdf:type
rdfs:subClassOf
rdfs:subClassOf
rdfs:subClassOf
rdf:Property rdfs:Class
RDF(S)
rdf:type
rdf:type
person:hasColleague
rdfs:domain rdfs:range
Vocabulario
Datos
14
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Anotación de recursos
27
data:Raul
rdfs:label “Raúl”
rdfs:comment “Resource for Raúl García Castro”
rdfs:seeAlso http://delicias.dia.fi.upm.es/~rgarcia/
rdfs:isDefinedBy
http://delicias.dia.fi.upm.es/~rgarcia/foaf.rdf
rdfs:label “Raúl García”
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Resumen del vocabulario RDFS Clases Propiedades Individuos Classification rdfs:Resource rdfs:subClassOf
rdfs:Class
Properties rdfs:domain
rdfs:range
rdfs:subPropertyOf
Datatypes rdfs:Literal
rdfs:Datatype
Containers rdfs:Container rdfs:member
rdfs:ContainerMembershipProperty
Annotation rdfs:label
rdfs:comment
rdfs:seeAlso
rdfs:isDefinedBy
28
15
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Serialización en RDF/XML (1/2)
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > <!ENTITY person "http://www.oeg-upm.net/ontologies/person#" > ]> <rdf:RDF xmlns="http://www.oeg-upm.net/ontologies/person#" xml:base="http://www.oeg-upm.net/ontologies/person" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:person="http://www.oeg-upm.net/ontologies/person#"> <rdfs:Property rdf:about="&person;hasColleague"> <rdfs:range rdf:resource="#Person"/> <rdfs:domain rdf:resource="#Person"/> </rdfs:Property> <rdfs:Property rdf:about="&person;hasHomePage"> <rdfs:domain rdf:resource="#FullProfessor"/> </rdfs:Property> <rdfs:Property rdf:about="&person;hasName"> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&rdfs;Literal"/> </rdfs:Property>
...
29
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Serialización en RDF/XML (2/2)
... <rdfs:Class rdf:about="#AssociateProfessor">
<rdfs:subClassOf rdf:resource="#Professor"/> </rdfs:Class> <rdfs:Class rdf:about="#FullProfessor"> <rdfs:subClassOf rdf:resource="#Professor"/> </rdfs:Class> <rdfs:Class rdf:about="#InterimAssociateProfessor"> <rdfs:subClassOf rdf:resource="#AssociateProfessor"/> </rdfs:Class> <rdfs:Class rdf:about="#Person"/> <rdfs:Class rdf:about="#Professor"> <rdfs:subClassOf rdf:resource="#Person"/> </rdfs:Class> <FullProfessor rdf:about="#Asun"> <person:hasHomePage>http://www.fi.upm.es</person:hasHomePage> <person:hasColleague rdf:resource="#Raul"/> </FullProfessor> <AssociateProfessor rdf:about="#Oscar"> <person:hasName>Oscar Corcho García</person:hasName> <person:hasColleague rdf:resource="#Asun"/> </AssociateProfessor> <InterimAssociateProfessor rdf:about="#Raul"/> </rdf:RDF>
30
16
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Serialización en Turtle (1/2)
@base <http://www.oeg-upm.net/ontologies/person> . @prefix : <http://www.oeg-upm.net/ontologies/person#> . @prefix person: <http://www.oeg-upm.net/ontologies/person#> . :hasColleague a rdfs:Property . rdfs:domain :Person . rdfs:range :Person ; :hasHomePage a rdfs:Property . rdfs:domain :FullProfessor . :hasName a rdfs:Property . rdfs:domain :Person ; rdfs:range rdfs:Literal . …
a is equivalent to rdf:type
31
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Serialización en Turtle (2/2) … :Person a rdfs:Class . :Professor a rdfs:Class ; rdfs:subClassOf :Person . :FullProfessor a rdfs:Class ; rdfs:subClassOf :Professor . :AssociateProfessor a rdfs:Class ; rdfs:subClassOf :Professor . :InterimAssociateProfessor a rdfs:Class ; rdfs:subClassOf :AssociateProfessor . :Asun a :FullProfessor ; :hasHomePage "http://www.fi.upm.es" ; :hasColleague :Raul . :Oscar a :AssociateProfessor ; :hasName "Oscar Corcho García" ; :hasColleague :Asun . :Raul a :InterimAssociateProfessor . a is equivalent to rdf:type
32
17
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejemplo de algunas RDF APIs
• Librerías RDF para distintos lenguajes: - Java, Python, C, C++, C#, .Net, Javascript, Tcl/Tk, PHP, Lisp, Obj-C,
Prolog, Perl, Ruby, Haskell - Un listado disponible en http://esw.w3.org/topic/SemanticWebTools
• Multilenguaje:
- Redland RDF Application Framework (C, Perl, PHP, Python and Ruby): http://www.redland.opensource.ac.uk/
• Java: - Jena: http://jena.sourceforge.net/ - Sesame: http://www.openrdf.org/
• PHP: - RAP - RDF API for PHP: http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/
• Python: - RDFLib: http://rdflib.net/ - Pyrple: http://infomesh.net/pyrple/
33
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejercicio
• Objetivo • Entender las características de RDF(S) para implementar
vocabularios y datos, incluyendo sus limitaciones • Tareas
• A partir de una descripción de dominio, crear el grafo RDF(S) • Primero incluir sólo el vocabulario del dominio • Después incluir referencias a RDF y a los vocabularios RDFS
34
18
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejercicio 1. Descripción del dominio
• Cierta ubicación puede ser un lugar de interés. • Los lugares de interés pueden ser lugares turísticos o
establecimientos, pero no ambos a la vez. • Los lugares turísticos pueden ser palacios, iglesias, capillas y
catedrales. • Los establecimientos pueden ser hoteles, hostales, o viviendas en
alquiler. • Un lugar está ubicado en una localidad, que puede ser una ciudad,
un pueblo o una ciudad céntrica. • Un lugar de interés tiene dirección postal, que incluye el nombre de
la calle y el número. • Las localidades tienen un cierto número de habitantes. • Las localidades pertenecen a una cierta provincia.
• Covarrubias es un pueblo con 634 habitantes en la provincia de Burgos.
• El restaurante “El Galo” está ubicado en Covarrubias, en la calle Mayor, número 5.
• Una de las iglesias de Covarrubias está en la calle Santo Tomás.
35
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejercicio 1. Ejemplo de vocabulario resultante
36
PhysicalPoint
Stage
TransportMedium
Bycicle Car Bus OnFoot
Train
SpacialThing
Locality City
Village
Town
Location
LocationOf International
Touristic Location
Palace
Church Cathedral
Chapel
Establistioment
GuestHouse Hotel
Hostel
Route
PostalAddress
Stretch
TransportInfrastructure
Railway
Trach Road
Path
Service
BankService
HealthService PostalService
SecurityService
Restauration Service
hasLatitude hasLongitude
hasStop hasDestination
isLocatedAPoint
hasOrigin
isPlacedIn
inProvince
hasInhabitantNumber hasSurface
through
hasPostalCode hasNumber
isC
onne
cted
By
hasBegining hasEnd
hasAddress
isProvidedBy
providesService
isSupportedBy
hasStretch
hasDistance
hasDenomination
hasStreet
hasAltitude
Literal
Literal
Literal
Literal
Literal
19
El Lenguaje de Consultas SPARQL
Raúl García-Castro, Oscar Corcho Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net
Curso en Red.es. 29 de Noviembre de 2012
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Lenguajes de consulta sobre RDF(S)
• Soportado por las APIs y triple stores más relevantes
- Jena, Sesame, RASQAL, etc. - Virtuoso, 4store, Fuseki, etc. - ...
• Hay algunas diferencias con respecto a lenguajes como SQL, tales como - Posibilidad de combinar fuentes de datos heterogéneas - Hipótesis de mundo abierto
38
Base de datos
relacional
Aplicación
Consultas en SQL
RDF(S) OWL
Aplicación
Consultas en SPARQL
20
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Inferencia en RDF. Ejemplos (I)
• Ejemplo de grafo RDF
• Consulta: “Dime las personas que tienen a Raúl como colega”
- Resultado: data:Asun
39
person:hasColleague data:Raul data:Asun
person:hasHomePage
http://www.oeg-upm.net/
person:hasColleague data:Oscar
“Óscar Corcho García”
person:hasName
person:hasColleague data:Raul ?
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Inferencia en RDF. Ejemplos (II)
• Consulta: “Dime qué relaciones existen entre Oscar y Asun”
- Resultado: person:hasColleague
• Consulta: “Dime la página Web de los colegas de Oscar”
- Resultado: “http://www.oeg-upm.net/”
40
data:Asun ?
data:Oscar
person:hasHomePage
?
person:hasColleague data:Oscar
21
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
SPARQL también es un protocolo
• SPARQL es un lenguaje de consulta… Encuentra nombres y websites de colaboradores de PlanetRDF: PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?website FROM <http://planetrdf.com/bloggers.rdf> WHERE { ?person foaf:weblog ?website . ?person foaf:name ?name . ?website a foaf:Document }
• ... Y un Protocolo
http://.../qps?query-lang=http://www.w3.org/TR/rdf-sparql-query/ &graph-id=http://planetrdf.com/bloggers.rdf&query=PREFIXfoaf: <http://xmlns.com/foaf/0.1/...
• Servicios ejecutando consultas SPARQL sobre un conjunto de grafos • Un protocolo de transporte para invocar al servicio • Descripción del servicio con tecnologías de servicios Web
42
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Conclusiones SPARQL • Servicios del protocolo SPARQL
- Permite a los usuarios (humanos u otros) hacer una consulta en una base de datos y conocimientos usando SPARQL
- Los resultados son devueltos normalmente en uno o más formatos procesables por máquinas
• Listado de puntos de acceso (endpoints) de SPARQL - http://esw.w3.org/topic/SparqlEndpoints
• Acceso programático usando librerías: - ARC, RAP, Jena, Sesame, Javascript SPARQL, PySPARQL, etc.
• Ejemplos:
Proyecto Conclusión DBpedia http://dbpedia.org/sparql BBC Programmes and Music http://bbc.openlinksw.com/sparql/ data.gov http://semantic.data.gov/sparql data.gov.uk http://data.gov.uk/sparql Musicbrainz http://dbtune.org/musicbrainz/sparql
43
22
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejemplo: consultando DBpedia
• Gente nacida en Berlín antes de 1900
44
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejemplo: consultando DBpedia
45
23
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
También consultas más “españolas”
• ¿Qué toreros han estado casados con cantantes de copla? Aquí
PREFIX dcterms: <http://purl.org/dc/terms/> SELECT ?torero ?cantante WHERE{ ?torero rdf:type dbpedia-owl:BullFighter . ?torero dbpedia-owl:spouse ?cantante . ?cantante dcterms:subject <http://es.dbpedia.org/resource/Categoría:Cantantes_de_coplas> }
46
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Un consulta sencilla en SPARQL
@prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . :book1 dc:title "SPARQL Tutorial" .
title "SPARQL Tutorial"
SELECT ?title WHERE { <http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title . }
Data:
Query:
Query result:
• Un patrón de consulta se ajusta contra los datos en RDF • En todo caso un patrón puede ajustarse para proporcionar una solución • La secuencia de soluciones se puede filtrar • Se aplica uno de los siguientes constructores: SELECT, CONSTRUCT,
DESCRIBE, ASK
47
24
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
@prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Johnny Lee Outlaw" . _:a foaf:mbox <mailto:[email protected]> . _:b foaf:name "Peter Goodguy" . _:b foaf:mbox <mailto:[email protected]> . _:c foaf:mbox <mailto:[email protected]> .
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox WHERE { ?x foaf:name ?name . ?x foaf:mbox ?mbox }
name mbox "Johnny Lee Outlaw" <mailto:[email protected]> "Peter Goodguy" <mailto:[email protected]>
Varios patrones de grafos: joins
48
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
@prefix dt: <http://example.org/datatype#> . @prefix ns: <http://example.org/ns#> . @prefix : <http://example.org/ns#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . :x ns:p "cat"@en . :y ns:p "42"^^xsd:integer . :z ns:p "abc"^^dt:specialDatatype .
SELECT ?v WHERE { ?v ?p "cat" } v
SELECT ?v WHERE { ?v ?p "cat"@en } v <http://example.org/ns#x>
SELECT ?v WHERE { ?v ?p 42 } v <http://example.org/ns#y>
SELECT ?v WHERE { ?v ?p "abc"^^<http://example.org/datatype#specialDatatype> }
v <http://example.org/ns#z>
Literales RDF
49
25
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
@prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" . _:b foaf:name "Bob" .
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?x ?name WHERE { ?x foaf:name ?name }
x name _:c "Alice" _:d "Bob"
x name _:r "Alice" _:s "Bob"
=
Nodos en blanco
50
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Grupos de patrones
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox WHERE { { ?x foaf:name ?name . } { ?x foaf:mbox ?mbox . } }
SELECT ?x WHERE {}
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox WHERE { { ?x foaf:name ?name . } { ?x foaf:mbox ?mbox . FILTER regex(?name, "Smith")} }
51
26
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Patrones opcionales (left-outer-join)
@prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . _:a rdf:type foaf:Person . _:a foaf:name "Alice" . _:a foaf:mbox <mailto:[email protected]> . _:a foaf:mbox <mailto:[email protected]> . _:b rdf:type foaf:Person . _:b foaf:name "Bob" .
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox WHERE { ?x foaf:name ?name . OPTIONAL { ?x foaf:mbox ?mbox } }
name mbox
"Alice" <mailto:[email protected]>
"Alice" <mailto:[email protected]>
“Bob"
52
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Patrones opcionales múltiples
@prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" . _:a foaf:homepage <http://work.example.org/alice/> . _:b foaf:name "Bob" . _:b foaf:mbox <mailto:[email protected]> .
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox ?hpage WHERE { ?x foaf:name ?name . OPTIONAL { ?x foaf:mbox ?mbox } . OPTIONAL { ?x foaf:homepage ?hpage } }
name mbox hpage
"Alice" <http://work.example.org/alice/>
“Bob" <mailto:[email protected]>
53
27
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Patrones de alternativas @prefix dc10: <http://purl.org/dc/elements/1.0/> . @prefix dc11: <http://purl.org/dc/elements/1.1/> . _:a dc10:title "SPARQL Query Language Tutorial" . _:a dc10:creator "Alice" . _:b dc11:title "SPARQL Protocol Tutorial" . _:b dc11:creator "Bob" . _:c dc10:title "SPARQL" . _:c dc11:title "SPARQL (updated)" .
PREFIX dc10: <http://purl.org/dc/elements/1.0/> PREFIX dc11: <http://purl.org/dc/elements/1.1/> SELECT ?title WHERE { { ?book dc10:title ?title } UNION { ?book dc11:title ?title } }
title
"SPARQL Protocol Tutorial"
"SPARQL"
"SPARQL (updated)"
"SPARQL Query Language Tutorial"
SELECT ?x ?y WHERE { { ?book dc10:title ?x } UNION { ?book dc11:title ?y } }
SELECT ?title ?author WHERE { { ?book dc10:title ?title . ?book dc10:creator ?author } UNION { ?book dc11:title ?title . ?book dc11:creator ?author }}
x y
"SPARQL (updated)"
"SPARQL Protocol Tutorial"
"SPARQL"
"SPARQL Query Language Tutorial"
author title
"Alice" "SPARQL Protocol Tutorial"
“Bob” "SPARQL Query Language Tutorial"
54
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Grafos con nombre # Named graph: http://example.org/foaf/aliceFoaf @prefix foaf:<http://.../foaf/0.1/> . @prefix rdf:<http://.../1999/02/22-rdf-syntax-ns#> . @prefix rdfs:<http://.../2000/01/rdf-schema#> . _:a foaf:name "Alice" . _:a foaf:mbox <mailto:[email protected]> . _:a foaf:knows _:b . _:b foaf:name "Bob" . _:b foaf:mbox <mailto:[email protected]> . _:b foaf:nick "Bobby" . _:b rdfs:seeAlso <http://example.org/foaf/bobFoaf> . <http://example.org/foaf/bobFoaf> rdf:type foaf:PersonalProfileDocument .
# Named graph: http://example.org/foaf/bobFoaf @prefix foaf:<http://.../foaf/0.1/> . @prefix rdf:<http://.../1999/02/22-rdf-syntax-ns#> . @prefix rdfs:<http://.../2000/01/rdf-schema#> . _:z foaf:mbox <mailto:[email protected]> . _:z rdfs:seeAlso <http://example.org/foaf/bobFoaf> . _:z foaf:nick "Robert" . <http://example.org/foaf/bobFoaf> rdf:type foaf:PersonalProfileDocument .
55
28
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Grafos con nombre
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX data: <http://example.org/foaf/> SELECT ?nick FROM NAMED <http://example.org/foaf/aliceFoaf> FROM NAMED <http://example.org/foaf/bobFoaf> WHERE { GRAPH data:bobFoaf { ?x foaf:mbox <mailto:[email protected]> . ?x foaf:nick ?nick } }
nick
"Robert"
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?src ?bobNick FROM NAMED <http://example.org/foaf/aliceFoaf> FROM NAMED <http://example.org/foaf/bobFoaf> WHERE { GRAPH ?src { ?x foaf:mbox <mailto:[email protected]> . ?x foaf:nick ?bobNick } }
src bobNick
<http://example.org/foaf/aliceFoaf> "Bobby"
<http://example.org/foaf/bobFoaf> "Robert"
56
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Filtros y restricciones
@prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . @prefix ns: <http://example.org/ns#> . :book1 dc:title "SPARQL Tutorial" . :book1 ns:price 42 . :book2 dc:title "The Semantic Web" . :book2 ns:price 23 .
PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title WHERE { ?x dc:title ?title FILTER regex(?title, "^SPARQL") }
title
"SPARQL Tutorial"
PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title WHERE { ?x dc:title ?title FILTER regex(?title, "web", "i" ) }
title
"The Semantic Web"
PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> SELECT ?title ?price WHERE { ?x ns:price ?price . FILTER (?price < 30.5) ?x dc:title ?title . }
title price
"The Semantic Web" 23
57
29
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Tests de valores
• Basado en funciones y operadores XQuery 1.0 y XPath 2.0
• XSD boolean, string, integer, decimal, float, double, dateTime
• Anotaciones <, >, =, <=, >= y != para comparación de valores Aplicable a cualquier tipo
• BOUND, isURI, isBLANK, isLITERAL • REGEX, LANG, DATATYPE, STR () • Cualquier función extendida
58
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Modificadores
• Modificador de orden: pone las soluciones en un cierto orden
• Modificador de proyección: selecciona ciertas variables
• Modificador DISTINCT: asegura que las soluciones son únicas
• Modificador reductor: permite la eliminación de algunas soluciones que no son únicas
• Modificador de límite: restringe el número de soluciones
• Modificador Offset: controla dónde comienzan las soluciones en la secuencia global de soluciones
SELECT ?name WHERE { ?x foaf:name ?name ; :empId ?emp } ORDER BY ?name DESC(?emp)
SELECT ?name WHERE { ?x foaf:name ?name }
SELECT DISTINCT ?name WHERE { ?x foaf:name ?name }
SELECT REDUCED ?name WHERE { ?x foaf:name ?name }
SELECT ?name WHERE { ?x foaf:name ?name } ORDER BY ?name LIMIT 5 OFFSET 10
SELECT ?name WHERE { ?x foaf:name ?name } LIMIT 20
59
30
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejercicio 2
• Objetivo • Comprender cómo trabajar con consultas SPARQL
• Tareas • Crear un conjunto de consultas SPARQL sobre un vocabulario de ejemplo
• http://sandbox.linkeddata.es/sparql • En el grafo: http://sandbox.linkeddata.es/Grado_20122013
64
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejemplo de vocabulario
TouristicLocation
Palace Church Chapel Cathedral
Establishment
Hotel Hostel GuestHouse
LocationOfInterest
Location Locality
Village Town City
SpatialThing
PostalAddress
rdfs:Literal
hasInhabitantNumber
isPlacedIn rdfs:Literal
hasStreet
inProvince
hasAddress
hasNumber
65
31
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Queries en este modelo
1. Obtener todas las clases 2. Obtener las subclases de la clase Establishment 3. Obtener las instancias de la clase City 4. Obtener el número de habitantes de Santiago de Compostela 5. Obtener el número de habitantes de Santiago de Compostela y de Arzua 6. Obtener distintos lugares con número de habitantes, ordenar los
resultados por el nombre del lugar (ascendente) 7. Obtener todas las instancias de Locality con su número de habitantes (si
existe) 8. Obtener todos los lugares con más de 200.000 habitantes 9. Obtener los datos postales de Pazo_Breogan (calle, número, localidad,
provincia) 10. Obtener las subclases de la clase Location 11. Obtener las instancias de la clase Locality 12. Describir el recurso con rdfs:label "Madrid” 13. Construir el grafo RDF(S) que relaciona directamente todos los lugares
turísticos con sus respectivas provincias, usando una nueva propiedad llamada ”isIn”
14. Preguntar si hay alguna instancia de Town
66
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Consultas en el modelo
1) Obtener todas las clases
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?x WHERE { ?x a rdfs:Class. }
2) Obtener las subclases de la clase Establishment
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#>
SELECT ?x WHERE { ?x rdfs:subClassOf pr:Establishment. }
3) Obtener las instancias de la clase City
PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#>
SELECT ?x WHERE { ?x a pr:City. }
67
32
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Consultas en las instancias
4) Obtener el número de habitantes de Santiago de Compostela
PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { pr:Santiago_de_Compostela pr:hasInhabitantNumber ?x. }
5) Obtener el número de habitantes de Santiago de Compostela y de Arzua PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { {pr:Santiago_de_Compostela pr:hasInhabitantNumber ?x.} UNION {pr:Arzua pr:hasInhabitantNumber ?x.} }
6) Obtener diferentes lugares con el número de habitantes, ordenando los resultados por el nombre del lugar (ascendente) PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?x ?y WHERE { $loc pr:hasInhabitantNumber ?y; rdfs:label ?x.} ORDER BY ASC(?x)
68
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Consultas en las instancias II
8) Obtener todos los lugarescon más de 200.000 habitantes PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?x ?y WHERE { $loc pr:hasInhabitantNumber ?y; rdfs:label ?x. FILTER(?y > 200000) }
9) Obtener los datos postales de Pazo_Breogan (calle, número, localidad, provincia) PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?street ?number ?locality ?province WHERE { pr:Pazo_Breogan pr:isPlacedIn $pob; pr:hasAddress $dir. $pob rdfs:label ?locality; pr:inProvince ?province. $dir pr:hasStreet ?street; pr:hasNumber ?number.}
7) Obtener todas las instancias de Locality con su número de habitantes (si existe) PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?x ?y WHERE { $loc a pr:Locality; rdfs:label ?x. OPTIONAL {$loc pr:hasInhabitantNumber ?y.} }
69
33
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Consultas con inferencia
10) Obtener las subclases de la clase Location PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { ?x rdfs:subClassOf pr:Location. }
11) Obtener las instancias de la clase Locality
PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT ?x WHERE { ?x a pr:Locality. }
12) Obtener los valores de todas las variables de la query
PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> SELECT * WHERE { ?x pr:hasInhabitantNumber ?y. }
Query especial (SELECT *)
70
70
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Distintos tipos de consulta
14) Construye el grafo RDF(S) que relaciona directamente todos los lugares turísticos con sus respectivas provincias, usando una nueva propiedad llamada ”isIn” PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> CONSTRUCT {?x pr:isIn ?y} WHERE { ?x a pr:TouristicLocation; pr:isPlacedIn $pob. $pob pr:inProvince ?y. } 15) Preguntar si hay alguna instancia de Town PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> ASK WHERE {?a a pr:Town}
16) Preguntar si hay alguna instancia de Chapel PREFIX pr: <http://GP-onto.fi.upm.es/exercise2#> ASK WHERE {?a a pr:Chapel}
13) Describe el recurso con rdfs:label "Madrid" PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> DESCRIBE ?x WHERE { ?x rdfs:label "Madrid". }
71
28/11/12
1
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Indice
1. Web de Linked Data: Conceptos Básicos A. Gómez Pérez (30 min)
2. RDF, RDF Schema y SPARQL O. Corcho (90 min)
3. Vocabularios A. Gómez Pérez (90 min)
4. Herramientas de publicación de datos para portales de datos abiertos
O. Corcho (30 min)
1
Vocabularios
Asunción Gómez-Pérez, Oscar Corcho Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid http://www.oeg-upm.net
Agradecimientos: D. Garijo, R. García, M. Poveda, J.A. Ramos, M.C. Suárez-Figueroa, D. Vila, L. Vilches, B. Villazón
Curso en Red.es. 29 de Noviembre de 2012
28/11/12
2
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios
• Personas y Organizaciones: FOAF, vCard, ORG • Documentos: DC, BIBO • Geo: puntos, curvas y polígonos • Estadísticas: Data Cube • Bibliotecas: FRBR • Otros vocabularios: sensores, provenance, VOID
5. Ejemplos de Redes de vocabularios en aplicaciones de datos enlazados • Instituto Geográfico Nacional
3
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Caso de uso
¿Qué vocabularios debemos utilizar para describir en el formato de datos enlazados el organigrama de los diferentes Ministerios, las personas que forman parte de él y su
ubicación?
28/11/12
3
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Organigrama diferentes en los Ministerios
5
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Organigramas con diferente terminología
6
28/11/12
4
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Descripción de los ministros “a la carta”
7
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Diferentes formas de describir la dirección de contacto
8
28/11/12
5
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios 5. Ejemplos de Redes de vocabularios en aplicaciones
de datos enlazados 6. Conclusiones
9
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Clasificacion Informal
Catalogo/ID
Tesauro
Las organizaciones poseen vocabularios
ID Name Ve Vehículo 10.01 Coche 10.02 Motocicleta 10.03 Bicicleta 10.01 Vehículo 10.01.01 Rueda 10.01.02 Asiento 10.01.03 Puerta
?
?
Conocimiento implícito en los números
XX-YY-ZZ 02-01-02 02: transporte 01: carretera 02: 3 carriles
28/11/12
6
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ontología
11
• Una ontología es: • Un conjunto de términos consensuados • Incluye:
• Conceptos • Taxonomias de Conceptos • Propiedades • Relaciones entre concpetos
• Visión compartida sobre cómo modelar un dominio de interés
• Implementadas en OWL o RDF(S) • Herramientas: Protégé, NeOn Toolkit, Topbraid composer, etc.
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 12
Ejemplos de ontologías
SIOC Ontology
28/11/12
7
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ontologías: Conocimientos y Datos
13
13
Ontología
Instancias
Nivel de Conocimientos
Conceptos Taxonomías Relaciones Atributos Axiomas
Nivel de Datos Instancias de conceptos
Instancias de relaciones
Cer El Quijote Cervantes Es creador de
Cer
Obra Persona Es creador de
Es una Es una
Nivel de Conocimientos
Nivel de Datos
Año
Fecha de publicación
1960
Fecha de publicación
Es un
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejemplo de ontología
28/11/12
8
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios 5. Ejemplos de Redes de vocabularios en aplicaciones
de datos enlazados 6. Conclusiones
15
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Vocabularios en la Web de datos
16
¿Qué vocabularios son los más utilizados?
28/11/12
9
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Modelar en la Web de Datos
Especificar
Modelar
RDF Generation
Publication
Links Generation
Exploitation
Misma visión (Shared
understanding)
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Tendencias en la construcción de ontologías
• Reutilizar recursos ricos en conocimientos • Construcción de ontologías y vocabularios de forma
colaborativa • Conectar ontologías y vocabularios en redes
Construcción De ontologías
28/11/12
10
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Modelar
19
Buscar Ontologías
Linked Open Vocabularies
¿Son apropiados?
Construir el modelo reutilizando vocabularios
existentes
Si
No
Buscar recursos basados en conocimientos
Catálogos Institucionales y estándares
¿Son apropiados?
Transforma el recurso en una ontología
Si
No
Construye desde el principio usando la metodología NeOn
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Búscar vocabularios en LOV
• Ecosistema de vocabularios utilizados en datos abiertos enlazados (RDFS or OWL ontologies) • 300 vocabularios descritos con metadatos • Clasificados en espacios (vocabulary spaces) • Enlazados usando VOAF • Servicios
• Consulta • Búsqueda • Métricas
20
Linked Open Vocabularies (LOV)
http://labs.mondeca.com/dataset/lov/
28/11/12
11
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Los espacios en LOV
21
Generales
Bibliotecas
Organizaciones sociales
Espacio Tiempo Eventos
Multimedia
Ciencia
Web
Recomendaciones
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Descripción de vocabularios en LOV
22
Metadatos
Vocabularios que usa
Vocabularios que lo usan
Versiones
28/11/12
12
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios
• Personas y Organizaciones: FOAF, vCard, ORG • Documentos: DC, BIBO • Geo: puntos, curvas y polígonos • Estadísticas: Data Cube • Bibliotecas: FRBR • Otros vocabularios: sensores, provenance, VOID
5. Ejemplos de Redes de vocabularios en aplicaciones de datos enlazados • Instituto Geográfico Nacional
23
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Vocabularios de Personas y Organizaciones
24
28/11/12
13
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
FOAF– Friend Of A Friend
• Vocabulario RDF para describir: • Personas • Grupos • Documentos
o http://www.foaf-project.org/
25
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
FOAF – relación con otros vocabularios
26
28/11/12
14
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
FOAF - Evolución
27
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
FOAF - El vocabulario
28
28/11/12
15
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
FOAF - Una parte del modelo
29
Extracto del modelo de FOAF
foaf:Person
foaf:Document
foaf:knows
foaf:Imagefoaf:publications- foaf:firstName- foaf:surname
owl:Thing
foaf:mbox
foaf:Agent
foaf:Group
foaf:Organization
- foaf:familyname
wgs_84:SpatialThing
foaf:based_near
foaf:homepage
foaf:img
foaf:depiction
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
FOAF- modelo e instancias
30
oeg : Asun
foaf : Person
foaf : Document
foaf : knows
foaf : Image foaf : publications - foaf : firstName - foaf : surname
owl : Thing
foaf : mbox
foaf : Agent foaf : Group foaf : Organization
- foaf : familyname
wgs _ 84 : SpatialThing foaf : based _ near
foaf : homepage
foaf : img
oeg : MC foaf : knows
asun @ fi . upm . es
foaf : mbox
http :// oeg - upm . net /
foaf : homepage
foaf : depiction
http ://.../ people / asun _ oeg . png foaf : img
http :// www . springer . com /.../ 978 - 3 - 642 - 24793
foaf : publications foaf : publications
foaf : firstName foaf : surname foaf : firstName
foaf : surname “Mari Carmen”
“Suárez de Figueroa”
“Asunción”
“Gómez-Pérez”
http :// springer . com / … / images / NeOnBook . tif
foaf : depiction
instanceOf instanceOf instanceOf
instanceOf
instanceOf
instanceOf
instanceOf
28/11/12
16
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
RDF de ejemplo instanciación de Foaf
31
XML
Turtle
V-Card– Tarjetas de presentación
• vCard automates the exchange of personal and organization information typically found on a traditional business card.
• RDF Classes: • Vcard • Name • Address • Organisation, • Location • Label • Tel • Email.
32
http://www.w3.org/Submission/vcard-rdf/
28/11/12
17
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejemplo instanciación Vcard
33
vcard:Name
vcard:urlvcard:email
- vcard:given-name- vcard:family-name
owl:Thing
vcard:nvcard:VCard
oeg:Asun
vcard:email
http://oeg-upm.net/
vcard:urlvcard:given-name vcard:family-name
“Asunción” “Gómez”
oeg:AsunNamevcard:n
instanceOf
instanceOfinstanceOf
instanceOf
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
RDF de ejemplo instanciación de VCard
34
XML
Turtle
28/11/12
18
35
foaf:Person
foaf:Document
foaf:knows
foaf:Imagefoaf:publications- foaf:firstName- foaf:surname
owl:Thing
foaf:mbox
foaf:Agent
foaf:Group
foaf:Organization
- foaf:familyname
wgs_84:SpatialThing
foaf:based_near
foaf:homepage
foaf:img
foaf:depiction
vcard:Name
vcard:urlvcard:email
- vcard:given-name- vcard:family-name
owl:Thing
vcard:nvcard:VCard
FOAF VCard
36
vcard:Name
vcard:urlvcard:email
- vcard:given-name- vcard:family-name
owl:Thing
vcard:nvcard:VCard
oeg:Asun
vcard:email
http://oeg-upm.net/
vcard:urlvcard:given-name vcard:family-name
“Asunción” “Gómez”
oeg:AsunNamevcard:n
instanceOfinstanceOf instanceOf
instanceOf
FOAF
VCard
oeg : Asun
foaf : Person foaf : Document
- foaf : firstName - foaf : surname
owl : Thing foaf : mbox
foaf : Agent foaf : Group foaf : Organization
- foaf : familyname
foaf : homepage
asun @ fi . upm . es foaf : mbox
http :// oeg - upm . net / foaf : homepage foaf : firstName foaf : surname
“Asunción”
“Gómez-Pérez”
instanceOf instanceOf
instanceOf
28/11/12
19
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG: Una ontología de organizaciones (W3C) • ORG es una ontología para representar datos de
organizaciones. • Estructura de la organización
• Noción • Sub-organizaciones y unidades • Fin
• Estructura de reporte • Miembros • Roles, • Relaciones entre miembros
• Ubicación • Edificios, direcciones, etc.
• Historia (fusiones, cambios de nombre)
37
http://www.w3.org/TR/vocab-org/
ORG: Una ontología para organizaciones
38
http://www.w3.org/TR/vocab-org/
28/11/12
20
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG: Metadatos
39
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG: Relación con otros vocabularios
40
28/11/12
21
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG - Evolución
41
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG: El vocabulario
42
28/11/12
22
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG - Una parte del modelo
43
Extracto del modelo de ORG
org:Post
org:hasUnit/unitOforg:Organization
org:OrganizationalUnit
foaf:Agent org:membetOf
org:postIn/hasPost
org:headOf
org:holds/heldBy
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG: modelo e instancias
44
instanceOf
instanceOf
instanceOf
instanceOf
instanceOfoeg:Asun
org:Post
org:hasUnit/unitOforg:Organization
org:OrganizationalUnit
foaf:Agent org:memberOf
org:postIn/hasPost
oeg:MCfoaf:knows
http://.../people/asun_oeg.png
foaf:img
foaf:firstNamefoaf:surname foaf:firstName
foaf:surname
“Mari Carmen”
“Suárez de Figueroa”
“Asunción”
“Gómez”
org:headOf
org:holds/heldBy
univEs:UPM
skos:prefLabel
“Universidad Politécnica de
Madrid”
upm:FI
skos:prefLabel
“Facultad de Informática”
fi:DIA
skos:prefLabel
“Departamento de Inteligencia
Artificial”
org:unitOf
org:unitOf
org:memberOf
org:memberOf
org:memberOf org:memberOf
org:memberOf
org:memberOf
org:headOf
fi:15
skos:prefLabel
“Director de departamento”
org:postIn
org:holds/heldBy
instanceOf
28/11/12
23
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG: modelo e instancias – Sintaxis Turtle
45
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
ORG: modelo e instancias – Sintaxis RDF/XML
46
28/11/12
24
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios
• Personas y Organizaciones: FOAF, vCard, ORG • Documentos: DC, BIBO • Geo: puntos, curvas y polígonos • Estadísticas: Data Cube • Bibliotecas: FRBR • Otros vocabularios: sensores, provenance, VOID
5. Ejemplos de Redes de vocabularios en aplicaciones de datos enlazados • Instituto Geográfico Nacional
47
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
DC: The Bibliographic Ontology
• Dublin Core es un ontología para describir recursos mediante metadatos simples y generales (DC terms).
• Subconjunto de 15 elementos (DC elements) reconocidos por IETF RFC 5013, ANSI/NISO Standard Z39.85-2007 y ISO Standard 15836:2009.
• Pensado para ser utilizado junto con otros vocabularios especializados de acuerdo a las necesidades de implementación.
48
• http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms
28/11/12
25
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
DC: Relación con otros vocabularios
49
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
DC: Evolución
50
28/11/12
26
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
DC: El vocabulario
51
126 Elementos
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
DC: Una parte del modelo
52
Extracto del modelo de DC
dc:BibliographicResource
owl:Thingdc:coverage
dc:Agent
dc:LocationPeriodOrJurisdiction
dc:MediaTypeOrExtent
dc:creatordc:contributordc:publisher
dc:descriptiondc:identifier
dc:format
dc:typedc:rights
dc:relationdc:sourcedc:subject
dc:language
dc:LinguisticSystem
dc:RightsStatement
dc:Class
- dc:title
28/11/12
27
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
DC: modelo e instancias
53
oeg:MC
http://www.springer.com/.../978-3-642-24793-4
dc:creatoroeg:Asundc:contributor
stl:Aldo
dc:contributor
kmi:Enricodc:contributor
http://dbpedia.org/page/Springer_Publishing
dc:publisher
terms:title
“Ontology Engineering in a Networked World”
terms:identifier
“978-3-642-24794-1”
terms:created“2012”
dc:BibliographicResource
dc:Agent
- dc:titleinstanceOf
instanceOf
instanceOf
instanceOf
instanceOf
instanceOf
dc:creatordc:contributordc:publisher
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
RDF de ejemplo instanciación de Dublin Core
54
XML
Turtle
28/11/12
28
DC en Protégé
55
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
BIBO: The Bibliographic Ontology
• Bibliographic Ontology (BIBO) para describir datos bibliográficos en la Web
• BIBO can be used as • Ontologia de citas • Clasificación de documentos
56
• bibliontology.com/ • http://purl.org/ontology/bibo/
28/11/12
29
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
BIBO: Relación con otros vocabularios
57
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
BIBO: Evolución
58
28/11/12
30
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
BIBO: El vocabulario
59
189 Elementos
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
BIBO: Una parte del modelo
60
Extracto del modelo de BIBO
bibo:Document
bibo:Article
bibo:Agent bibo:editor
equivalentClass
bibo:Book
bibo:Thesis
bibo:Proceedings
foaf:Agent
28/11/12
31
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
BIBO: modelo e instancias
61
instanceOf
instanceOf
instanceOf
instanceOf
oeg:Asun
bibo:Document
bibo:Articlebibo:Agent
bibo:editor
oeg:MC
http://.../people/asun_oeg.png
foaf:img
foaf:firstNamefoaf:surname
foaf:firstName
foaf:surname
“Mari Carmen”
“Suárez de Figueroa”
“Asunción”
“Gómez”
equivalentClass
springer:978-3-642-24794-1 dc:title“Ontology Engineering in a Networked World”@en
“2012”
bibo:Book
bibo:Thesis
bibo:Proceedings
foaf:Agent
dc:date
“978-3-642-24794-1”
bibo:isbn
“444”
bibo:numPages
kmi:EMotta
foaf:firstName
foaf:surname
“Enrico”
“Motta”
cnr:AGangemi
foaf:firstName
foaf:surname
“Aldo”
“Gangemi”
bibo:editor
bibo:editor bibo:editorbibo:editor
springer:Springer
bibo:publisher
instanceOf
instanceOf
BIBO in Protégé
62
bibliontology.com
28/11/12
32
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
BIBO: modelo e instancias – Sintaxis RDF/XML
64
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios
• Personas y Organizaciones: FOAF, vCard, ORG • Documentos: DC, BIBO • Geo: puntos, curvas y polígonos • Estadísticas: Data Cube • Bibliotecas: FRBR • Otros vocabularios: sensores, provenance, VOID
5. Ejemplos de Redes de vocabularios en aplicaciones de datos enlazados • Instituto Geográfico Nacional
65
28/11/12
33
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Puntos en cartografía: WGS84
• Vocabulario para representar Puntos • latitud • Longitud • @en
• http://www.w3.org/2003/01/geo/
66 Asunción Gómez Pérez
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <geo:Point> <geo:lat> 55.701</geo:lat> <geo:long>12.552</geo:long> </geo:Point> </rdf:RDF>
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Geoes: Modelo de Geometria
67
geoes:ontology/Polygon
geoes: http://geo.linkeddata.es/ geo: http://www.w3.org/2003/01/geo/wgs84_pos#
geoes:ontology/Geometry
geoes:ontology/Curve geo:Point
rdfs:subClassOf rdfs:subClassOf
rdfs:subClassOf
geo:lat geo:long Collection of 2 or more geo:Points Collection of 3 or
more geo:Points
Composed by Composed by
28/11/12
34
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Geoes: curvas
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
69
geoes:resource/Embalse/Embalse%20de%20Orellana
rdf:type
geoes:ontology/Embalse (reservoir)
geo:geometry
otalex:resource/4e994dad1c44d2b50597dd64ddfb
cac30de06d80
-5.498
38.985 geo:lat
geo:long
geoes: http://geo.linkeddata.es/ otalex: http://otalex.linkeddata.es/ geo: http://www.w3.org/2003/01/geo/wgs84_pos#
Embalse de Orellana
rdfs:label
otalex:resource/ 38.984222213320045_-5.49938294416971
otalex:resource/wgs84/38.982575823226234_-5.495821779307
759
geo:
form
adoP
or (c
ompo
sed
by)
otalex:resource/wgs84/38.98531526569159_-5.4985940847130
78
geoes:Polígono (Polygon)
rdf:type
otalex:resource/wgs84/…
69
Geoes: Polígonos
28/11/12
35
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejemplo de RDF
70
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios
• Personas y Organizaciones: FOAF, vCard, ORG • Documentos: DC, BIBO • Geo: puntos, curvas y polígonos • Bibliotecas: • Estadísticas: Data Cube • Descripcion de conjuntos de datos: VOID
5. Ejemplos de Redes de vocabularios en aplicaciones de datos enlazados
6. Conclusiones
71
28/11/12
36
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Bibliotecas: FRBR
Works
Expressions
Manifestations
Obra 1
Obra 2
Obra 3
Expresión1 Expresión 2
Manifestación1 Manifestación2
Specification
Modelling
RDF Generation
Publication
Links Generation
Exploitation
72
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ontología de la BNE: basada en los vocabularios de FRBR
28/11/12
37
Marimba genera RDF
BNE
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios
• Personas y Organizaciones: FOAF, vCard, ORG • Documentos: DC, BIBO • Geo: puntos, curvas y polígonos • Bibliotecas: • Estadísticas: Data Cube • Descripcion de conjuntos de datos: VOID
5. Ejemplos de Redes de vocabularios en aplicaciones de datos enlazados
6. Conclusiones
75
28/11/12
38
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Data cubes
• Un cubo puede se r cons ide rado una ex tens ión multidimensional de tablas 2-D (igual que en geometría un cubo es una extensión tridimensional de un cuadrado)
• El término hiper-cubo se utiliza, en ocasiones, especialmente para los datos con más de tres dimensiones
• Cada dimensión representa algún atributo en la base de datos (como las ventas, los beneficios, los gastos, etc.)
• Las celdas en el cubo de datos representan la medida de interés. Por ejemplo, pueden contener un contador para el número de veces que se produce una combinación de atributo en la base de datos, o el valor mínimo, máximo, la suma o media de algún atributo)
• Las consultas se realizan en el cubo para recuperar información que sirva de apoyo a las decisiones
76
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Data cubes
78
Cubo
Dimensiones
Celdas
28/11/12
39
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Example: Desempleo
79
Dim
ensi
ón (C
CA
A)
Dimensión (Año)
Celdas (Datos de paro registrado)
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
RDF Data Cube: Vocabulario
80
Cubo
Celdas (Datos)
Dimensión
Fenómeno Observado
28/11/12
40
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ejemplo: Data Cube y Desempleo
81
qb:dataSet qb:dataSet
stats:unemployment/Cantabria_2004
stats:unemployment/Canarias_2008
……
rdf:type rdf:type
qb:Observation
stats:unemployment
rdf:type
qb:DataSet
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios
• Personas y Organizaciones: FOAF, vCard, ORG • Documentos: DC, BIBO • Geo: puntos, curvas y polígonos • Bibliotecas • Estadísticas: Data Cube • Otros Vocabularios: sensores, provenance, VOID,
DCAT, … 5. Ejemplos de Redes de vocabularios en aplicaciones
de datos enlazados • Instituto Geográfico Nacional
82
28/11/12
41
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 83
SSN Ontology with other Ontologies
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Provenance
84
RDF Store
PROVENANCE Model (RDF(S))
1
Del proceso • OPM, Provernir, PM, • PROV-O @W3C
Filev1. txt
Revision Process
generatedBy
File.txt
used
Meta-provenance • DC-PROV @ W3C (ongoing) • OAI-ORE
Del Recurso • DC, Premis, SWANL • EDM (including agregation)
creator
rights
creaJonDate
John
12-‐2-‐1900
GPL
28/11/12
42
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
DCAT: Data Catalog Vocabulary
• DCAT es un vocabulario para facilitar la interoperabilidad de catálogos de datos publicados en la web.
• DCAT facilita la tarea de descubrir catálogos de datos y el consumo de metadatos procedentes de distintos catálogos.
• Los principales conceptos descritos en DCAT son: • Catálogo • Record de un catálogo • Conjunto de datos • Distribución • Descarga • Servicio web
85
• http://www.w3.org/TR/vocab-dcat/
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
DCAT: El vocabulario
86
Imagen tomada de http://www.w3.org/TR/vocab-dcat/
28/11/12
43
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
¿Qué es voID?
• vocabulario en RDFS publicado por el W3C
• Permite la descripción de un conjunto de datos RDF
• Facilita el descubrimiento y la utilización del dataset por parte de usuarios potenciales (e.g. agregadores, indexadores, desarrolladores de aplicaciones)
87 Asunción Gómez Pérez
http://www.w3.org/TR/void/
• Metadatos generales: licencia, autor, temática, número de tripletas...
• Métodos de acceso: dirección SPARQL endpoint, ficheros descargables..
• Metadatos de estructura: recursos de ejemplo, patrón de URIs, vocabularios utilizados..
• Linksets (conjuntos de datos a los que enlaza el dataset): describe la propiedad utilizada (e.g. owl:sameAs, skos:closeMatch), la URI del dataset con el que se enlaza, enlaces de ejemplo…
VOID
88
28/11/12
44
BNE VOID
89 Asunción Gómez Pérez
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
adms: Asset Description Metadata Schema
• El vocabulario adms describe conceptos relacionados con la interoperablidiad semántica de recursos.
• Incluye conceptos como “Repositorio de recursos semanticos”, “Recurso semántico” y “Distribución de recursos semánticos” que son especializaciones de conceptos mas generales: Repositorio y Distribución.
• El vocabulario adms ha sido creado en el programa de soluciones de interoperabilidad para las administraciones públicas europeas (ISA: Interoperability solutions for European public administrations) de la comisión europea.
90
• http://www.w3.org/ns/adms#
28/11/12
45
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
adms: El vocabulario
91
Imagen tomada de http://www.w3.org/ns/adms
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios 5. Ejemplos de Redes de vocabularios en
aplicaciones de datos enlazados 6. Conclusiones
92
28/11/12
46
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ontologias de geolinkeddata
93
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Acceso uniforme a BD
OMI
NGCE BCN200 NOMGEO
Lago Ontología de fenómenos
Redes de Ontologías
Lago Lago de Agua dulce Lago de agua salada
SPARQL Endpoints URI: http://geo.linkeddata.es/NGCE/resource/Laguna/Tae%C3%B1a%2C%20Laguna%20de URI: http://geo.linkeddata.es/NGCE/resource/Laguna/Tollos%2C%20Laguna%20de%20los […] URI: http://geo.linkeddata.es/NOMGEO/resource/Laguna/Hilejas%2C%20Laguna%20de%20las URI: http://geo.linkeddata.es/NOMGEO/resource/Laguna/Tejo%2C%20Laguna%20del […] URI: http://geo.linkeddata.es/BCN200/resource/Laguna/Laguna%20de%20Paniagua URI: http://geo.linkeddata.es/BCN200/resource/Laguna/Laguna%20Laguna%20 […]
La respuesta final compuesta por 1.806 URI (38 de NGCE, 1.416 de NOMGEO y 406 de BCN200).
?
28/11/12
47
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
02
- Tipo • NDepresión • Glaciar • Batimétormal • rica - Categoría • Normal • Maestra • Auxiliar - Origen • Desconocido • Restitución • Digitalización • MDT
0201 Curva de nivel
http://mayor2.dia.fi.upm.es/oeg-upm/files/phenomontology/Phenom4.0.1.owl
Ontología de fenónmenos cartográficos
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ontología de Hidrología
Nivel superior
Nivel inferior
28/11/12
48
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Implementación
12
3
4
5
+ Pellet
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ontologias de Geolinkeddata
hasStatisticalData
on
Ontology
Specification
Legend
hydrOntology
4
FAO
FAO Geopolitical ontology
WGS84
4W3C Vocabulary
GML
4GML Specification
O. Statistics
SCOVO
O. Time
W3C Time
hasLat/Long
hasGeometry
hasLat/Long
hasGeometry
hasLocation/isLocated
Thesaurus
UNESCO
4EGM / ERM
GeoNames…
scv:Dimension scv:Item
scv:Dataset
WGS84 Geo Positioning: an RDF
vocabulary hydrographical
phenomena (rivers, lakes, etc.)
Ontology for OGC Geography Markup Language
Vocabulary for instants, intervals, durations, etc.
Names and international code systems for territories and groups
Following the INSPIRE (INfrastructure for SPatial InfoRmation in Europe) recommendation. hydrOntology,SCOVO, FAO Geopolitcal, WGS84, GML, and Time
Classes 33 33
Object Properties 44 44
Data Properties 318 318
reused
28/11/12
49
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Ontologías de datos metereológicos
99
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
1. Introducción 2. Tipos de vocabularios 3. Proceso de Construcción 4. Ejemplos de Vocabularios 5. Ejemplos de Redes de vocabularios en aplicaciones
de datos enlazados 6. Conclusiones
100
28/11/12
50
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Conclusiones
Las AA.PP. deben consensuar qué
vocabularios van a utilizar para describir sus datos y facilitar la
interoperabilidad semántica
Los vocabularios deben ser multilingües
101 Asunción Gómez Pérez
26/11/12
1
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Índice
1. Web de Linked Data: Conceptos Básicos A. Gómez Pérez (30 min)
2. RDF, RDF Schema y SPARQL O. Corcho (90 min)
3. Vocabularios A. Gómez Pérez (90 min)
4. Herramientas de publicación de datos para portales de datos abiertos
O. Corcho (30 min)
1
Herramientas de publicación de datos para portales de
datos abiertos Asunción Gómez-Pérez, Oscar Corcho
Facultad de Informática, Universidad Politécnica de Madrid Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid
http://www.oeg-upm.net [email protected]
Agradecimientos: D. Vila, B. Villazón
Curso en Red.es. 29 de Noviembre de 2012
26/11/12
2
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Metodología de generación y publicación de Linked Data
• El proceso de publicación en Linked Data tiene un modelo de ciclo de vida incremental iterativo
3 3
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
Especificar
Modelar
Generar RDF
Enlazar
Publicar
Explotar
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Metodología
Especificación • Análisis de fuentes de datos • Diseño de URIs • Definición de licencias
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
4
26/11/12
3
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
GeoLinkedData – Análisis de las fuentes de datos
5
Especificación
Índice de producción industrial Provincia
Año
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Diseño de URIs
• Usar URIs “cool”, en lugar de URIs opacas, siempre que sea posible
• Separar URIs de TBox (vocabulario) y ABox (datos). • URI base
http://datos.gob.es/ http://salud.datos.gob.es/
• URIs del vocabulario http://datos.gob.es/ontology/{class|property} http://datos.gob.es/def/{class|property}
• URIs de datos http://datos.gob.es/resource/{individual} http://datos.gob.es/id/{individual} http://datos.gob.es/resource/province/Madrid
6
Especificación
26/11/12
4
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Definición de la licencia
• Múltiples posibilidades • The UK Open Government License • Open Database License • Public Domain Dedication and License • Open Data Commons Attribution License • The Creative Commons Licenses
• También es posible reutilizar y aplicar una licencia existente de las fuentes de datos del gobierno.
• GeoLinkedData: Reutilizamos la licencia original de
las fuentes de datos del gobierno. Las fuentes de datos IGN y INE tienen sus propias liciencias, similares a Attribution-Share Alike 2.5 Generic License
7
Especificación
http://creativecommons.org/licenses/by-sa/2.5/
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Metodología
Generación de RDF • Tomar las fuentes de datos seleccionadas en la
actividad de especificación y transformarlas a RDF de acuerdo con el vocabulario creado en la actividad de modelado
• Algunas herramientas • CSV y hojas de cálculo
• Apache Any23, RDF Refine, XLWrap, RDF123, NOR2O, Tabels
• Bases de datos relacionales • D2R Server, ODEMapster, Morph, W3C
RDB2RDF WG – R2RML • XML
• GRDDL, ReDeFer • http://www.w3.org/wiki/ConverterToRdf
8
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
26/11/12
5
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Industry Production Index
Province
Year
NOR2O
9
Generación GeoLinkedData - Transformación
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
• R2RML es un lenguaje declarativo para describir mapeos entre los esquemas de las bases de datos relacionales y los vocabularios.
10
www.oeg-upm.net/index.php/en/downloads/9-r2o-odempaster
Generación GeoLinkedData - Transformación
26/11/12
6
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
• Creación de los mapeos (todavía no está en R2RML)
11
Generación GeoLinkedData - Transformación
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 12
• Herramienta para la generación de información de geometría en RDF.
• La geometría debe estar disponible en GML o WKT
http://www.oeg-upm.net/index.php/en/downloads/151-geometry2rdf
Generación GeoLinkedData - Transformación
26/11/12
7
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Oracle STO UTIL package
SELECT TO_CHAR(SDO_UTIL.TO_GML311GEOMETRY(geometry)) AS Gml311Geometry
FROM "BCN200"."BCN200_0301L_RIO" c WHERE c.Etiqueta='Arroyo'
13
Generación GeoLinkedData - Transformación
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Generación GeoLinkedData - Transformación
26/11/12
8
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Enlazado
SameAs
15
Generación de enlaces
http://www.geonames.or
g/2521436/
http://geo.linkeddata.es/
.../Azuaga
http://dbpedia.org/resource/Azuaga
SameAs SameAs
DBpedia GeoNames GeoLinked Data
http://otalex.linkeddata.es/.
../Azuaga
SameAs SameAs
Herramienta Silk
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 16
Identificar conjuntos de datos con los que se
puede enlazar
http://ckan.net
Descubrir relaciones entre conjuntos de datos
Silk LIMES
Validar las relaciones descubiertas sameAs Validator
http://aksw.org/Projects/limes http://www4.wiwiss.fu-berlin.de/bizer/silk/
http://oeg-dev.dia.fi.upm.es:8080/sameAs/
Enlazado Generación de enlaces
26/11/12
9
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 17
GeoLinkedData
GeoNames DBPedia
http://sws.geonames.org/
6355233/
http://geo.linkeddata.es/...
/Madrid
http://dbpedia.org/resource/Madrid
….
…. ….
….
….
….
GeoLinkedData - Enlazado Generación de enlaces
owl:sameAs owl:sameAs
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012 18
http://oegdev.dia.fi.upm.es:8080/sameAs/
GeoLinkedData – Validación de enlaces Generación de enlaces
26/11/12
10
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Publicación
SPARQL
Pubby
Linked Data HTML
Virtuoso 6.1.4
Pubby 0.3.3 Incluyendo “provenance”
10.243.266 Tripletas
http://otalex.linkeddata.es/resource/Municipio/Azuaga 19
http://www4.wiwiss.fu-berlin.de/pubby/
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
• Registrar el conjunto de datos en el CKAN Registry • También aplicable a las normas a seguir en el registro de
datos.gob.es
• Generar ficheros sitemap para el conjunto de datos, usando sitemap4rdf
• Enviar el fichero sitemap a Google y Sindice
20
Registro de conjuntos de datos Publicación
http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/DataSets/CKANmetainformation
26/11/12
11
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Visualización Explotación
map4rdf:
• Visor sobre Google maps de recursos RDF • Recursos RDF con información geoespacial
• Usado en otras aplicaciones como AEMET, Goodrelations, GeoLinked Data, El Viajero…
map4rdf
http://oeg-dev.dia.fi.upm.es/projects/map4rdf/
SPARQL
Triplestore
21
Especificar
Modelar
Generar RDF
Publicar
Explotar
Enlazar
http://geo.linkeddata.es/
Especificación
Model
Generación de RDF
7 bases de datos geográficas • Granularidad • Escala • Multilingualidad NOR2O
Geometry2RDF
Geometry column
hasStatisticalData
on
Ontology
Specification
Legend
hydrOntology
4
FAO
FAO Geopolitical ontology
WGS84
4W3C Vocabulary
GML
4GML Specification
O. Statistics
SCOVO
O. Time
W3C Time
hasLat/Long
hasGeometry
hasLat/Long
hasGeometry
hasLocation/isLocated
Thesaurus
UNESCO
4EGM / ERM
GeoNames…
Acceso uniforme a varias bases de datos del IGN
26/11/12
12
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Resumen de algunas iniciativas Fase BNE IGN AEMET PRISA INE
Modelado
Generación de
RDF
Generación de enlaces
Publicación
Explotación 23
Scovo
DataCube SSN ontology
SIOC DC
map4rdf SPARQL
geometry2rdf NOR2O
sitemap4rdf Pubby
MARiMbA
Silk Silk Silk NOR2O
DNB VIAF LIBRIS DBPEDIA
DBPEDIA Geonames
Geolinkeddata.es DBPEDIA Geolinkeddata.es Geolinkeddata.es
hydrontology
Wgs84 time
CSV parser CSV parser NOR2O
Tecnologías Semánticas en la Web de Datos. Red.es. 29 de noviembre de 2012
Mensajes para llevarse a casa • URI
• Seguir guías existentes para la creación de URIs (por ejemplo, las del UK Cabinet Office)
• Reutilizar URIs existentes de fuentes de datos de autoridad
• Modelos • Reutilizar modelos existentes siempre que sea posible • Crear modelos y vocabularios de fuentes de datos de autoridad ya existentes
• Generación • En muchas ocasiones se necesitan herramientas específicas del dominio
• Enlazado • Las herramientas genéricas funcionan generalmente bien • Enlaces a otros conjuntos de datos con…
• Equivalencias (sameAs) • Otros enlances
• Descubrimiento • Además del registro datos.gob.es, utilizar sitemap4rdf para darle información a
los motores de búsqueda, y registrarse en CKAN.
• Utilizar un ciclo iterativo en el desarrollo (varias fases)
24
Municipality Person birthPlace
Dbpedia:cervantes bne:Cervantes sameAs