Post on 02-Feb-2015
description
Aplicaciones RDF
Departamento de Informática
Universidad de Oviedo
Jose Emilio Labra Gayo
Jose Emilio Labra Gayo - Universidad de Oviedo
Componentes de Aplicación
Arquitectura básica de aplicación RDF
Almacén RDF(mezcla)
Motor de consultas
Páginas Web, hojas de cálculo, Bases de datos, etc.
Conversores y scrapers
FicherosRDF
RDF Parsers yserializadores
AplicaciónInterfaz de usuario
Analíticas
FicherosRDF
FicherosRDF
Jose Emilio Labra Gayo - Universidad de Oviedo
Conversores y Scrapers
Conversor: Convierte contenido de otros formatos a RDFExisten herramientas específicas para diferentes dominios
Ejemplos: http://esw.w3.org/topic/ConverterToRdf
Scraper (rascador) obtiene RDF de datos HTMLTécnicas de IA y reconocimiento de lenguaje natural
Ejemplo: Solvent (http://simile.mit.edu/wiki/Solvent)
Jose Emilio Labra Gayo - Universidad de Oviedo
Parsers y serializadores
Parsers: Analizan documentos RDFObtienen representación del modelo RDF (Grafo)
Jena (http://jena.sourceforge.net/) librería Java con diversas utilidades
Serializadores: Generan documentos RDF
NOTA: el documento resultante de leer/escribir el mismo grafo puede ser diferente
Jose Emilio Labra Gayo - Universidad de Oviedo
Almacén RDF
Operación básica: Mezclar modelos RDF
Integración de información en RDF
Métodos de almacenamiento:BD Nativas en RDF
Ejemplo: Sesame (http://www.openrdf.org/)
Jena TDB
BD relacionales con soporte para RDFEjemplo: Oracle 11 da soporte a RDF
Jena SDB
Jose Emilio Labra Gayo - Universidad de Oviedo
Aplicaciones RDF
Varias librerías para diversos lenguajesJena (Java)
SemWeb (http://razor.occams.info/code/semweb/) para .Net
Librería Redland (http://librdf.org/) escrita en C y con adaptadores para Python, Ruby, PHP, etc.
Portales basados en RDFRDF puede aumentar la flexibilidad del modelo de datos
Ejemplos:
http://www.w3.org/2001/sw/sweo/public/UseCases/
Jose Emilio Labra Gayo - Universidad de Oviedo
Motor de consultas: SPARQL
SPARQL (2006): Lenguaje de consulta y protocolo de acceso SQL para RDF
Basado en encaje de patrones sobre grafos
Extensiones no estándar para actualización
Terminales SPARQL (endpoints) permiten hacer consultas a una URI
Jose Emilio Labra Gayo - Universidad de Oviedo
RDF en HTML?
Jose Emilio Labra Gayo - Universidad de Oviedo
Anotación páginas HTML mediante RDF
Problema: Incluir descripciones RDF en páginas HTMLLa sintaxis RDF/XML impide la validación de HTML
Soluciones:Incluir RDF como comentarios
Difícil de generar con las herramientas XML
Fácil para el usuario
Un comentario no deja de ser un comentarioExtender XHTML para incluir RDF
2 formas:Añadirlo sin más XHTML no válido
Extender la DTD de XHTML
Utilizar <link> para enlazar a un fichero RDF externo
Problema: mantenimiento de 2 ficheros independientes
Jose Emilio Labra Gayo - Universidad de Oviedo
Incluir RDF como comentarios
Jose Emilio Labra Gayo - Universidad de Oviedo
Añadir RDF en HTML
<!DOCTYPE html SYSTEM “http://infomesh.net/2002/m12n/test/rdf.txt">
<html xmlns="http://www.w3.org/1999/xhtml“ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“ xml:lang="en" ><head><title>Pagina de Libros</title><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“ xmlns:dc="http://purl.org/dc/elements/1.1/"><rdf:Description rdf:about="http://www.libros.net" dc:subject=“Literatura"/></rdf:RDF>
</head>…
Problema para validar
Jose Emilio Labra Gayo - Universidad de Oviedo
Utilizar <link> para enlazar a un fichero
Jose Emilio Labra Gayo - Universidad de Oviedo
GRDDL
Gleaning Resource Descriptions over Dialects of Languages
Genera RDF a partir de ficheros XML/HTML
Utiliza XSLT para transformar XML/HTML a RDF
Asocia transformaciones XSLT a tipos de documentos
Jose Emilio Labra Gayo - Universidad de Oviedo
Ejemplo en XHTML
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:grddl='http://www.w3.org/2003/g/data-view#' grddl:transformation=“obtener_titulo.xsl http://www.w3.org/2001/sw/grddl-wg/td/getAuthor.xsl" > <head> <title>Are You Experienced?</title> [...] </html>
Pagina.html
obtener_titulo.xsl
…getAuthor.xsl
RDF
Jose Emilio Labra Gayo - Universidad de Oviedo
Ejemplo en HTML con DTDs
Se utiliza el atributo profile (ya existía en HTML 4.02)
<html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://www.w3.org/2003/g/data-view"> <title>Libros</title> <link rel="transformation" href="http://www.w3.org/2000/06/dc-extract/dc-extract.xsl" /> <meta name="DC.Subject" content=“Literatura" /> ...</head> ... </html>
Pagina.html …dc-extract.xslRDF
Jose Emilio Labra Gayo - Universidad de Oviedo
Microformatos
Añade semántica usando atributos de HTML Aplicaciones: eventos, contactos, lugares, etc.
Desarrollo no estándar Aportaciones en wiki: www.microformats.org
Valores predefinidos en atributo class A veces también: id, title, rel y rev
Ejemplo: "Oficina situada en coordenadas 23.4, -1.3" podría codificarse como:
Oficina situada en coordenadas <span class="geo"> <span class="latitude">23.4</span> y <span class="longitude">-1.8</span> </span>
Utiliza la especificación geo
Jose Emilio Labra Gayo - Universidad de Oviedo
Microformatos
Información de contacto utilizando hCard:
<div> <div>Jose Labra</div> <div>Universidad de Oviedo</div> <div>+34-985103394</div> <a href="http://www.di.uniovi.es/~labra"> http://www.di.uniovi.es/~labra</a> </div>
<div class="vcard"> <div class="fn">Jose Labra</div> <div class="org">Universidad de Oviedo</div> <div class="tel">+34-985103394</div> <a class="url" href="http://www.di.uniovi.es/~labra"> http://www.di.uniovi.es/~labra</a> </div>
Sin microformatos:
Con microformatos:hCard
Jose Emilio Labra Gayo - Universidad de Oviedo
Algunas propuestas:XFN (XHTML Friends Network): relaciones de amistad
hCard: personas y organizaciones (basado en vCard)Incluye adr para direcciones postales y geo para lugares geográficos
hCalendar: eventos. Se basa en iCalendar
hAtom: ficheros Atom
hProduct:describir productos
hResume. curriculum vitae de una persona
hReview: revisiones y valoraciones
XOXO: listas
Rel-license: valores de licencias
Microformatos
www.microformats.org
Jose Emilio Labra Gayo - Universidad de Oviedo
RDFa
RDFa, propuesto en 2004 para añadir semántica a documentos XHTML. Recomendación W3c (2008)
Inspirado en microformatos
Se codifican tripletas RDF mediante atributos de HTML
RDFa 1.1 borrador en 2011Intenta facilitar la creación de documentos
Admite prefijos de espacios de nombres
Permite crear perfiles y vocabularios
Jose Emilio Labra Gayo - Universidad de Oviedo
RDFa
Sujeto: se especifica mediante atributo about
Predicado: mediante property, rel, rev
Objetos (URis) mediante href, resource ó src
Literales: mediante content el contenido propio del elemento. Atributo opcional datatype para tipo de datos
Prefix: permite declarar prefijos de espacios de nombres
Vocab: permite declarar vocabularios a utilizar
Herramienta: http://check.rdfa.info/
Jose Emilio Labra Gayo - Universidad de Oviedo
Ejemplo RDFa
<p>En su último libro “La Primavera”, Juan Torre habla sobre la primavera. El libro fue publicado el pasado sábado</p>
@prefix dc: <http://purl.org/dc/elements/1.1/>.
<http://www.libros.com/primavera> dc:title "La Primavera" ; dc:creator "Juan Torre"; dc:date "2012-06-03" .
En Turtle
<p xmlns:dc="http://purl.org/dc/elements/1.1/" about="http://www.libros.com/primavera">En su último libro <span property="dc:title">La Primavera</span>, <span property="dc:creator">Juan Torre</span> habla sobre la primavera. El libro fue publicado el <span property="dc:date" content="2012-06-03">pasado sábado</span>.</p>
Jose Emilio Labra Gayo - Universidad de Oviedo
Ejemplo RDFa (2)
<p>Me llamo Jose Luis Torre, nací el primer día de 1974 y soy Profesor de la Universidad de Oviedo</p>
<div xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:e="http://www.ejemplo.org#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" typeof="foaf:Person" about="[e:juan]"> Me llamo <span property="foaf:name">Juan Luis Torre</span>, nací el <span property="foaf:birthDay" datatype="xsd:dateTime" content="1974-01-01">primer día de 1974</span> y soy profesor de la <span about="[e:uniovi]" typeof="foaf:Organization"
rel="foaf:member" resource="[e:juan]" property="foaf:name" >Universidad de Oviedo</span></div>
Jose Emilio Labra Gayo - Universidad de Oviedo
Herramientas RDFa
RDF-Translator: http://rdf-translator.appspot.com/
Google Rich Snippets Tool:http://www.google.com/webmasters/tools/richsnippets
Sindice Inspector: http://sindice.com/developers/inspector
Check RDFa: http://check.rdfa.info/
RDFa Developer (Extensión de Firefox)
StructuredData.org http://linter.structured-data.org/
RDFa Live loop http://rdfa.digitalbazaar.com/live-loop/
Jose Emilio Labra Gayo - Universidad de Oviedo
Microdatos
Propuestos para HTML5
Enriquecer documentos con valores de vocabulariosGrupos de parejas nombre/valor
Nuevo grupo mediante itemscope
Nombres mediante itemprop
Valores mediante itemtype
Genera JSON
Jose Emilio Labra Gayo - Universidad de Oviedo
Ejemplo
<p>En su último libro “La Primavera”, Juan Torre habla sobre la primavera. El libro fue publicado el pasado sábado </p><p itemscope itemid="http://www.libros.com/primavera" itemtype="http://schema.org/Book"> En su último libro <span itemprop="name">La Primavera</span>, <span itemprop="author">Juan Torre</span> habla sobre la primavera. El libro fue publicado el <time itemprop="datePublished" content="2009-06-03">pasado sábado</time>.</p> { "items": [ { "type": [ "http://schema.org/Book"],
"id": "http://www.libros.com/primavera", "properties": { "author": [ "Juan Torre" ], "name": [ "La Primavera" ], "datePublished": [ "2009-06-03" ] }} ]}
Jose Emilio Labra Gayo - Universidad de Oviedo
Microdatos
Atributo Definición Valores
itemscope Contenedor de microdatosCrea un nuevo grupo de pares nombre/valor
Valor booleano
itemtype Define el tipo de los ítems Lista de URIs
itemid Identificador del ítem URI
itemref Referencia donde se pueden obtener más datos Identificador
itemprop Propiedad a definir Nombre de la propiedad a declarar
Jose Emilio Labra Gayo - Universidad de Oviedo
Microdatos
Los valores de la propiedad definida en itemprop dependen del tipo de elemento:
Elemento Valor
meta Valor de content
a, area, link Valor de href
audio, embed, video, iframe,img, source, track
Valor de src
object Valor de data
data Valor de value
Resto de elementos Contenido textual
Jose Emilio Labra Gayo - Universidad de Oviedo
Ejemplo
<p>Me llamo Jose Luis Torre, nací el primer día de 1974 y soy Profesor de la Universidad de Oviedo</p>
<div itemscope itemtype="http://schema.org/Person"> Me llamo <span itemprop="name">Jose Luis Torre</span>, nací el <time itemprop="date" datetime="1974-01-01">primer día 1974</time> y soy <span itemprop="jobTitle">Profesor</span> de la <span itemscope itemprop="affiliation" itemtype="http://schema.org/Organization"> <span itemprop="name">Universidad de Oviedo</span> </span></div>
Jose Emilio Labra Gayo - Universidad de Oviedo
Schema.org
Conjunto de vocabularios comunes adoptados por Google, Yahoo y BingSigue la línea de sitemaps.org
Se basa en Microdatos
Modelo de datos jerárquicoHerencia universal de Thing
Cada clase contiene una serie de propiedades
Las subclases heredan las propiedades de las clases
Jose Emilio Labra Gayo - Universidad de Oviedo
Ejemplo de oferta<div itemscope itemtype="http://schema.org/Offer" itemid="http://ejemplo.org/Oferta24"> <h1 itemprop="name">Batidora</h1> <p>Precio: <span itemprop="price">19.95€</span> <p itemscope itemprop="reviews" itemtype="http://schema.org/AggregateRating"> Puntuación: <span itemprop="ratingValue">3</span> sobre <span itemprop="bestRating">5</span>. Basado en <span itemprop="ratingCount">25</span> usuarios </p></div>@prefix s: <http://schema.org/> .
<http://ejemplo.org/Oferta24> a s:Offer; s:name "Batidora"; s:price "19.95€"; s:reviews [ a s:AggregateRating; s:bestRating "5"; s:ratingCount "25"; s:ratingValue "3" ] .
Jose Emilio Labra Gayo - Universidad de Oviedo
Schema.org
Jerarquía (http://schema.org/docs/full.html)
DatatypeBoolean, Number (float,integer), Date, Text (url)Thing (propiedades: name, description, image, url)CreativeWork (Book, Movie, MusicRecorging, Recie, TVSeries, …)EventOrganizationPersonPlaceProductReview
Jose Emilio Labra Gayo - Universidad de Oviedo
Herramientas para microdatos
RDF-Translator: http://rdf-translator.appspot.com/
Google Rich Snippets Tool:http://www.google.com/webmasters/tools/richsnippets
LiveMicrodata: http://foolip.org/microdatajs/live/
StructuredData.org http://linter.structured-data.org/
Any23: http://any23.org/
Sindice Inspector:http://sindice.com/developers/inspector
Jose Emilio Labra Gayo - Universidad de Oviedo
Aplicaciones
Facebook Open Graph Protocol Utiliza RDFa
Drupal 7: Soporte para RDFa
GoodRelations: http://www.heppnetz.de/projects/goodrelations/Posicionamiento semántico (Semantic SEO)
Originalmente RDFa, ahora admite Microdatos
Adoptado por Overstock, BestBuy, …
LinkedOpenCommercehttp://linkedopencommerce.com/
Jose Emilio Labra Gayo - Universidad de Oviedo
Fin de la Presentación