Date post: | 28-May-2015 |
Category: |
Technology |
Upload: | rafael-ramos |
View: | 603 times |
Download: | 0 times |
Web Semánticay Linked Data
Rafael Ramos - @rrasmoBetabeers Zaragoza
Sumario
● Conceptos● Arquitectura● Estado actual
Conceptos
La Visión
"The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation."
Tim Berners-Lee, James Hendler, Ora Lassila,
The Semantic Web, Scientific American, May 2001
http://www.scientificamerican.com/article/the-semantic-web/
Semántica
● Estudio del significado (?)– Concepto denotado por símbolos
“Oso”
Objeto
SímboloConcepto
Datos
Datos comprensibles por máquinas
Datos que pueden ser procesados
Datos estructurados
Web
● URL– Identificadores universales
● HTTP– Protocolo de transporte
● HTML– Lenguaje de presentación
Hipertexto
Limitaciones de la Web
● Lenguaje natural● Búsqueda imprecisa● Enlaces sin significado
#?*!$
#?*!$
???
Web de Documentos
Web de Datos
Es necesario...
● Formato común● Vocabularios compartidos● Identificadores globales
=> Base de datos global
La Web Semántica
“The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries.”
W3C Semantic Web Activity
http://www.w3.org/2001/sw/
Arquitectura
RDF
● Resource Description Framework
● Modelo de datos
– Almacenamiento
– Intercambio● Se basa en objetos atómicos interconectados
Recursohttp://www.w3.org/RDF/
Triplas
● La estructura básica es la Tripla
– (Sujeto, Predicado, Objeto)● Representa relaciones entre objetos
● Los recursos y los enlaces tienen identificador (URI)
Jua n LuisamigoDe
Grafos
● Las triplas forman grafos
● Nodos
– Recursos● Con URI
– Literales● Sin URI● Siempre son objeto
● Pueden ser distribuidos
Juan
Luis
amigoDe
“Juan”nombre
30edad
Zaragoza
viveEn
URIs
● URIs
– Identificadores globales● Identidad● Localización
● Namespaces
– Parte de la URI que denota un dataset
– Se pueden asociar a prefijos
PREFIX dbpedia: <http://dbpedia.org/resource/>PREFIX foaf: <http://xmlns.com/foaf/0.1/>
dbpedia:Johnny_Cash foaf:name “Johnny Cash”
http://dbpedia.org/resource/Johnny_Cash
Serialización - Turtle
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix dc: <http://purl.org/dc/elements/1.1/> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix s: <http://www.w3.org/2000/01/rdf-schema#> .@prefix con: <http://www.w3.org/2000/10/swap/pim/contact#> .
<http://www.w3.org/People/Berners-Lee/card#i> a foaf:Person ; foaf:img <http://www.w3.org/Press/Stock/Berners-Lee/2001-europaeum-eighth.jpg> ; foaf:name "Tim Berners-Lee" . foaf:knows <http://bblfish.net/people/henry/card#me>,
<http://danbri.org/foaf#danbri> ;
http://www.w3.org/TR/turtle/
Serialización - RDF/XML
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:s="http://www.w3.org/2000/01/rdf-schema#" xmlns:con="http://www.w3.org/2000/10/swap/pim/contact#">
<rdf:Description rdf:about="http://www.w3.org/People/Berners-Lee/card#i"><rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/><foaf:img
rdf:resource="http://www.w3.org/Press/Stock/Berners-Lee/2001-europaeum-eighth.jpg"/>
<foaf:name>Tim Berners-Lee</foaf:name><foaf:knows rdf:resource="http://bblfish.net/people/henry/card#me"/><foaf:knows rdf:resource="http://danbri.org/foaf#danbri"/>
</rdf:Description></rdf:RDF>
http://www.w3.org/TR/rdf-syntax-grammar/
RDFS
● RDF Schema
● Vocabulario para definir esquemas de datos en RDF
– Clases
– Propiedades
● Permite crear jerarquías de clases e imponer restricciones en las propiedades
http://www.w3.org/TR/rdf-schema/
rdfs:Class rdfs:subClassOfrdf:Property rdfs:subPropertyOfrdfs:Literal rdfs:domainrdfs:Resource rdfs:range
Esquemas de datos
dbpedia:Jimmy_Page dbpedia:Hestondbpedia-owl:birthPlace
Place
Artist
Person
rdf:type
rdf:type
birthPlace
rdfs:domainrdfs:range
rdfs:subClassOf
rdf:Propertyrdfs:Class
rdfs:Class
rdf:type
rdf:type rdf:type
T-Box
A-Box
Esquemas de datos
● El esquema de datos forma parte de los datos– Flexibilidad para el cambio
– Datos auto-descriptivos
– Esquemas compartidos
Vocabularios
● Foaf: personas, relaciones sociales
● Dublin Core: metadatos genéricos
● SKOS: organización del conocimiento
● Good Relations: comercio electrónico
● SIOC: comunidades sociales
● …
– Conviene reutilizar y combinar vocabularios existentes
– Se pueden extender fácilmente
SPARQL
● SPARQL Protocol and RDF Query Language
● Lenguaje de consulta para RDF
– Similar a SQL
● Basado en patrones, devuelve datos que encajan
● Protocolo
– Enviar consulta en HTTP GET
– Obtener resultados en respuesta
http://www.w3.org/TR/rdf-sparql-query/
GET /sparql/?query=EncodedQuery HTTP/1.1Host: www.exampleUser-agent: my-sparql-client/0.1
SelectPREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX dbpedia: <http://dbpedia.org/resource/>PREFIX dbpediaowl: <http://dbpedia.org/ontology/>
SELECT ?place ?countryWHERE {
dbpedia:Jimmy_Page dbpedia-owl:birthPlace ?place .?place dbpediaowl:country ?country
}
● Devuelve una lista de valores válidos para cada variable
place country
dbpedia:Heston dbpedia:United_Kingdom
Construct
● Construye un grafo a partir de los valores encontrados
dbpedia:Jimmy_Page
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX dbpedia: <http://dbpedia.org/resource/>PREFIX dbpediaowl: <http://dbpedia.org/ontology/>
CONSTRUCT { dbpedia:Jimmy_Page foaf:based_near ?country}WHERE {
dbpedia:Jimmy_Page dbpedia-owl:birthPlace ?place .?place dbpediaowl:country ?country
}
dbpedia:United_Kingdomfoaf:based_near
Ontologías
● Clasificación de conceptos
“An ontology is an explicit, formal specification of a shared conceptualization”
Thomas R. Gruber: A Translation Approach to Portable Ontology
Specifications.Knowledge Acquisition, 5(2):199-220, 1993.
● Clases, instancias, atributos
● Restricciones sobre clases y propiedades
– Lógica formal
OWL
● Web Ontology Language
● Permite definir ontologías (esquemas de clases) mediante lógica formal
– Clases● Conjunción, Disjunción, Negación...
– Propiedades● Inversas, Transitivas, Funcionales...
● Asunción de Mundo Abierto
– Ausencia de información no implica falsedad
Hombre Humano⊑
Mujer Hombre = ⊓ ∅
owl:unionOf owl:TransitiveProperty owl:cardinalityowl:intersectionOf owl:SymmetricProperty owl:hasValueowl:complementOf owl:FunctionalProperty
owl:InverseFunctionalProperty
Web Semántica
● Datos enlazados● Datos abiertos● Grafo global
● Lógica● Inferencia● Ontologías
Linked Data
● Recomendaciones para publicar datos enlazados en la Web– Usar URIs como identificadores
– Usar URIs HTTP a las que se pueda acceder
– Al acceder a una URI, devolver datos RDF
– Incluir enlaces a otras URIs para poder descubrir más cosas
http://linkeddata.org/
Consideraciones
● Linked Data puede usarse para publicar en la Web o internamente en empresas.
● No es necesario usar toda la pila de estándares.
● No siempre es la opción adecuada (rendimiento, escalabilidad...).
● Puede usarse RDF para exponer los datos, y otra BD para almacenamiento y operaciones.
Estado actual
5-star Open Data
(1) Disponible en la Web con licencia abierta
(2) Formato estructurado (e.g. Excel)
(3) Formato no propietario (e.g. CSV)
(4) Estándares semánticos (RDF, SPARQL)
(5) Enlaces a otros datasets
http://5stardata.info/
Proyectos
● Schema.org– Vocabulario básico de metadatos
● Facebook Open Graph– Integración de páginas HTML+RDFa en Facebook
● Google Rich Snippets– Resultados enriquecidos por metadatos
Herramientas
● Almacenes– Jena, Sesame, Owlim, Virtuoso
● Navegadores– OpenLink Data Explorer, Tabulator, Disco
● Editores– Protégé, TopQuadrant
DBPedia
● Información de Wikipedia en RDF● Datos sacados de InfoBoxes● Disponible como
– Linked Data
– SPARQL
http://dbpedia.org
Preguntas