Web Semántica y Linked
Data: La Web como BD
Alvaro Graves
Email: alvaro@graves.cl
Twitter: @alvarograves
Parte I: Principios básicos
¿Qué es la Web Semántica?

Extensión de la Web tradicional


Red de cosas (“recursos”), no documentos


Máquinas como ciudadanos de primera clase
¿Cómo describir
información sobre
cosas en la Web?
                       Y cómo hacer que las
                      máquinas la puedan usar

         (Pssst: Usando RDF)
RDF (Resource Description Framework)




   Alvaro’s homepage is http://graves.cl
RDF (Resource Description Framework)




   Alvaro’s homepage is http://graves.cl
   Sujeto       Predicado              Objeto
RDF triple


                 homepage
        Alvaro              http://graves.cl
Grafo RDF


                homepage
       Alvaro               http://graves.cl


                 email
                           alvaro@graves.cl
Grafo RDF

                homepage
       Alvaro              http://graves.cl


                 email
                           alvaro@graves.cl


                  conoce
                              Eduardo
Grafo RDF
               conoce
                             Ubaldo

            homepage
   Alvaro               http://graves.cl


             email
                        alvaro@graves.cl


                                           conoce
              conoce
                           Eduardo
¿Cómo llamamos a
lo que llamamos
(en la Web)?
URI (Universal Resource Identifier)

 Similar a una URL
   No es “locator”, sino “identifier”
     “Una patente identifica un auto, pero no lo localiza”
 HTTP URIs
   Identifica funcionalmente un recurso en la Web
   Una URI identifica sólo una cosa
Todo se identifica con una URI
 URIs
   Mi página: http://graves.cl
   Yo http://alvaro.graves.cl
 URIs también son para predicados
   Ej: Angelina Jolie sabe actuar
   Ej: El helado sabe a chocolate
 CURIE: http://example.org/xyz se puede escribir como
 PREFIX ex: <http://example.org/>
 ex:xyz
Blank nodes

A veces no podemos (o no queremos) identificar
universalmente algún recurso
  Ej. Yo tengo un amigo que vive en Santiago
  Blank nodes identifica un recurso localmente (no
  globalmente)
Literales
 Valores se definen como strings
 Pueden ser tipados
 Pueden estar en un idioma


                               apellido
     http://alvaro.graves.cl              "Graves"
RDF per se define una
sintaxis de grafo, pero
provee poca semántica


                       (Se necesitan más
                 vocabularios y ontologías)
RDFS (RDF Schema)

Define concepto de clase (y subclase)
Define concepto de propiedad (y subpropiedad)
Ej.
<http://alvaro.graves.cl> rdf:type foaf:Person .
      foaf:Person rdfs:subClassOf rdfs:Class .
Vocabularios y Ontologías


Vocabulario: Define un conjunto de términos para
describir un dominio
Ontología: Modelo formal de una parte del mundo
La distinción es cuán expresivo es el modelo
Ejemplo: FOAF
Friend-of-a-Friend (FOAF) modela relaciones sociales
Namespace: http://xmlns.com/foaf/0.1/
Clase: foaf:Person
Propiedades
  Primer nombre: foaf:firstName
  Apellido: foaf:lastName
  Conoce a: foaf:knows
Vocabularios comunes

FOAF (redes sociales)
SIOC (comunidades online)
Dublin Core (Metadatos en general)
OWL (Metaontología)
Dominio y Rango
Similar a las funciones matemáticas

  Dominio: De qué clase “sale” esta propiedad

  Rango: A qué clase “llega” esta propiedad
                                                          ex:Robin
foaf:knows tiene dominio y rango foaf:Person

  Si X foaf:knows ex:Batman                      foaf:knows

      => X rdf:type foaf:Person

  Si ex:Robin foaf:knows Y
                                                ex:Batman
     => Y rdf:type foaf:Person
OWL (Web Ontology Language)
Provee restricciones lógicas
Sirve para expresar cosas como
Una persona tiene exactamente una madre y
exactamente un padre
Predicado “ex:madreDe” es inverso de “ex:tieneMadre”
Parte II: Linked Data
The novelty of the Semantic
Web is not the “semantic”
but the “web”
                Frank Van Harmelen


A little semantics goes a
long way
                    Jim Hendler
