34
Jose Emilio Labra Gayo - Universidad de Oviedo Aplicaciones RDF Departamento de Informática Universidad de Oviedo Jose Emilio Labra Gayo

24 aplicaciones rdf

Embed Size (px)

DESCRIPTION

Aplicaciones RDF: Almacenamiento. Publicación. RDFa, Microdatos

Citation preview

Page 1: 24 aplicaciones rdf

Aplicaciones RDF

Departamento de Informática

Universidad de Oviedo

Jose Emilio Labra Gayo

Page 2: 24 aplicaciones rdf

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

Page 3: 24 aplicaciones rdf

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)

Page 4: 24 aplicaciones rdf

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

Page 5: 24 aplicaciones rdf

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

Page 6: 24 aplicaciones rdf

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/

Page 7: 24 aplicaciones rdf

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

Page 8: 24 aplicaciones rdf

Jose Emilio Labra Gayo - Universidad de Oviedo

RDF en HTML?

Page 9: 24 aplicaciones rdf

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

Page 10: 24 aplicaciones rdf

Jose Emilio Labra Gayo - Universidad de Oviedo

Incluir RDF como comentarios

Page 11: 24 aplicaciones rdf

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

Page 12: 24 aplicaciones rdf

Jose Emilio Labra Gayo - Universidad de Oviedo

Utilizar <link> para enlazar a un fichero

Page 13: 24 aplicaciones rdf

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

Page 14: 24 aplicaciones rdf

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

Page 15: 24 aplicaciones 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

Page 16: 24 aplicaciones rdf

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

Page 17: 24 aplicaciones rdf

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

Page 18: 24 aplicaciones rdf

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

Page 19: 24 aplicaciones rdf

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

Page 20: 24 aplicaciones rdf

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/

Page 21: 24 aplicaciones rdf

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>

Page 22: 24 aplicaciones rdf

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>

Page 23: 24 aplicaciones rdf

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/

Page 24: 24 aplicaciones rdf

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

Page 25: 24 aplicaciones rdf

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" ] }} ]}

Page 26: 24 aplicaciones rdf

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

Page 27: 24 aplicaciones rdf

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

Page 28: 24 aplicaciones rdf

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>

Page 29: 24 aplicaciones rdf

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

Page 30: 24 aplicaciones rdf

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" ] .

Page 31: 24 aplicaciones rdf

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

Page 32: 24 aplicaciones rdf

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

Page 33: 24 aplicaciones rdf

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/

Page 34: 24 aplicaciones rdf

Jose Emilio Labra Gayo - Universidad de Oviedo

Fin de la Presentación