SlideShare una empresa de Scribd logo
WEB APPS: CONSUMIENDO
              LINKED DATA
                              Ing. Jorge López Vargas
                               jalopez2@utpl.edu.ec
                                        I3C2




lunes 18 de octubre de 2010
AGENDA


   • Web            Semántica
   • Framework                 para la descripción de recursos (RDF)
   • SPARQL

   • Linked             Data


lunes 18 de octubre de 2010
WEB SEMÁNTICA
La Web Actual:

                                 web de documentos
              ML is
           HT tax
            Sin                          diseñada para seres humanos

           millones de documentos

                          computadoras ayudan a buscar

lunes 18 de octubre de 2010
WEB SEMÁNTICA
    extensión de la web actual

                                    web de datos

                                       descripción semántica de recursos

permite una mejor colaboración computadores y
humanos

                              web para computadores

lunes 18 de octubre de 2010
WEB SEMÁNTICA

   • Un  esfuerzo por convertir a la Web actual en
      una base de datos descentralizada gigante.
   • Entendiblepor seres humanos y por
      computadores
   • Es necesario: representar y manipular el
      conocimiento - RDF

lunes 18 de octubre de 2010
RESOURCES DESCRIPTION
                FRAMEWORK
      The Resource Description Framework (RDF) is a
      language designed to support the Semantic Web,
      in much the same way that HTML is the language
      that helped initiate the original Web. RDF is a
      framework for supporting resource description, or
      metadata (data about data), for the Web. RDF
      provides common structures that can be used for
      interoperable XML data exchange.

lunes 18 de octubre de 2010
RESOURCES DESCRIPTION
                FRAMEWORK
   • RDF        es:

       • Parte        de la Web Semántica - representa el conocimiento

       • Un      modelo de datos que permite establecer relaciones

       • Funciona             bien para información distribuida

       • Un      método para descomponer información en piezas (S,P,O)

   • RDF        no es XML. RDF representa conocimiento, XML datos

lunes 18 de octubre de 2010
RDF ELEMENTOS

   • Tripleta           RDF

       • Sujeto: Lo           que se esta describiendo

       • Predicado: Una            relación, una propiedad

       • Objeto: Valor           o un sujeto

    “El título del artículo es Problemas con Jena y Google App
                                Engine”

lunes 18 de octubre de 2010
RDF CARACTERÍSTICAS

   • Cada   tripleta se construye con: sujeto, predicado y
      objeto
   • Cada          tripleta es completa y un hecho único
   • Todo   es univocamente identificado con una URI
      (Uniform Resource Identifier)
   • Cada          tripleta se puede unir a otras, pero sigue siendo
      única

lunes 18 de octubre de 2010
RDF URI

   • La  necesidad de acceder a un objeto específico dado un
      único nombre o identificador

   • Provee  una sintaxis común para nombrar recursos
      (independiente del protocolo)

   • URL        (Uniform Resource Locators) instancia URI

   • No       implica la existencia física (páginas html por ejemplo)

                              http://dbpedia.org/page/Ecuador
lunes 18 de octubre de 2010
RDF REPRESENTACIÓN
   Grafo RDF (Seres humanos)




   RDF/XML (W3C Estándar)(Computadores)




lunes 18 de octubre de 2010
RDF REPRESENTACIÓN
   Grafo RDF (Seres humanos)




   RDF/XML (W3C Estándar)(Computadores)




lunes 18 de octubre de 2010
RDF MODELADO




lunes 18 de octubre de 2010
RDF MODELADO




lunes 18 de octubre de 2010
RDF MODELADO




lunes 18 de octubre de 2010
LENGUAJES DE MODELADO
   •   Vocabularios

       •   RDF

   •   Ontologías

       •   RDFSchema: clases, jerarquías, dominios rangos y tipos de datos

       •   Owl: cardinalidad, restricciones, inferencias

       •   Mayor expresividad que RDF

   •   A mayor expresividad mayor razonamiento complejo

lunes 18 de octubre de 2010
ALGUNOS VOCABULARIOS
   •   Foaf

   •   Dublin core
                                                               nd ata)
   •   GeneOntology
                                                   dia) ing ope
                                                ape ink
   •   GeoNames                              hem as (L
                                          (Sc plet
                                    257 s tri
   •   CiteSeer                 tros illone
                              O b
   •   BBC
                               13.1

   •   DBLP

lunes 18 de octubre de 2010
EJERCICIO


   • Elabore         un Grafo RDF que modele los siguientes tablas:

       • Empresa              (Nombre, dirección, teléfono, página web)

       • Departamento(Nombre, empleado                   responsable)

       • Empleado              (Cédula, apellidos, nombres, email)



lunes 18 de octubre de 2010
SPARQL


   • Protocol                 And RDF Query Language

   • Lenguaje             de consulta para RDF

   • Idea       principal: coincidencia de patrones en un Grafo RDF

       • Obtenemos               subgrafos que coinciden con los patrones


lunes 18 de octubre de 2010
EJEMPLO CONSULTA
                      !"#$%&'()"*+,-)#*(&)*&./0123
              !"#$%&'()"*+,-)#*(&)*&./0123
!"#$%#&
                     !"#$%&'()"*+,-)#*(&)*&./0123
'$()*+ ./01234&2,$"5&36(7,67$&%*"&189&+6)6
     !
 !"#$%#&
  '$()*+                      $&4+56)#
       4))567788877/"2589(:#$
     ! :6#(&#+$64&;6))$"(&<6)-=#(7     4))56778887./01(2/
                                                                  $&4+56)#
                  4))567788877/"2589(:#$                                 4))56778887./01(2/
           )+0(?5@$")5%/2333333333333333333333333333333333 33333333333333333$&4+56)#
                !    8$>-"#?$&>,?7"6;=>&*%&)=$&@,$"#$+&189&7"6;=
              )+0(?5@$")5%/2333333333333333333333333333333333 33333333333333333$&4+56)#
                           ;<==>;                    4)567788877/"258@52(
                !    .,?7"6;=>&)=6)&<6)-=&5*,"&+$>-"#;)#*(&5#$A+&6&"$>,A)
                 !              ;<==>;            4)567788877/"258@52(
                     :$6(4&7"6;=&;6))$"(>&B#C$C&189&7"6;=>&DE&F6"#6?A$>G

                                           ,-        3333333$&4+56)#
                                                      !" )))))))*+,-./01
  A#?"05?+                                                           4))56778887./01(2/
                                                                               =));4DDCCCD#$%&'($
                     ,-                            ,-       3333333$&4+56)#
   !
       A#?"05?+
  4))567788877/"2589(:#$
       !                                                                      4))56778887./01(2/
                 ,-
  4))567788877/"258@52(
       !
       4))567788877/"2589(:#$