Linked Data
“Buenas prácticas” para la Web Semántica
  Identificar URIs
  Proveer HTTP URIs de manera de poder referenciar
  en la Web
  Proveer información útil (para humanos y máquinas)
  al derreferencear
  Enlazar a otras URIs relacionadas
Linked Data cloud (2007)
Linked Data cloud (2008)
Linked Data cloud (2009)
Linked Data cloud (2010)
Linked Data cloud (2011)
Linked Data cloud

Usar y compartir miles de millones de datos
disponibles en la Web
Mecanismos estándar para acceder a ellos
Mecanismo estándar para explorar y descubrir más
datos
¿Cómo publicar Linked Data?
URIs dereferenceables
  Por ejemplo http://lodspeakr.org :-)
  RDF/XML, Turtle, NTriples, RDFJSON
SPARQL endpoints
  Fuseki, 4Store, Virtuoso
RDFa (RDF “embebido” en HTML)
  Drupal
Turtle

@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<http://alvaro.graves.cl>
    a foaf:Person ;
    owl:sameAs <http://tw.rpi.edu/instances/AlvaroGraves> ;
    foaf:depiction <http://tw.rpi.edu/wiki.tw/images/2/21/Alvaro.jpg> ;
    foaf:family_name "Graves" ;
    foaf:givenname "Alvaro" .
RDF/XML
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:foaf="http://xmlns.com/foaf/0.1/"
   xmlns:owl="http://www.w3.org/2002/07/owl#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <foaf:Person rdf:about="http://alvaro.graves.cl">
    <owl:sameAs rdf:resource="http://tw.rpi.edu/instances/
AlvaroGraves"/>
    <foaf:depiction rdf:resource="http://tw.rpi.edu/wiki.tw/images/
2/21/Alvaro.jpg"/>
    <foaf:family_name>Graves</foaf:family_name>
    <foaf:givenname>Alvaro</foaf:givenname>
  </foaf:Person>
</rdf:RDF>
Triple Stores
 Bases de datos que soportan RDF (grafos dirigidos
 con etiquetas
   AllegroGraph
   Virtuoso
   Joseki/Fuseki
   4store
   Muchos otros....
Lenguaje de consulta: SPARQL
 DIsponible en triple stores (tambien en RDBMS)
 SPARQL 1.1: Permite expresiones regulares sobre
 predicados
PREFIX ex: <http://example.org/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?x ?apellido WHERE{
?x a foaf:Person ;
   foaf:familyName ?apellido;
   foaf:name 'Juan';
   foaf:knows ex:pedro .
}
Idea: ¿Y si dejamos una
base de datos abierta para
que cualquiera pueda
ejecutar consultas?
SPARQL endpoints
DBpedia - http://dbpedia.org/sparql
Data.gov - http://semantic.data.gov/sparql
Data.gov.uk - http://data.gov.uk/sparql
DrugBank - http://www4.wiwiss.fu-berlin.de/drugbank/sparql
LOGD - http://logd.tw.rpi.edu/sparql
Biblioteca del Congreso de Chile - http://datos.bcn.cl/sparql
HTML+RDFa
 <p about="http://alvaro.graves.cl">
 My name is <span property=”foaf:name”>Alvaro
 Graves</span>.
 I'm a PhD student in <a
 rel="foaf:schoolHomepage" href="http://
 www.rpi.edu">Rensselaer Polytechnic
 Institute</a>.
 </p>



        Tu sitio == Tu API
Beneficios de RDFa


Fácil de usar si existen templates
No hay que administrar algo nuevo
Mejora el SEO (BestBuy, Schema.org)
....Pero yo uso una RDBMS


Existen herramientas para mapear schemas
relacionales y publicar datos en RDF
  Triplify
  D2R
De RDF a Linked Data

Difícil: Enlazar correctamente
Uso de predicados
  owl:sameAs
  skos:broader / skos:narrower
  rdfs:seeAlso
  dcterms:related
  foaf:primaryTopicOf / foaf:primaryTopic
De RDF a Linked Data (2)
  Enlazar a URIs de múltiples datasets


PREFIX : <http://logd.tw.rpi.edu/id/us/state/>
PREFIX dbpedia: <http://dbpedia.org/resources/>
PREFIX cyc: <http://sw.opencyc.org/concept/>
PREFIX cyc: <http://rdf.freebase.com/ns/m/>


:Wyoming owl:sameAs dbpedia:Wyoming,

                    cyc:Mx4rvViOeZwpEbGdrcN5Y29ycA,

                    fb:0846v .
Parte III: Aplicaciones
Publicación de datos
científicos
Problemas actuales implican trabajos multi/inter/trans
disciplinarios
  Ej. No existe un científico que estudie el Cambio
  Climático
  Si existen geólogos, biólogos, químicos,
  economistas, etc.
¿Cómo compartir datos e información entre
comunidades tan diversas?
IBM Watson
Meta: Ganar a los mejores del
mundo en Jeopardy!
  Jeopardy presenta una
  respuesta, se contesta una
  pregunta
Watson usó tecnologías
semánticas (entre otras) para
entender las preguntas
BestBuy

Uno de los retail tecnológicos
más grandes en USA
Meta: aumentar visibilidad de
productos
Uso de RDFa en las páginas
de sus productos aumentó en
30% el tráfico en su sitio
Vocabulario Top-down creado por Google, Yahoo! y
Bing
Permite describir entidades en una página
(restaurantes, personas, episodio de TV, etc.)
Soporte de Microdata y RDFa 1.1
Búsqueda de expertise
en NASA
Problema: Necesidad de ubicar
expertos en NASA
  3 proyectos previos (autorreporte
  de expertise) fallaron
Uso de SemWeb para integrar datos
extraídos de multiples bases de
datos
Sistema: 300K + 20K/año
Ahorro de 38M USD en costos
Linking Open Government
Data (LOGD)
Mayo 2009: Data.gov
  Primer portal de datos
  abiertos
Hoy: > 400.000 datasets
  Calidad de datos: De todo
  tipo
LOGD: Convertir datos a
RDF y enlazar a LOD cloud     http://logd.tw.rpi.edu
Datos tabulares a RDF
2 procesos

Conversión automática
  Rápida, fácil, representación de baja calidad
Conversión manual
  Curación humana, representación de alta calidad
Demos
Presupuesto + NYT
Seguridad pública
Detección de errores
Conclusiones
La Web Semántica no es el futuro
  Está siendo usada ahora para resolver problemas
  actuales
Facilita la integración, exploración y compartir datos
Reduce barreras de entradas
  “SemWeb no hace más cosas, sino que las hace
  más fácil”
Muchas Gracias
Alvaro Graves
  WWW: http://graves.cl
  Email: alvaro@graves.cl
  Twitter: @alvarograves
LODSPeaKr
  http://lodspeakr.org
LOGD
  http://logd.tw.rpi.edu