#$%!&''(!)*+,-./0!12,3!+,!%,45*67!8.497:!;/+/!,4!+<7!$7=1
 lunes 18 de octubre de 2010
     "#$%!&''(!)*+,-./0!12,3!+,!%,45*67!8.497:!;/+/!,4!+<7!$7=1
ANATOMÍA DE UNA CONSULTA
   Prefijos                    PREFIX foo: <…>
   (opcional)                 PREFIX bar: <…>
                              …
                              SELECT …            Resultados consulta
Origen de datos               FROM <…>
(opcional)                    FROM NAMED <…>
                              WHERE {
                                …             Patrón de consulta
                              }
                              GROUP BY …
 Modificadores                 HAVING …
 consulta                     ORDER BY …
 (opcional)                   LIMIT …
                              OFFSET …
                              BINDINGS …
lunes 18 de octubre de 2010
TIPOS DE CONSULTAS
          SELECT!"#$%&$'                                               CONSTRUCT!"#$%&$'
                  !"#$%&'(#)'(*+%&,-&(./",/01%*(/23(%4+"%**,#2*5                                     D#2*'")&'(9EF('",+1%*GH"/+I*5
        SELECT ?c ?cap (1000 * ?people AS ?pop)                        CONSTRUCT {
                                                                          ?country a ex:HolidayDestination ;
                                          !"#$%&'(#)'(/11(./",/01%*5          ex:arrive_at ?capital ;
        SELECT *                                                              ex:population ?population .
                                                                       }
                       !"#$%&'(#)'(3,*62&'(&#70,2/6#2*(#2185
        SELECT DISTINCT ?country                                                   9%*)1'*(,2(9EF('",+1%*(;,2(/28(9EF(*%",/1,J/6#2C5

                    9%*)1'*(,2(/('/01%(#:(./1)%*(;,2(<=>(#"(?@ABC5 ex:France a ex:HolidayDestination ;
                                                                       ex:arrive_at ex:Paris ;
                ?c               ?cap                ?pop              ex:population 635000000 .
                                                                   ex:Canada a ex:HolidayDestination ;
           ex:France      ex:Paris            63,500,000               ex:arrive_at ex:Ottawa ;
           ex:Canada      ex:Ottawa           32,900,000               ex:population 329000000 .
           ex:Italy           ex:Rome         58,900,000

         ASK!"#$%&$'                                                    DESCRIBE!"#$%&$'
                         K*L(MI%'I%"(#"(2#'('I%"%(/"%(/28(7/'&I%*5         E%*&",0%('I%("%*#)"&%*(7/'&I%3(08('I%(H,.%2(./",/01%*5
        ASK                                                            DESCRIBE ?country

               9%*)1'(,*(%,'I%"(N'")%O(#"(N:/1*%O(;,2(<=>(#"(?@ABC5          9%*)1'(,*(9EF('",+1%*(;,2(/28(9EF(*%",/1,J/6#2C(5
        true, false                                                 ex:France a geo:Country ;
                                                                      ex:continent geo:Europe ;
                                                                      ex:flag <http://…/flag-france.png> ;
                                                                      …


lunes 18 de octubre de 2010
EJERCICIO

   • Consultar            todos los países que se encuentran registrados en la
      Dbpedia

       • Ingresar         al sitio: http://dbpedia.org/snorql

       • Copiar         la consulta:

                       SELECT ?pais
                       WHERE {
                         ?pais rdf:type <http://dbpedia.org/ontology/Country>
                       }


lunes 18 de octubre de 2010
TIPOS DE RESULTADOS


   • xml

   • json

   • rdf/xml

   • html




lunes 18 de octubre de 2010
EJERCICIO

   • Consultar            en dbpedia cada país y su moneda


       SELECT ?pais ?moneda
       WHERE {
         ?pais rdf:type <http://dbpedia.org/ontology/Country>.
         ?pais dbpprop:currencyCode ?moneda
       }



lunes 18 de octubre de 2010
EJERCICIO

   • Consultar            el país y moneda de Ecuador
SELECT ?pais ?moneda
WHERE {
  ?pais rdf:type <http://dbpedia.org/ontology/Country>.
  ?pais dbpprop:currencyCode ?moneda.
  ?pais rdfs:label ?nombreEng FILTER (langMatches( lang(?
nombreEng), "EN" ) && ?nombreEng = "Ecuador"@en)
}

lunes 18 de octubre de 2010
MAYORES INFORMACIÓN



   •http://www.w3.org/TR/rdf-sparql-query/




lunes 18 de octubre de 2010
LINKED DATA

   • Hoy  en día:
     • Grandes fuentes de datos Web (Google, Yahoo, eBay,
       Amazon)
     • Apis acceso Web (+ 1300)
   • Lo que ha ocasionado:
     • Diferentes mecanismos de identificación
     • Diferentes mecanismos de acceso
     • Diferentes formatos


lunes 18 de octubre de 2010
LINKED DATA

   • Mejores  prácticas y recomendaciones para publicar y conectar
      datos en la Web:

       • Usar       URI para identificar cosas

       • Usar HTTP URIs para que las cosas sean referidas y
          encontradas

       • Proveer          información útil (metadata)

       • Incluir       a otras URI relacionadas

lunes 18 de octubre de 2010
LINKED DATA



                               2007




lunes 18 de octubre de 2010
LINKED DATA




lunes 18 de octubre de 2010
LINKED DATA




lunes 18 de octubre de 2010
LINKED DATA

   • Datasets

   • RDFizers, ConvertToRDF

   • PublishingTools

   • Semantic Web             Browsers
   • Semantic Web             Search

lunes 18 de octubre de 2010
LOD SPARQL ENDPOINT


   • Provistos          por las fuentes de datos LOD

   • Enviamos            la consulta SPARQL y recibimos los resultados

   • Son      servicios Web RESTful

   • http://esw.w3.org/topic/SparqlEndpoints




lunes 18 de octubre de 2010
CONSTRUCCIÓN DE UNA
             APLICACIÓN WEB



lunes 18 de octubre de 2010
ARQUITECTURA DEL
                          PROYECTO

                                                    R EST   dbpedia

                  cliente         RPC
                                         servidor
                   maps

                                                    RE
                                                      ST    geonames



                              http://cafelojano.wordpress.com

lunes 18 de octubre de 2010
HERRAMIENTAS

   • Java & NetBeans
     • Jersey - Servicios REST
     • GWT4NB
   • Google Web Toolkit - GWT
   • Google Maps
   • dbpedia endpoint
   • Geonames Web Services

lunes 18 de octubre de 2010
CONFIGURACIÓN DEL
      ENTORNO DE DESARROLLO
   • Descargar            el plugin GWT4NB

   • Dentro          de NB nos dirigimos a Tools -> Plugins

   • En     el diálogo abrimos la pestaña Downloaded

   • Hacemos   click en Add plugin... y seleccionamos el archivo
      descargado

   • Hacemos             click en Install


lunes 18 de octubre de 2010
CONFIGURACIÓN DEL
      ENTORNO DE DESARROLLO


   • Descargar                y descomprimir GWT SDK
   • Descargar                y descomprimir Google Maps API Library 1.1




lunes 18 de octubre de 2010
CREACIÓN DEL PROYECTO

   •   Dentro de NetBeans:
       • Crear un proyecto Web. Categoría Java Web, Proyecto Web
         Application
       • Asignar el nombre VisualLod
       • Seleccionar el servidor GlassFish Server 3
       • Seleccionar Google Web Toolkit en Frameworks
       • Configurar la ruta del GWT SDK
       • En GWT Module ubicar un nombre: isummit.lod.VisualizadorLod
       • Ejecutar el proyecto


lunes 18 de octubre de 2010
GWT


   • Crear        aplicaciones Web con soporte AJAX programando en Java

   • Permite          depurar/ejecutar aplicaciones

   • No      es necesario aprender JavaScript

   • Comunicaciones           con el servidor a través de RPC



lunes 18 de octubre de 2010
CONFIGURACIÓN DEL
                       PROYECTO
   • Dentro   del paquete de código fuente buscar el archivo:
     VisualizadorLod.gwt
      • Agregar la línea: <inherits name="com.google.gwt.maps.GoogleMaps"/>
   • Dentro del proyecto agregar la librería gwt-maps.jar que se
     encuentra en la carpeta de Google maps API library
   • Buscar el archivo welcomeGWT.html y cambiar el título de la
     página por iSummit Loxa 2010 - Visualizador Linked Data
   • Borrar el contenido del método onModuleLoad de la clase
     VisualizadorLodEntryPoint

lunes 18 de octubre de 2010
SERVICIOS WEB BASADOS
                      REST

   • Sigue       los principios de la Web

   • Uso       de los verbos HTTP para realizar operaciones.

   • Java     existen varios APIs uno de ellos Jersey

       • Agregar          Jersey al proyecto



lunes 18 de octubre de 2010
SERVICIO WEB
                              COUNTRYCODE


   •   http://ws.geonames.org/countryCode?lat=-0.150000&lng=-78.349998&type=JSON

   •   {"distance":0,"countryName":"Ecuador","countryCode":"EC"}




lunes 18 de octubre de 2010
JSON


   • JSON:

       • JavaScript           Object Notation
       • Formato              ligero para el intercambio de datos


lunes 18 de octubre de 2010
CREACIÓN DEL SERVICIOS
                   RPC

   • Click         derecho en el nombre del proyecto
   • Seleccionar               New -> GWT RPC service
   • Asignarle                el nombre LodService
   • Quitar           la selección a Create Usage Example Class


lunes 18 de octubre de 2010
CREACIÓN DEL MÉTODO
               GETCOUNTRYNAME


   • Permite   obtener el nombre de un país dado la latitud
      y longitud de cualquier punto dentro de su territorio.
   • Agregar              al proyecto la librería JAX RS 1.1




lunes 18 de octubre de 2010
CREACIÓN DEL MÉTODO
             OBTENERDATOSDBPEDIA

   • Consulta  a través de REST de los datos de un
      país según su nombre.
   • Creación    de un objeto Java que se serializa para
      viajar del servidor al cliente.


lunes 18 de octubre de 2010

Más contenido relacionado

La actualidad más candente

23 sparql
23 sparql23 sparql
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de usoEl futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
Escoles Universitàries Gimbernat i Tomàs Cerdà
 
Symfony2 and ElasticSearch
Symfony2 and ElasticSearchSymfony2 and ElasticSearch
Symfony2 and ElasticSearch
symfony_bcn
 
Lenguaje de recuperación de datos en la web (sparql)
Lenguaje de recuperación de datos en la web (sparql)Lenguaje de recuperación de datos en la web (sparql)
Lenguaje de recuperación de datos en la web (sparql)
Hugo Peña
 
Magia Google
Magia GoogleMagia Google
Magia Google
Waleska Rivera
 
Curso completo de Elasticsearch
Curso completo de ElasticsearchCurso completo de Elasticsearch
Curso completo de Elasticsearch
Federico Andrés Ocampo
 
ElasticSearch: la tenés atroden Google
ElasticSearch: la tenés atroden GoogleElasticSearch: la tenés atroden Google
ElasticSearch: la tenés atroden Google
Mariano Iglesias
 
Introduccion a la Web Semantica
Introduccion a la Web SemanticaIntroduccion a la Web Semantica
Introduccion a la Web Semantica
Juan Sequeda
 
Presentacion swoogle
Presentacion swooglePresentacion swoogle
Presentacion swoogle
Luis Diego Salas Ocampo
 
Datos abiertos enlazados: Experiencia en la Universidad de Chile
Datos abiertos enlazados: Experiencia en la Universidad de ChileDatos abiertos enlazados: Experiencia en la Universidad de Chile
Datos abiertos enlazados: Experiencia en la Universidad de Chile
Sistema de Servicios de Información y Bibliotecas SISIB
 

La actualidad más candente (10)

23 sparql
23 sparql23 sparql
23 sparql
 
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de usoEl futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
 
Symfony2 and ElasticSearch
Symfony2 and ElasticSearchSymfony2 and ElasticSearch
Symfony2 and ElasticSearch
 
Lenguaje de recuperación de datos en la web (sparql)
Lenguaje de recuperación de datos en la web (sparql)Lenguaje de recuperación de datos en la web (sparql)
Lenguaje de recuperación de datos en la web (sparql)
 
Magia Google
Magia GoogleMagia Google
Magia Google
 
Curso completo de Elasticsearch
Curso completo de ElasticsearchCurso completo de Elasticsearch
Curso completo de Elasticsearch
 
ElasticSearch: la tenés atroden Google
ElasticSearch: la tenés atroden GoogleElasticSearch: la tenés atroden Google
ElasticSearch: la tenés atroden Google
 
Introduccion a la Web Semantica
Introduccion a la Web SemanticaIntroduccion a la Web Semantica
Introduccion a la Web Semantica
 
Presentacion swoogle
Presentacion swooglePresentacion swoogle
Presentacion swoogle
 
Datos abiertos enlazados: Experiencia en la Universidad de Chile
Datos abiertos enlazados: Experiencia en la Universidad de ChileDatos abiertos enlazados: Experiencia en la Universidad de Chile
Datos abiertos enlazados: Experiencia en la Universidad de Chile
 

Destacado

Ingeniería Informática
Ingeniería InformáticaIngeniería Informática
Ingeniería Informática
karnack
 
Presetacion redes ip
Presetacion redes ipPresetacion redes ip
Presetacion redes ip
Jose Alberto Medina Vega
 
Monografia patrones de diseño proxy (3.0)
Monografia   patrones de diseño proxy (3.0)Monografia   patrones de diseño proxy (3.0)
Monografia patrones de diseño proxy (3.0)
finger10
 
Arquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en iosArquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en ios
Eventos Creativos
 
Tridimensionalidad Informática en Arquitectura
Tridimensionalidad Informática en ArquitecturaTridimensionalidad Informática en Arquitectura
Tridimensionalidad Informática en Arquitectura
Ricardo Cuberos Mejía
 
Housing y Seguridad - Web Hosting en Chile
Housing y Seguridad - Web Hosting en ChileHousing y Seguridad - Web Hosting en Chile
Housing y Seguridad - Web Hosting en Chile
Hosting y Dominio
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
finger10
 
Arquitectura de seguridad de redes
Arquitectura de seguridad de redesArquitectura de seguridad de redes
Arquitectura de seguridad de redes
Juan MmnVvr Aguila
 
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...
eccutpl
 
Clase 1 Sistema De Gestion De Base De Datos
Clase 1   Sistema De Gestion De Base De DatosClase 1   Sistema De Gestion De Base De Datos
Clase 1 Sistema De Gestion De Base De Datos
oswchavez
 
Arquitectura de seguridad de la información (Delima)
Arquitectura de seguridad de la información (Delima)Arquitectura de seguridad de la información (Delima)
Arquitectura de seguridad de la información (Delima)
Fluidsignal Group S.A.
 

Destacado (11)

Ingeniería Informática
Ingeniería InformáticaIngeniería Informática
Ingeniería Informática
 
Presetacion redes ip
Presetacion redes ipPresetacion redes ip
Presetacion redes ip
 
Monografia patrones de diseño proxy (3.0)
Monografia   patrones de diseño proxy (3.0)Monografia   patrones de diseño proxy (3.0)
Monografia patrones de diseño proxy (3.0)
 
Arquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en iosArquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en ios
 
Tridimensionalidad Informática en Arquitectura
Tridimensionalidad Informática en ArquitecturaTridimensionalidad Informática en Arquitectura
Tridimensionalidad Informática en Arquitectura
 
Housing y Seguridad - Web Hosting en Chile
Housing y Seguridad - Web Hosting en ChileHousing y Seguridad - Web Hosting en Chile
Housing y Seguridad - Web Hosting en Chile
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
Arquitectura de seguridad de redes
Arquitectura de seguridad de redesArquitectura de seguridad de redes
Arquitectura de seguridad de redes
 
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Sof...
 
Clase 1 Sistema De Gestion De Base De Datos
Clase 1   Sistema De Gestion De Base De DatosClase 1   Sistema De Gestion De Base De Datos
Clase 1 Sistema De Gestion De Base De Datos
 
Arquitectura de seguridad de la información (Delima)
Arquitectura de seguridad de la información (Delima)Arquitectura de seguridad de la información (Delima)
Arquitectura de seguridad de la información (Delima)
 

Similar a Jorge lopez web_apps

ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
Diego López-de-Ipiña González-de-Artaza
 
Introducción al mundo NoSQL
Introducción al mundo NoSQLIntroducción al mundo NoSQL
Introducción al mundo NoSQL
César Rodas
 
Red Ontologías Hércules – ROH
Red Ontologías Hércules – ROHRed Ontologías Hércules – ROH
Red Ontologías Hércules – ROH
Diego López-de-Ipiña González-de-Artaza
 
Aplicaciones de la web semántica
Aplicaciones de la web semánticaAplicaciones de la web semántica
Aplicaciones de la web semántica
Diego Berrueta
 
Automatic API REST Droidcon
Automatic API REST DroidconAutomatic API REST Droidcon
Automatic API REST Droidcon
Alejandro Esquiva Rodriguez
 
The Web of Data
The Web of DataThe Web of Data
The Web of Data
betabeers
 
Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014
Abel Alejandro Coronado Iruegas
 
Mongo Mapper
Mongo MapperMongo Mapper
Mongo Mapper
Francisco Viramontes
 
Linked Data In Use (Cursos de Verano UPM 2011)
Linked Data In Use (Cursos de Verano UPM 2011)Linked Data In Use (Cursos de Verano UPM 2011)
Linked Data In Use (Cursos de Verano UPM 2011)
Guillermo Álvaro Rey
 
Open Data y Drupal
Open Data y DrupalOpen Data y Drupal
Open Data y Drupal
OpenKratio
 
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
SemanticWebBuilder
 
Herramientas para linked data
Herramientas para linked dataHerramientas para linked data
Herramientas para linked data
Iván Ruiz-Rube
 
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
Artium Vitoria
 
Web Semántica y Linked Data
Web Semántica y Linked DataWeb Semántica y Linked Data
Web Semántica y Linked Data
Rafael Ramos
 
"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez
webcat
 
Curs 1.6. Datos enlazados (2h) OpenDataLab
Curs 1.6. Datos enlazados (2h) OpenDataLabCurs 1.6. Datos enlazados (2h) OpenDataLab
Curs 1.6. Datos enlazados (2h) OpenDataLab
Iniciativa Barcelona Open Data
 
Búsqueda y recuperación de información en internet
Búsqueda y recuperación de información en internetBúsqueda y recuperación de información en internet
Búsqueda y recuperación de información en internet
Sabdiel Batista Díaz
 
Esri Open Platform
Esri Open PlatformEsri Open Platform
Esri Open Platform
Esri España
 
Busqueda de internet.2
Busqueda de internet.2Busqueda de internet.2
Busqueda de internet.2
bibliotecamtp
 
Introduccion a OpenData
Introduccion a OpenDataIntroduccion a OpenData
Introduccion a OpenData
Francisco Cifuentes Silva
 

Similar a Jorge lopez web_apps (20)

ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
 
Introducción al mundo NoSQL
Introducción al mundo NoSQLIntroducción al mundo NoSQL
Introducción al mundo NoSQL
 
Red Ontologías Hércules – ROH
Red Ontologías Hércules – ROHRed Ontologías Hércules – ROH
Red Ontologías Hércules – ROH
 
Aplicaciones de la web semántica
Aplicaciones de la web semánticaAplicaciones de la web semántica
Aplicaciones de la web semántica
 
Automatic API REST Droidcon
Automatic API REST DroidconAutomatic API REST Droidcon
Automatic API REST Droidcon
 
The Web of Data
The Web of DataThe Web of Data
The Web of Data
 
Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014
 
Mongo Mapper
Mongo MapperMongo Mapper
Mongo Mapper
 
Linked Data In Use (Cursos de Verano UPM 2011)
Linked Data In Use (Cursos de Verano UPM 2011)Linked Data In Use (Cursos de Verano UPM 2011)
Linked Data In Use (Cursos de Verano UPM 2011)
 
Open Data y Drupal
Open Data y DrupalOpen Data y Drupal
Open Data y Drupal
 
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
 
Herramientas para linked data
Herramientas para linked dataHerramientas para linked data
Herramientas para linked data
 
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
IX Encuentros de Centros de Documentación de Arte Contemporáneo en Artium - O...
 
Web Semántica y Linked Data
Web Semántica y Linked DataWeb Semántica y Linked Data
Web Semántica y Linked Data
 
"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez
 
Curs 1.6. Datos enlazados (2h) OpenDataLab
Curs 1.6. Datos enlazados (2h) OpenDataLabCurs 1.6. Datos enlazados (2h) OpenDataLab
Curs 1.6. Datos enlazados (2h) OpenDataLab
 
Búsqueda y recuperación de información en internet
Búsqueda y recuperación de información en internetBúsqueda y recuperación de información en internet
Búsqueda y recuperación de información en internet
 
Esri Open Platform
Esri Open PlatformEsri Open Platform
Esri Open Platform
 
Busqueda de internet.2
Busqueda de internet.2Busqueda de internet.2
Busqueda de internet.2
 
Introduccion a OpenData
Introduccion a OpenDataIntroduccion a OpenData
Introduccion a OpenData
 

Más de eccutpl

Sistemas Recomendadores - ws14
Sistemas Recomendadores - ws14Sistemas Recomendadores - ws14
Sistemas Recomendadores - ws14
eccutpl
 
Seguridad de la información
Seguridad de la informaciónSeguridad de la información
Seguridad de la información
eccutpl
 
Adquisicion Reconstruccion RM Parte 2
Adquisicion Reconstruccion RM Parte 2Adquisicion Reconstruccion RM Parte 2
Adquisicion Reconstruccion RM Parte 2
eccutpl
 
Adquisicion Reconstruccion RM Parte 1
Adquisicion Reconstruccion RM Parte 1Adquisicion Reconstruccion RM Parte 1
Adquisicion Reconstruccion RM Parte 1
eccutpl
 
Adquisicion Reconstruccion RM Part3
Adquisicion Reconstruccion RM Part3Adquisicion Reconstruccion RM Part3
Adquisicion Reconstruccion RM Part3
eccutpl
 
Memoria pabloirarrázaval
Memoria pabloirarrázavalMemoria pabloirarrázaval
Memoria pabloirarrázaval
eccutpl
 
Difusión Científica y Publicación en Revistas de Impacto y Calidad
Difusión Científica y Publicación en Revistas de Impacto y CalidadDifusión Científica y Publicación en Revistas de Impacto y Calidad
Difusión Científica y Publicación en Revistas de Impacto y Calidad
eccutpl
 
Memoria Fernando Barrios
Memoria Fernando BarriosMemoria Fernando Barrios
Memoria Fernando Barrios
eccutpl
 
La web educativa 2.0
La web educativa 2.0La web educativa 2.0
La web educativa 2.0
eccutpl
 
Guillermo montilla memoriatalleresponencia
Guillermo montilla memoriatalleresponenciaGuillermo montilla memoriatalleresponencia
Guillermo montilla memoriatalleresponencia
eccutpl
 
Presentación neuropanacea
Presentación neuropanaceaPresentación neuropanacea
Presentación neuropanacea
eccutpl
 
Violeta bazante gestion de información científica
Violeta bazante gestion de información científicaVioleta bazante gestion de información científica
Violeta bazante gestion de información científica
eccutpl
 
Hugo pardo aprendizaje móvil
Hugo pardo   aprendizaje móvilHugo pardo   aprendizaje móvil
Hugo pardo aprendizaje móvil
eccutpl
 
Drupal mas que un cms
Drupal mas que un cmsDrupal mas que un cms
Drupal mas que un cms
eccutpl
 
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
eccutpl
 
Estructurar proyectos de desarrolla de software basados
Estructurar proyectos de desarrolla de software basadosEstructurar proyectos de desarrolla de software basados
Estructurar proyectos de desarrolla de software basados
eccutpl
 
Guía utilizacion de patentes
Guía utilizacion de patentesGuía utilizacion de patentes
Guía utilizacion de patentes
eccutpl
 
1. uso de la información tecnológica
1.  uso de la información tecnológica1.  uso de la información tecnológica
1. uso de la información tecnológica
eccutpl
 
2. herramientas para la búsqueda de información de patentes
2.  herramientas para la búsqueda de información de patentes2.  herramientas para la búsqueda de información de patentes
2. herramientas para la búsqueda de información de patentes
eccutpl
 
Patentes de invención
Patentes de invenciónPatentes de invención
Patentes de invención
eccutpl
 

Más de eccutpl (20)

Sistemas Recomendadores - ws14
Sistemas Recomendadores - ws14Sistemas Recomendadores - ws14
Sistemas Recomendadores - ws14
 
Seguridad de la información
Seguridad de la informaciónSeguridad de la información
Seguridad de la información
 
Adquisicion Reconstruccion RM Parte 2
Adquisicion Reconstruccion RM Parte 2Adquisicion Reconstruccion RM Parte 2
Adquisicion Reconstruccion RM Parte 2
 
Adquisicion Reconstruccion RM Parte 1
Adquisicion Reconstruccion RM Parte 1Adquisicion Reconstruccion RM Parte 1
Adquisicion Reconstruccion RM Parte 1
 
Adquisicion Reconstruccion RM Part3
Adquisicion Reconstruccion RM Part3Adquisicion Reconstruccion RM Part3
Adquisicion Reconstruccion RM Part3
 
Memoria pabloirarrázaval
Memoria pabloirarrázavalMemoria pabloirarrázaval
Memoria pabloirarrázaval
 
Difusión Científica y Publicación en Revistas de Impacto y Calidad
Difusión Científica y Publicación en Revistas de Impacto y CalidadDifusión Científica y Publicación en Revistas de Impacto y Calidad
Difusión Científica y Publicación en Revistas de Impacto y Calidad
 
Memoria Fernando Barrios
Memoria Fernando BarriosMemoria Fernando Barrios
Memoria Fernando Barrios
 
La web educativa 2.0
La web educativa 2.0La web educativa 2.0
La web educativa 2.0
 
Guillermo montilla memoriatalleresponencia
Guillermo montilla memoriatalleresponenciaGuillermo montilla memoriatalleresponencia
Guillermo montilla memoriatalleresponencia
 
Presentación neuropanacea
Presentación neuropanaceaPresentación neuropanacea
Presentación neuropanacea
 
Violeta bazante gestion de información científica
Violeta bazante gestion de información científicaVioleta bazante gestion de información científica
Violeta bazante gestion de información científica
 
Hugo pardo aprendizaje móvil
Hugo pardo   aprendizaje móvilHugo pardo   aprendizaje móvil
Hugo pardo aprendizaje móvil
 
Drupal mas que un cms
Drupal mas que un cmsDrupal mas que un cms
Drupal mas que un cms
 
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
 
Estructurar proyectos de desarrolla de software basados
Estructurar proyectos de desarrolla de software basadosEstructurar proyectos de desarrolla de software basados
Estructurar proyectos de desarrolla de software basados
 
Guía utilizacion de patentes
Guía utilizacion de patentesGuía utilizacion de patentes
Guía utilizacion de patentes
 
1. uso de la información tecnológica
1.  uso de la información tecnológica1.  uso de la información tecnológica
1. uso de la información tecnológica
 
2. herramientas para la búsqueda de información de patentes
2.  herramientas para la búsqueda de información de patentes2.  herramientas para la búsqueda de información de patentes
2. herramientas para la búsqueda de información de patentes
 
Patentes de invención
Patentes de invenciónPatentes de invención
Patentes de invención
 

Jorge lopez web_apps

  • 1. WEB APPS: CONSUMIENDO LINKED DATA Ing. Jorge López Vargas jalopez2@utpl.edu.ec I3C2 lunes 18 de octubre de 2010
  • 2. AGENDA • Web Semántica • Framework para la descripción de recursos (RDF) • SPARQL • Linked Data lunes 18 de octubre de 2010
  • 3. WEB SEMÁNTICA La Web Actual: web de documentos ML is HT tax Sin diseñada para seres humanos millones de documentos computadoras ayudan a buscar lunes 18 de octubre de 2010
  • 4. WEB SEMÁNTICA extensión de la web actual web de datos descripción semántica de recursos permite una mejor colaboración computadores y humanos web para computadores lunes 18 de octubre de 2010
  • 5. WEB SEMÁNTICA • Un esfuerzo por convertir a la Web actual en una base de datos descentralizada gigante. • Entendiblepor seres humanos y por computadores • Es necesario: representar y manipular el conocimiento - RDF lunes 18 de octubre de 2010
  • 6. RESOURCES DESCRIPTION FRAMEWORK The Resource Description Framework (RDF) is a language designed to support the Semantic Web, in much the same way that HTML is the language that helped initiate the original Web. RDF is a framework for supporting resource description, or metadata (data about data), for the Web. RDF provides common structures that can be used for interoperable XML data exchange. lunes 18 de octubre de 2010
  • 7. RESOURCES DESCRIPTION FRAMEWORK • RDF es: • Parte de la Web Semántica - representa el conocimiento • Un modelo de datos que permite establecer relaciones • Funciona bien para información distribuida • Un método para descomponer información en piezas (S,P,O) • RDF no es XML. RDF representa conocimiento, XML datos lunes 18 de octubre de 2010
  • 8. RDF ELEMENTOS • Tripleta RDF • Sujeto: Lo que se esta describiendo • Predicado: Una relación, una propiedad • Objeto: Valor o un sujeto “El título del artículo es Problemas con Jena y Google App Engine” lunes 18 de octubre de 2010
  • 9. RDF CARACTERÍSTICAS • Cada tripleta se construye con: sujeto, predicado y objeto • Cada tripleta es completa y un hecho único • Todo es univocamente identificado con una URI (Uniform Resource Identifier) • Cada tripleta se puede unir a otras, pero sigue siendo única lunes 18 de octubre de 2010
  • 10. RDF URI • La necesidad de acceder a un objeto específico dado un único nombre o identificador • Provee una sintaxis común para nombrar recursos (independiente del protocolo) • URL (Uniform Resource Locators) instancia URI • No implica la existencia física (páginas html por ejemplo) http://dbpedia.org/page/Ecuador lunes 18 de octubre de 2010
  • 11. RDF REPRESENTACIÓN Grafo RDF (Seres humanos) RDF/XML (W3C Estándar)(Computadores) lunes 18 de octubre de 2010
  • 12. RDF REPRESENTACIÓN Grafo RDF (Seres humanos) RDF/XML (W3C Estándar)(Computadores) lunes 18 de octubre de 2010
  • 13. RDF MODELADO lunes 18 de octubre de 2010
  • 14. RDF MODELADO lunes 18 de octubre de 2010
  • 15. RDF MODELADO lunes 18 de octubre de 2010
  • 16. LENGUAJES DE MODELADO • Vocabularios • RDF • Ontologías • RDFSchema: clases, jerarquías, dominios rangos y tipos de datos • Owl: cardinalidad, restricciones, inferencias • Mayor expresividad que RDF • A mayor expresividad mayor razonamiento complejo lunes 18 de octubre de 2010
  • 17. ALGUNOS VOCABULARIOS • Foaf • Dublin core nd ata) • GeneOntology dia) ing ope ape ink • GeoNames hem as (L (Sc plet 257 s tri • CiteSeer tros illone O b • BBC 13.1 • DBLP lunes 18 de octubre de 2010
  • 18. EJERCICIO • Elabore un Grafo RDF que modele los siguientes tablas: • Empresa (Nombre, dirección, teléfono, página web) • Departamento(Nombre, empleado responsable) • Empleado (Cédula, apellidos, nombres, email) lunes 18 de octubre de 2010
  • 19. SPARQL • Protocol And RDF Query Language • Lenguaje de consulta para RDF • Idea principal: coincidencia de patrones en un Grafo RDF • Obtenemos subgrafos que coinciden con los patrones lunes 18 de octubre de 2010
  • 20. EJEMPLO CONSULTA !"#$%&'()"*+,-)#*(&)*&./0123 !"#$%&'()"*+,-)#*(&)*&./0123 !"#$%#& !"#$%&'()"*+,-)#*(&)*&./0123 '$()*+ ./01234&2,$"5&36(7,67$&%*"&189&+6)6 ! !"#$%#& '$()*+ $&4+56)# 4))567788877/"2589(:#$ ! :6#(&#+$64&;6))$"(&<6)-=#(7 4))56778887./01(2/ $&4+56)# 4))567788877/"2589(:#$ 4))56778887./01(2/ )+0(?5@$")5%/2333333333333333333333333333333333 33333333333333333$&4+56)# ! 8$>-"#?$&>,?7"6;=>&*%&)=$&@,$"#$+&189&7"6;= )+0(?5@$")5%/2333333333333333333333333333333333 33333333333333333$&4+56)# ;<==>; 4)567788877/"258@52( ! .,?7"6;=>&)=6)&<6)-=&5*,"&+$>-"#;)#*(&5#$A+&6&"$>,A) ! ;<==>; 4)567788877/"258@52( :$6(4&7"6;=&;6))$"(>&B#C$C&189&7"6;=>&DE&F6"#6?A$>G ,- 3333333$&4+56)# !" )))))))*+,-./01 A#?"05?+ 4))56778887./01(2/ =));4DDCCCD#$%&'($ ,- ,- 3333333$&4+56)# ! A#?"05?+ 4))567788877/"2589(:#$ ! 4))56778887./01(2/ ,- 4))567788877/"258@52( ! 4))567788877/"2589(:#$ #$%!&''(!)*+,-./0!12,3!+,!%,45*67!8.497:!;/+/!,4!+<7!$7=1 lunes 18 de octubre de 2010 "#$%!&''(!)*+,-./0!12,3!+,!%,45*67!8.497:!;/+/!,4!+<7!$7=1
  • 21. ANATOMÍA DE UNA CONSULTA Prefijos PREFIX foo: <…> (opcional) PREFIX bar: <…> … SELECT … Resultados consulta Origen de datos FROM <…> (opcional) FROM NAMED <…> WHERE { … Patrón de consulta } GROUP BY … Modificadores HAVING … consulta ORDER BY … (opcional) LIMIT … OFFSET … BINDINGS … lunes 18 de octubre de 2010
  • 22. TIPOS DE CONSULTAS SELECT!"#$%&$' CONSTRUCT!"#$%&$' !"#$%&'(#)'(*+%&,-&(./",/01%*(/23(%4+"%**,#2*5 D#2*'")&'(9EF('",+1%*GH"/+I*5 SELECT ?c ?cap (1000 * ?people AS ?pop) CONSTRUCT { ?country a ex:HolidayDestination ; !"#$%&'(#)'(/11(./",/01%*5 ex:arrive_at ?capital ; SELECT * ex:population ?population . } !"#$%&'(#)'(3,*62&'(&#70,2/6#2*(#2185 SELECT DISTINCT ?country 9%*)1'*(,2(9EF('",+1%*(;,2(/28(9EF(*%",/1,J/6#2C5 9%*)1'*(,2(/('/01%(#:(./1)%*(;,2(<=>(#"(?@ABC5 ex:France a ex:HolidayDestination ; ex:arrive_at ex:Paris ; ?c ?cap ?pop ex:population 635000000 . ex:Canada a ex:HolidayDestination ; ex:France ex:Paris 63,500,000 ex:arrive_at ex:Ottawa ; ex:Canada ex:Ottawa 32,900,000 ex:population 329000000 . ex:Italy ex:Rome 58,900,000 ASK!"#$%&$' DESCRIBE!"#$%&$' K*L(MI%'I%"(#"(2#'('I%"%(/"%(/28(7/'&I%*5 E%*&",0%('I%("%*#)"&%*(7/'&I%3(08('I%(H,.%2(./",/01%*5 ASK DESCRIBE ?country 9%*)1'(,*(%,'I%"(N'")%O(#"(N:/1*%O(;,2(<=>(#"(?@ABC5 9%*)1'(,*(9EF('",+1%*(;,2(/28(9EF(*%",/1,J/6#2C(5 true, false ex:France a geo:Country ; ex:continent geo:Europe ; ex:flag <http://…/flag-france.png> ; … lunes 18 de octubre de 2010
  • 23. EJERCICIO • Consultar todos los países que se encuentran registrados en la Dbpedia • Ingresar al sitio: http://dbpedia.org/snorql • Copiar la consulta: SELECT ?pais WHERE { ?pais rdf:type <http://dbpedia.org/ontology/Country> } lunes 18 de octubre de 2010
  • 24. TIPOS DE RESULTADOS • xml • json • rdf/xml • html lunes 18 de octubre de 2010
  • 25. EJERCICIO • Consultar en dbpedia cada país y su moneda SELECT ?pais ?moneda WHERE { ?pais rdf:type <http://dbpedia.org/ontology/Country>. ?pais dbpprop:currencyCode ?moneda } lunes 18 de octubre de 2010
  • 26. EJERCICIO • Consultar el país y moneda de Ecuador SELECT ?pais ?moneda WHERE { ?pais rdf:type <http://dbpedia.org/ontology/Country>. ?pais dbpprop:currencyCode ?moneda. ?pais rdfs:label ?nombreEng FILTER (langMatches( lang(? nombreEng), "EN" ) && ?nombreEng = "Ecuador"@en) } lunes 18 de octubre de 2010
  • 27. MAYORES INFORMACIÓN •http://www.w3.org/TR/rdf-sparql-query/ lunes 18 de octubre de 2010
  • 28. LINKED DATA • Hoy en día: • Grandes fuentes de datos Web (Google, Yahoo, eBay, Amazon) • Apis acceso Web (+ 1300) • Lo que ha ocasionado: • Diferentes mecanismos de identificación • Diferentes mecanismos de acceso • Diferentes formatos lunes 18 de octubre de 2010
  • 29. LINKED DATA • Mejores prácticas y recomendaciones para publicar y conectar datos en la Web: • Usar URI para identificar cosas • Usar HTTP URIs para que las cosas sean referidas y encontradas • Proveer información útil (metadata) • Incluir a otras URI relacionadas lunes 18 de octubre de 2010
  • 30. LINKED DATA 2007 lunes 18 de octubre de 2010
  • 31. LINKED DATA lunes 18 de octubre de 2010
  • 32. LINKED DATA lunes 18 de octubre de 2010
  • 33. LINKED DATA • Datasets • RDFizers, ConvertToRDF • PublishingTools • Semantic Web Browsers • Semantic Web Search lunes 18 de octubre de 2010
  • 34. LOD SPARQL ENDPOINT • Provistos por las fuentes de datos LOD • Enviamos la consulta SPARQL y recibimos los resultados • Son servicios Web RESTful • http://esw.w3.org/topic/SparqlEndpoints lunes 18 de octubre de 2010
  • 35. CONSTRUCCIÓN DE UNA APLICACIÓN WEB lunes 18 de octubre de 2010
  • 36. ARQUITECTURA DEL PROYECTO R EST dbpedia cliente RPC servidor maps RE ST geonames http://cafelojano.wordpress.com lunes 18 de octubre de 2010
  • 37. HERRAMIENTAS • Java & NetBeans • Jersey - Servicios REST • GWT4NB • Google Web Toolkit - GWT • Google Maps • dbpedia endpoint • Geonames Web Services lunes 18 de octubre de 2010
  • 38. CONFIGURACIÓN DEL ENTORNO DE DESARROLLO • Descargar el plugin GWT4NB • Dentro de NB nos dirigimos a Tools -> Plugins • En el diálogo abrimos la pestaña Downloaded • Hacemos click en Add plugin... y seleccionamos el archivo descargado • Hacemos click en Install lunes 18 de octubre de 2010
  • 39. CONFIGURACIÓN DEL ENTORNO DE DESARROLLO • Descargar y descomprimir GWT SDK • Descargar y descomprimir Google Maps API Library 1.1 lunes 18 de octubre de 2010
  • 40. CREACIÓN DEL PROYECTO • Dentro de NetBeans: • Crear un proyecto Web. Categoría Java Web, Proyecto Web Application • Asignar el nombre VisualLod • Seleccionar el servidor GlassFish Server 3 • Seleccionar Google Web Toolkit en Frameworks • Configurar la ruta del GWT SDK • En GWT Module ubicar un nombre: isummit.lod.VisualizadorLod • Ejecutar el proyecto lunes 18 de octubre de 2010
  • 41. GWT • Crear aplicaciones Web con soporte AJAX programando en Java • Permite depurar/ejecutar aplicaciones • No es necesario aprender JavaScript • Comunicaciones con el servidor a través de RPC lunes 18 de octubre de 2010
  • 42. CONFIGURACIÓN DEL PROYECTO • Dentro del paquete de código fuente buscar el archivo: VisualizadorLod.gwt • Agregar la línea: <inherits name="com.google.gwt.maps.GoogleMaps"/> • Dentro del proyecto agregar la librería gwt-maps.jar que se encuentra en la carpeta de Google maps API library • Buscar el archivo welcomeGWT.html y cambiar el título de la página por iSummit Loxa 2010 - Visualizador Linked Data • Borrar el contenido del método onModuleLoad de la clase VisualizadorLodEntryPoint lunes 18 de octubre de 2010
  • 43. SERVICIOS WEB BASADOS REST • Sigue los principios de la Web • Uso de los verbos HTTP para realizar operaciones. • Java existen varios APIs uno de ellos Jersey • Agregar Jersey al proyecto lunes 18 de octubre de 2010
  • 44. SERVICIO WEB COUNTRYCODE • http://ws.geonames.org/countryCode?lat=-0.150000&lng=-78.349998&type=JSON • {"distance":0,"countryName":"Ecuador","countryCode":"EC"} lunes 18 de octubre de 2010
  • 45. JSON • JSON: • JavaScript Object Notation • Formato ligero para el intercambio de datos lunes 18 de octubre de 2010
  • 46. CREACIÓN DEL SERVICIOS RPC • Click derecho en el nombre del proyecto • Seleccionar New -> GWT RPC service • Asignarle el nombre LodService • Quitar la selección a Create Usage Example Class lunes 18 de octubre de 2010
  • 47. CREACIÓN DEL MÉTODO GETCOUNTRYNAME • Permite obtener el nombre de un país dado la latitud y longitud de cualquier punto dentro de su territorio. • Agregar al proyecto la librería JAX RS 1.1 lunes 18 de octubre de 2010
  • 48. CREACIÓN DEL MÉTODO OBTENERDATOSDBPEDIA • Consulta a través de REST de los datos de un país según su nombre. • Creación de un objeto Java que se serializa para viajar del servidor al cliente. lunes 18 de octubre de 2010