Web semántica y linked data la web como bd

  • 1.
    Web Semántica yLinked Data: La Web como BD Alvaro Graves Email: alvaro@graves.cl Twitter: @alvarograves
  • 2.
  • 3.
    ¿Qué es laWeb Semántica? Extensión de la Web tradicional Red de cosas (“recursos”), no documentos Máquinas como ciudadanos de primera clase
  • 4.
    ¿Cómo describir información sobre cosasen la Web? Y cómo hacer que las máquinas la puedan usar (Pssst: Usando RDF)
  • 5.
    RDF (Resource DescriptionFramework) Alvaro’s homepage is http://graves.cl
  • 6.
    RDF (Resource DescriptionFramework) Alvaro’s homepage is http://graves.cl Sujeto Predicado Objeto
  • 7.
    RDF triple homepage Alvaro http://graves.cl
  • 8.
    Grafo RDF homepage Alvaro http://graves.cl email alvaro@graves.cl
  • 9.
    Grafo RDF homepage Alvaro http://graves.cl email alvaro@graves.cl conoce Eduardo
  • 10.
    Grafo RDF conoce Ubaldo homepage Alvaro http://graves.cl email alvaro@graves.cl conoce conoce Eduardo
  • 11.
    ¿Cómo llamamos a loque llamamos (en la Web)?
  • 12.
    URI (Universal ResourceIdentifier) Similar a una URL No es “locator”, sino “identifier” “Una patente identifica un auto, pero no lo localiza” HTTP URIs Identifica funcionalmente un recurso en la Web Una URI identifica sólo una cosa
  • 13.
    Todo se identificacon una URI URIs Mi página: http://graves.cl Yo http://alvaro.graves.cl URIs también son para predicados Ej: Angelina Jolie sabe actuar Ej: El helado sabe a chocolate CURIE: http://example.org/xyz se puede escribir como PREFIX ex: <http://example.org/> ex:xyz
  • 14.
    Blank nodes A vecesno podemos (o no queremos) identificar universalmente algún recurso Ej. Yo tengo un amigo que vive en Santiago Blank nodes identifica un recurso localmente (no globalmente)
  • 15.
    Literales Valores sedefinen como strings Pueden ser tipados Pueden estar en un idioma apellido http://alvaro.graves.cl "Graves"
  • 16.
    RDF per sedefine una sintaxis de grafo, pero provee poca semántica (Se necesitan más vocabularios y ontologías)
  • 17.
    RDFS (RDF Schema) Defineconcepto de clase (y subclase) Define concepto de propiedad (y subpropiedad) Ej. <http://alvaro.graves.cl> rdf:type foaf:Person . foaf:Person rdfs:subClassOf rdfs:Class .
  • 18.
    Vocabularios y Ontologías Vocabulario:Define un conjunto de términos para describir un dominio Ontología: Modelo formal de una parte del mundo La distinción es cuán expresivo es el modelo
  • 19.
    Ejemplo: FOAF Friend-of-a-Friend (FOAF)modela relaciones sociales Namespace: http://xmlns.com/foaf/0.1/ Clase: foaf:Person Propiedades Primer nombre: foaf:firstName Apellido: foaf:lastName Conoce a: foaf:knows
  • 20.
    Vocabularios comunes FOAF (redessociales) SIOC (comunidades online) Dublin Core (Metadatos en general) OWL (Metaontología)
  • 21.
    Dominio y Rango Similara las funciones matemáticas Dominio: De qué clase “sale” esta propiedad Rango: A qué clase “llega” esta propiedad ex:Robin foaf:knows tiene dominio y rango foaf:Person Si X foaf:knows ex:Batman foaf:knows => X rdf:type foaf:Person Si ex:Robin foaf:knows Y ex:Batman => Y rdf:type foaf:Person
  • 22.
    OWL (Web OntologyLanguage) Provee restricciones lógicas Sirve para expresar cosas como Una persona tiene exactamente una madre y exactamente un padre Predicado “ex:madreDe” es inverso de “ex:tieneMadre”
  • 23.
  • 24.
    The novelty ofthe Semantic Web is not the “semantic” but the “web” Frank Van Harmelen A little semantics goes a long way Jim Hendler
  • 25.
    Linked Data “Buenas prácticas”para la Web Semántica Identificar URIs Proveer HTTP URIs de manera de poder referenciar en la Web Proveer información útil (para humanos y máquinas) al derreferencear Enlazar a otras URIs relacionadas
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
    Linked Data cloud Usary compartir miles de millones de datos disponibles en la Web Mecanismos estándar para acceder a ellos Mecanismo estándar para explorar y descubrir más datos
  • 32.
    ¿Cómo publicar LinkedData? URIs dereferenceables Por ejemplo http://lodspeakr.org :-) RDF/XML, Turtle, NTriples, RDFJSON SPARQL endpoints Fuseki, 4Store, Virtuoso RDFa (RDF “embebido” en HTML) Drupal
  • 33.
    Turtle @prefix foaf: <http://xmlns.com/foaf/0.1/>. @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . <http://alvaro.graves.cl> a foaf:Person ; owl:sameAs <http://tw.rpi.edu/instances/AlvaroGraves> ; foaf:depiction <http://tw.rpi.edu/wiki.tw/images/2/21/Alvaro.jpg> ; foaf:family_name "Graves" ; foaf:givenname "Alvaro" .
  • 34.
    RDF/XML <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:admin="http://webns.net/mvcb/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <foaf:Person rdf:about="http://alvaro.graves.cl"> <owl:sameAs rdf:resource="http://tw.rpi.edu/instances/ AlvaroGraves"/> <foaf:depiction rdf:resource="http://tw.rpi.edu/wiki.tw/images/ 2/21/Alvaro.jpg"/> <foaf:family_name>Graves</foaf:family_name> <foaf:givenname>Alvaro</foaf:givenname> </foaf:Person> </rdf:RDF>
  • 35.
    Triple Stores Basesde datos que soportan RDF (grafos dirigidos con etiquetas AllegroGraph Virtuoso Joseki/Fuseki 4store Muchos otros....
  • 36.
    Lenguaje de consulta:SPARQL DIsponible en triple stores (tambien en RDBMS) SPARQL 1.1: Permite expresiones regulares sobre predicados PREFIX ex: <http://example.org/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?x ?apellido WHERE{ ?x a foaf:Person ; foaf:familyName ?apellido; foaf:name 'Juan'; foaf:knows ex:pedro . }
  • 37.
    Idea: ¿Y sidejamos una base de datos abierta para que cualquiera pueda ejecutar consultas?
  • 38.
    SPARQL endpoints DBpedia -http://dbpedia.org/sparql Data.gov - http://semantic.data.gov/sparql Data.gov.uk - http://data.gov.uk/sparql DrugBank - http://www4.wiwiss.fu-berlin.de/drugbank/sparql LOGD - http://logd.tw.rpi.edu/sparql Biblioteca del Congreso de Chile - http://datos.bcn.cl/sparql
  • 39.
    HTML+RDFa <p about="http://alvaro.graves.cl"> My name is <span property=”foaf:name”>Alvaro Graves</span>. I'm a PhD student in <a rel="foaf:schoolHomepage" href="http:// www.rpi.edu">Rensselaer Polytechnic Institute</a>. </p> Tu sitio == Tu API
  • 40.
    Beneficios de RDFa Fácilde usar si existen templates No hay que administrar algo nuevo Mejora el SEO (BestBuy, Schema.org)
  • 41.
    ....Pero yo usouna RDBMS Existen herramientas para mapear schemas relacionales y publicar datos en RDF Triplify D2R
  • 42.
    De RDF aLinked Data Difícil: Enlazar correctamente Uso de predicados owl:sameAs skos:broader / skos:narrower rdfs:seeAlso dcterms:related foaf:primaryTopicOf / foaf:primaryTopic
  • 43.
    De RDF aLinked Data (2) Enlazar a URIs de múltiples datasets PREFIX : <http://logd.tw.rpi.edu/id/us/state/> PREFIX dbpedia: <http://dbpedia.org/resources/> PREFIX cyc: <http://sw.opencyc.org/concept/> PREFIX cyc: <http://rdf.freebase.com/ns/m/> :Wyoming owl:sameAs dbpedia:Wyoming, cyc:Mx4rvViOeZwpEbGdrcN5Y29ycA, fb:0846v .
  • 44.
  • 45.
    Publicación de datos científicos Problemasactuales implican trabajos multi/inter/trans disciplinarios Ej. No existe un científico que estudie el Cambio Climático Si existen geólogos, biólogos, químicos, economistas, etc. ¿Cómo compartir datos e información entre comunidades tan diversas?
  • 46.
    IBM Watson Meta: Ganara los mejores del mundo en Jeopardy! Jeopardy presenta una respuesta, se contesta una pregunta Watson usó tecnologías semánticas (entre otras) para entender las preguntas
  • 47.
    BestBuy Uno de losretail tecnológicos más grandes en USA Meta: aumentar visibilidad de productos Uso de RDFa en las páginas de sus productos aumentó en 30% el tráfico en su sitio
  • 48.
    Vocabulario Top-down creadopor Google, Yahoo! y Bing Permite describir entidades en una página (restaurantes, personas, episodio de TV, etc.) Soporte de Microdata y RDFa 1.1
  • 49.
    Búsqueda de expertise enNASA Problema: Necesidad de ubicar expertos en NASA 3 proyectos previos (autorreporte de expertise) fallaron Uso de SemWeb para integrar datos extraídos de multiples bases de datos Sistema: 300K + 20K/año Ahorro de 38M USD en costos
  • 50.
    Linking Open Government Data(LOGD) Mayo 2009: Data.gov Primer portal de datos abiertos Hoy: > 400.000 datasets Calidad de datos: De todo tipo LOGD: Convertir datos a RDF y enlazar a LOD cloud http://logd.tw.rpi.edu
  • 51.
  • 52.
    2 procesos Conversión automática Rápida, fácil, representación de baja calidad Conversión manual Curación humana, representación de alta calidad
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
    Conclusiones La Web Semánticano es el futuro Está siendo usada ahora para resolver problemas actuales Facilita la integración, exploración y compartir datos Reduce barreras de entradas “SemWeb no hace más cosas, sino que las hace más fácil”
  • 58.
    Muchas Gracias Alvaro Graves WWW: http://graves.cl Email: alvaro@graves.cl Twitter: @alvarograves LODSPeaKr http://lodspeakr.org LOGD http://logd.tw.rpi.edu