SlideShare una empresa de Scribd logo
Parte 2: ¿Cómo crear
aplicaciones basadas en
      Linked Data?

    (Usando LODSPeaKr )
LODSPeaKr
• Framework para crear aplicaciones basadas en
  Linked Data
• Permite publicación de datos en pocos minutos
• Simplifica la exploración de datos
• Permite crear APIs, webapps móviles, portales de
  datos, etc.
• Requisito: Tener datos en un SPARQL endpoint
Exploración por clases




  Es posible ver todas las clases que
      existen en el triple store
Instancias de una clase




  LODSPeaKr lista todas las instancias
           de una clase.
Exploración de una instancia




         Cualquier recurso que sea
    derreferenceable por LODSPeaKr es
    desplegado como una tabla de triples
Módulos

• Existen varios módulos
• Al servir una URI, LODSPeaKr chequea en
  orden cuál va a ser ejecutado, dependiendo
  de distintas variables
• Sólo se ejecuta un por cada URI
Módulo: Type
• Principio: Todas las URIs del mismo tipo
  debiesen ser servidas similarmente
  • Ej: Todas las personas tienen apellido,
    mientras que todos los computadores
    tienen RAM
  • Queremos mostrar a las personas de
    manera uniforme, y no necesariamente
    igual a los computadores
Módulo: Type (2)
• Cuando se pide una URI, LODSPeaKr busca
  su rdf:type en triple store
• En base al tipo se pueden definir multiples
  consultas SPARQL y templado de cómo
  mostrar los datos (en HTML u otro)

• Si no tiene tipo, se asume rdfs:Resource
• Si una URI pertenece a más de una clase, se
  puede establecer prioridad sobre
  componentes y sólo se usa uno.
Ejemplo módulo Type


      <- consulta1

      <- consulta2
Módulo: Service

• Principio: Entregar información agregada
  debiese ser fácil
• Service permite crear URIs que entreguen
  información agregada (Ej. lista de personas
  cuyo nombre empiece con “A”)
Módulo: Service (2)
• Si URI es un servicio, se ejecutan las
  consultas definidas por el usuario
  • Ej: “/classes” muestra todas las clases en
    endpoint
• Service acepta argumentos en la URI de la
  forma

  /servicio/arg0/arg1/.../argn
Example service
Multiples formatos
•   Usuario define qué y cómo entregar datos en HTML,
    LODSPeaKr se encarga del resto usando Content Negotiation

    •   Reescritura de consultas SPARQL (SELECT ->
        CONSTRUCT)

    •   RDF/XML, Turtle, N-Triples, RDF/JSON

•   Es posible definir consultas para cada formato (pero es mala
    idea)

•   Es posible definir vistas para cada formato (pero es mala
    idea, excepto JSON)

•   Ej: Servir BIBTEX desde Linked Data
Otras características
•   ¿Cómo usar URIs http://otrodominio/... en mi sitio http://
    midominio/?

    •   LODSPeaKr provee espejado (mirroring) de URIs

•   ¿Cómo usar multiples endpoints?

    •   LODSPeaKr permite ejecutar consultas SPARQL en
        diferentes endpoints

    •   Es posible usar resultados intermedios en nuevas
        consultas

•   Templado basado en Haanga, similar a pseudo código
Conclusiones
• LODSPeaKr es un framework Open Source
  con múltiples funcionalidades para crear
  aplicaciones basadas en Linked Data
• Las cosas simples debiesen ser simples
 • Publicar datos en 5 estrellas
• Las cosas difíciles debiesen ser posibles
 • Módulos por tipos, servicios
 • Templado por tipo, usando Haanga
 • Multiples endpoints, múltiples formatos
Trabajo futuro

• Portar a Python (posiblemente)
 • rdflib > ARC2
• Aplicaciones Read/Write
• Reusar aplicaciones
Ejemplos
                        http://lodspeakr.org

•   Global Hunger Index:

    •   http://graves.cl/ghi

•   Linking Open Government Data portal

    •   http://logd.tw.rpi.edu

•   Farmers Market

    •   http://graves.cl/farmersmarket

•   ESSI-LOD webapp

    •   http://aquarius.tw.rpi.edu/essi-lod/
Ejemplo
Se pueden crear componentes para todas las instancias
         de un clase (definida via rdf:type)
Bash


                 $ utils/lodspk.sh create type ex:Professor

                 components/
                           |
                           ->types/
File directory




                                   |
                                   ->ex:Professor/
                                                  |
                                                  ->html.template
                                                  |
                                                  ->queries/
                                                            |
                                                            ->sp.query
                                                            |
                                                            ->po.query
Componente para ex:Professor
SELECT ?alumno ?nombreAlumno WHERE{
  ?tesis ex:hasAdvisor <{{uri}}> .
                                                 alumnos.query
  ?alumno ex:hasThesis ?tesis;
          rdfs:label ?nombreAlumno .
}


SELECT ?nombre WHERE{                             details.query
  <{{uri}}> rdfs:label ?nombre
}


<h2>{{first.details.nombre.value}}</h2>          html.template
<div>
 <h4>Alumnos</h4>
 <ul>
  {%for i in models.alumnos%}
  <li>
   <a href='{{i.alumno.value}}'>{{i.nombreAlumno.value}}</a>
  </li>
  {%endfor%}
 </ul>
</div>
Componentes: Servicios
                  Es posible definir servicios que entregar datos
                     agregados (Ej: http://mysite.com/classes)
Bash




                 $ utils/lodspk.sh create service totalTesis

                 components/
                           |
File directory




                           ->service/
                                     |
                                     ->totalTesis/
                                                  |
                                                  ->html.template
                                                  |
                                                  ->queries/
                                                            |
                                                            ->main.query
Componente para totalTesis
SELECT (COUNT(DISTINCT ?tesis) AS ?total) ?profesor ?nombreProfesor
WHERE {
  ?tesis ex:hasAdvisor ?profesor .
  ?profesor rdfs:label ?nombreProfesor .
}GROUP BY ?profesor ?nombreProfesor                    main.query

<ul>
 {% for row in models.main %}
                                                    html.template
 <li>
  <a href="{{row.profesor.value}}">
   {{row.nombreProfesor.value}}
  </a> ({{row.total.value}})
 </li>
 {% endfor %}
</ul>

<div>
 {{models.main|GoogleVizPieChart:"nombreProfesor,total"}}
</div>
Como crear aplicaciones basadas en linked data usando lods pea kr

Más contenido relacionado

La actualidad más candente

Perspectivas en el ámbito del patrimonio digital: nuevos retos de futuro (2005)
Perspectivas en el ámbito del patrimonio digital: nuevos retos de futuro (2005)Perspectivas en el ámbito del patrimonio digital: nuevos retos de futuro (2005)
Perspectivas en el ámbito del patrimonio digital: nuevos retos de futuro (2005)Joseba Abaitua
 
Navegación y búsqueda en el cyberespacio
Navegación y búsqueda en el cyberespacioNavegación y búsqueda en el cyberespacio
Navegación y búsqueda en el cyberespacioanesantivale
 
A. Fuster. La era del Open Data: Caso de éxito y oportunidades. Semanainforma...
A. Fuster. La era del Open Data: Caso de éxito y oportunidades. Semanainforma...A. Fuster. La era del Open Data: Caso de éxito y oportunidades. Semanainforma...
A. Fuster. La era del Open Data: Caso de éxito y oportunidades. Semanainforma...
COIICV
 
Banco de archivos.pptx
Banco de archivos.pptx Banco de archivos.pptx
Banco de archivos.pptx
onceunogrj2014
 
Dspace: Herramienta de apoyo para la implementación de un Repositorio Institu...
Dspace: Herramienta de apoyo para la implementación de un Repositorio Institu...Dspace: Herramienta de apoyo para la implementación de un Repositorio Institu...
Dspace: Herramienta de apoyo para la implementación de un Repositorio Institu...
AMBACienSalud
 
aporte de internet
aporte de internetaporte de internet
aporte de internet
anjogonz
 

La actualidad más candente (6)

Perspectivas en el ámbito del patrimonio digital: nuevos retos de futuro (2005)
Perspectivas en el ámbito del patrimonio digital: nuevos retos de futuro (2005)Perspectivas en el ámbito del patrimonio digital: nuevos retos de futuro (2005)
Perspectivas en el ámbito del patrimonio digital: nuevos retos de futuro (2005)
 
Navegación y búsqueda en el cyberespacio
Navegación y búsqueda en el cyberespacioNavegación y búsqueda en el cyberespacio
Navegación y búsqueda en el cyberespacio
 
A. Fuster. La era del Open Data: Caso de éxito y oportunidades. Semanainforma...
A. Fuster. La era del Open Data: Caso de éxito y oportunidades. Semanainforma...A. Fuster. La era del Open Data: Caso de éxito y oportunidades. Semanainforma...
A. Fuster. La era del Open Data: Caso de éxito y oportunidades. Semanainforma...
 
Banco de archivos.pptx
Banco de archivos.pptx Banco de archivos.pptx
Banco de archivos.pptx
 
Dspace: Herramienta de apoyo para la implementación de un Repositorio Institu...
Dspace: Herramienta de apoyo para la implementación de un Repositorio Institu...Dspace: Herramienta de apoyo para la implementación de un Repositorio Institu...
Dspace: Herramienta de apoyo para la implementación de un Repositorio Institu...
 
aporte de internet
aporte de internetaporte de internet
aporte de internet
 

Destacado

Towards a better understanding of Social Machines
Towards a better understanding of Social MachinesTowards a better understanding of Social Machines
Towards a better understanding of Social Machines
Alvaro Graves
 
Integrating and publishing public safety data using semantic technologies
Integrating and publishing public safety data using semantic technologiesIntegrating and publishing public safety data using semantic technologies
Integrating and publishing public safety data using semantic technologiesAlvaro Graves
 
Publishing Linked Data with LODSPeaKr
Publishing Linked Data with LODSPeaKrPublishing Linked Data with LODSPeaKr
Publishing Linked Data with LODSPeaKrAlvaro Graves
 
Data Tuesday
Data TuesdayData Tuesday
Data Tuesday
Alvaro Graves
 
Creation of visualizations based on Linked Data
Creation of visualizations based on Linked DataCreation of visualizations based on Linked Data
Creation of visualizations based on Linked Data
Alvaro Graves
 
Visualizations using Visualbox
Visualizations using VisualboxVisualizations using Visualbox
Visualizations using Visualbox
Alvaro Graves
 
Creating Visualizations with Linked Open Data
Creating Visualizations with Linked Open DataCreating Visualizations with Linked Open Data
Creating Visualizations with Linked Open DataAlvaro Graves
 

Destacado (7)

Towards a better understanding of Social Machines
Towards a better understanding of Social MachinesTowards a better understanding of Social Machines
Towards a better understanding of Social Machines
 
Integrating and publishing public safety data using semantic technologies
Integrating and publishing public safety data using semantic technologiesIntegrating and publishing public safety data using semantic technologies
Integrating and publishing public safety data using semantic technologies
 
Publishing Linked Data with LODSPeaKr
Publishing Linked Data with LODSPeaKrPublishing Linked Data with LODSPeaKr
Publishing Linked Data with LODSPeaKr
 
Data Tuesday
Data TuesdayData Tuesday
Data Tuesday
 
Creation of visualizations based on Linked Data
Creation of visualizations based on Linked DataCreation of visualizations based on Linked Data
Creation of visualizations based on Linked Data
 
Visualizations using Visualbox
Visualizations using VisualboxVisualizations using Visualbox
Visualizations using Visualbox
 
Creating Visualizations with Linked Open Data
Creating Visualizations with Linked Open DataCreating Visualizations with Linked Open Data
Creating Visualizations with Linked Open Data
 

Similar a Como crear aplicaciones basadas en linked data usando lods pea kr

Desarrollo dirigido por modelo de servicios web REST
Desarrollo dirigido por modelo de servicios web RESTDesarrollo dirigido por modelo de servicios web REST
Desarrollo dirigido por modelo de servicios web REST
Jose R. Hilera
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
Jorge Iván Meza Martínez
 
Anatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodleAnatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodle
José Luis Granda
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVC
Vortexbird
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
omicx
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan phpCarlos Zantana
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
Facundo E. Goñi Perez
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
Vortexbird
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
Freelancer
 
Transformaciones modelo a texto: ACCELEO
Transformaciones modelo a texto: ACCELEOTransformaciones modelo a texto: ACCELEO
Transformaciones modelo a texto: ACCELEO
Ricardo Tesoriero
 
Laravel 5.1
Laravel 5.1Laravel 5.1
Laravel 5.1
René Sandoval
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
S4-DAW-2022S1.pptx
S4-DAW-2022S1.pptxS4-DAW-2022S1.pptx
S4-DAW-2022S1.pptx
Luis Fernando Aguas Bucheli
 
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_esInteroperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Sueli Suga
 
Tecnologias Web Semantica
Tecnologias Web SemanticaTecnologias Web Semantica
Tecnologias Web Semantica
Jose Emilio Labra Gayo
 
PHP Tema 7 - Seguridad
PHP Tema 7 - SeguridadPHP Tema 7 - Seguridad
PHP Tema 7 - Seguridad
Spacetoshare
 
Tutorial php basico
Tutorial php basicoTutorial php basico
Tutorial php basicoYo ♥ Tacna
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014
Carlos Camacho
 
Framework kahana
Framework kahanaFramework kahana
Framework kahana
H31D1
 

Similar a Como crear aplicaciones basadas en linked data usando lods pea kr (20)

Desarrollo dirigido por modelo de servicios web REST
Desarrollo dirigido por modelo de servicios web RESTDesarrollo dirigido por modelo de servicios web REST
Desarrollo dirigido por modelo de servicios web REST
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Anatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodleAnatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodle
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVC
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan php
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Transformaciones modelo a texto: ACCELEO
Transformaciones modelo a texto: ACCELEOTransformaciones modelo a texto: ACCELEO
Transformaciones modelo a texto: ACCELEO
 
Laravel 5.1
Laravel 5.1Laravel 5.1
Laravel 5.1
 
Koha biblioteca nacional v3
Koha biblioteca nacional v3Koha biblioteca nacional v3
Koha biblioteca nacional v3
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
S4-DAW-2022S1.pptx
S4-DAW-2022S1.pptxS4-DAW-2022S1.pptx
S4-DAW-2022S1.pptx
 
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_esInteroperabilidade de dados_entre_lilacs_e_artemisa_poster_es
Interoperabilidade de dados_entre_lilacs_e_artemisa_poster_es
 
Tecnologias Web Semantica
Tecnologias Web SemanticaTecnologias Web Semantica
Tecnologias Web Semantica
 
PHP Tema 7 - Seguridad
PHP Tema 7 - SeguridadPHP Tema 7 - Seguridad
PHP Tema 7 - Seguridad
 
Tutorial php basico
Tutorial php basicoTutorial php basico
Tutorial php basico
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014
 
Framework kahana
Framework kahanaFramework kahana
Framework kahana
 

Más de Alvaro Graves

Datos malos, robots tristes
Datos malos, robots tristesDatos malos, robots tristes
Datos malos, robots tristes
Alvaro Graves
 
Democratizing Open Data
Democratizing Open DataDemocratizing Open Data
Democratizing Open DataAlvaro Graves
 
Creating visualizations using Linked Data
Creating visualizations using Linked DataCreating visualizations using Linked Data
Creating visualizations using Linked Data
Alvaro Graves
 
Improving decision-making based on government data and visualizations
Improving decision-making based on government data and visualizationsImproving decision-making based on government data and visualizations
Improving decision-making based on government data and visualizationsAlvaro Graves
 
Creating web applications with LODSPeaKr
Creating web applications with LODSPeaKrCreating web applications with LODSPeaKr
Creating web applications with LODSPeaKrAlvaro Graves
 
Publicando RDF y Linked Data con LODSPeaKr
Publicando RDF  y Linked Data con LODSPeaKrPublicando RDF  y Linked Data con LODSPeaKr
Publicando RDF y Linked Data con LODSPeaKrAlvaro Graves
 
Open Data y participación ciudadana
Open Data y participación ciudadanaOpen Data y participación ciudadana
Open Data y participación ciudadanaAlvaro Graves
 
Web semántica y linked data la web como bd
Web semántica y linked data  la web como bdWeb semántica y linked data  la web como bd
Web semántica y linked data la web como bdAlvaro Graves
 
LODSPeaKr - Use cases Lighting Talk
LODSPeaKr - Use cases Lighting TalkLODSPeaKr - Use cases Lighting Talk
LODSPeaKr - Use cases Lighting Talk
Alvaro Graves
 
Publishing Linked Open Data in 15 minutes
Publishing Linked Open Data in 15 minutesPublishing Linked Open Data in 15 minutes
Publishing Linked Open Data in 15 minutes
Alvaro Graves
 
TWC LOGD: A Portal for Linking Government Data
TWC LOGD: A Portal for Linking Government DataTWC LOGD: A Portal for Linking Government Data
TWC LOGD: A Portal for Linking Government Data
Alvaro Graves
 
POMELo: A PML Online Editor
POMELo: A PML Online EditorPOMELo: A PML Online Editor
POMELo: A PML Online Editor
Alvaro Graves
 

Más de Alvaro Graves (12)

Datos malos, robots tristes
Datos malos, robots tristesDatos malos, robots tristes
Datos malos, robots tristes
 
Democratizing Open Data
Democratizing Open DataDemocratizing Open Data
Democratizing Open Data
 
Creating visualizations using Linked Data
Creating visualizations using Linked DataCreating visualizations using Linked Data
Creating visualizations using Linked Data
 
Improving decision-making based on government data and visualizations
Improving decision-making based on government data and visualizationsImproving decision-making based on government data and visualizations
Improving decision-making based on government data and visualizations
 
Creating web applications with LODSPeaKr
Creating web applications with LODSPeaKrCreating web applications with LODSPeaKr
Creating web applications with LODSPeaKr
 
Publicando RDF y Linked Data con LODSPeaKr
Publicando RDF  y Linked Data con LODSPeaKrPublicando RDF  y Linked Data con LODSPeaKr
Publicando RDF y Linked Data con LODSPeaKr
 
Open Data y participación ciudadana
Open Data y participación ciudadanaOpen Data y participación ciudadana
Open Data y participación ciudadana
 
Web semántica y linked data la web como bd
Web semántica y linked data  la web como bdWeb semántica y linked data  la web como bd
Web semántica y linked data la web como bd
 
LODSPeaKr - Use cases Lighting Talk
LODSPeaKr - Use cases Lighting TalkLODSPeaKr - Use cases Lighting Talk
LODSPeaKr - Use cases Lighting Talk
 
Publishing Linked Open Data in 15 minutes
Publishing Linked Open Data in 15 minutesPublishing Linked Open Data in 15 minutes
Publishing Linked Open Data in 15 minutes
 
TWC LOGD: A Portal for Linking Government Data
TWC LOGD: A Portal for Linking Government DataTWC LOGD: A Portal for Linking Government Data
TWC LOGD: A Portal for Linking Government Data
 
POMELo: A PML Online Editor
POMELo: A PML Online EditorPOMELo: A PML Online Editor
POMELo: A PML Online Editor
 

Último

TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
Carlos Carlosnoemi
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 

Último (20)

TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 

Como crear aplicaciones basadas en linked data usando lods pea kr

  • 1. Parte 2: ¿Cómo crear aplicaciones basadas en Linked Data? (Usando LODSPeaKr )
  • 2. LODSPeaKr • Framework para crear aplicaciones basadas en Linked Data • Permite publicación de datos en pocos minutos • Simplifica la exploración de datos • Permite crear APIs, webapps móviles, portales de datos, etc. • Requisito: Tener datos en un SPARQL endpoint
  • 3.
  • 4. Exploración por clases Es posible ver todas las clases que existen en el triple store
  • 5. Instancias de una clase LODSPeaKr lista todas las instancias de una clase.
  • 6. Exploración de una instancia Cualquier recurso que sea derreferenceable por LODSPeaKr es desplegado como una tabla de triples
  • 7. Módulos • Existen varios módulos • Al servir una URI, LODSPeaKr chequea en orden cuál va a ser ejecutado, dependiendo de distintas variables • Sólo se ejecuta un por cada URI
  • 8. Módulo: Type • Principio: Todas las URIs del mismo tipo debiesen ser servidas similarmente • Ej: Todas las personas tienen apellido, mientras que todos los computadores tienen RAM • Queremos mostrar a las personas de manera uniforme, y no necesariamente igual a los computadores
  • 9. Módulo: Type (2) • Cuando se pide una URI, LODSPeaKr busca su rdf:type en triple store • En base al tipo se pueden definir multiples consultas SPARQL y templado de cómo mostrar los datos (en HTML u otro) • Si no tiene tipo, se asume rdfs:Resource • Si una URI pertenece a más de una clase, se puede establecer prioridad sobre componentes y sólo se usa uno.
  • 10. Ejemplo módulo Type <- consulta1 <- consulta2
  • 11. Módulo: Service • Principio: Entregar información agregada debiese ser fácil • Service permite crear URIs que entreguen información agregada (Ej. lista de personas cuyo nombre empiece con “A”)
  • 12. Módulo: Service (2) • Si URI es un servicio, se ejecutan las consultas definidas por el usuario • Ej: “/classes” muestra todas las clases en endpoint • Service acepta argumentos en la URI de la forma /servicio/arg0/arg1/.../argn
  • 14. Multiples formatos • Usuario define qué y cómo entregar datos en HTML, LODSPeaKr se encarga del resto usando Content Negotiation • Reescritura de consultas SPARQL (SELECT -> CONSTRUCT) • RDF/XML, Turtle, N-Triples, RDF/JSON • Es posible definir consultas para cada formato (pero es mala idea) • Es posible definir vistas para cada formato (pero es mala idea, excepto JSON) • Ej: Servir BIBTEX desde Linked Data
  • 15. Otras características • ¿Cómo usar URIs http://otrodominio/... en mi sitio http:// midominio/? • LODSPeaKr provee espejado (mirroring) de URIs • ¿Cómo usar multiples endpoints? • LODSPeaKr permite ejecutar consultas SPARQL en diferentes endpoints • Es posible usar resultados intermedios en nuevas consultas • Templado basado en Haanga, similar a pseudo código
  • 16. Conclusiones • LODSPeaKr es un framework Open Source con múltiples funcionalidades para crear aplicaciones basadas en Linked Data • Las cosas simples debiesen ser simples • Publicar datos en 5 estrellas • Las cosas difíciles debiesen ser posibles • Módulos por tipos, servicios • Templado por tipo, usando Haanga • Multiples endpoints, múltiples formatos
  • 17. Trabajo futuro • Portar a Python (posiblemente) • rdflib > ARC2 • Aplicaciones Read/Write • Reusar aplicaciones
  • 18. Ejemplos http://lodspeakr.org • Global Hunger Index: • http://graves.cl/ghi • Linking Open Government Data portal • http://logd.tw.rpi.edu • Farmers Market • http://graves.cl/farmersmarket • ESSI-LOD webapp • http://aquarius.tw.rpi.edu/essi-lod/
  • 20. Se pueden crear componentes para todas las instancias de un clase (definida via rdf:type) Bash $ utils/lodspk.sh create type ex:Professor components/ | ->types/ File directory | ->ex:Professor/ | ->html.template | ->queries/ | ->sp.query | ->po.query
  • 21. Componente para ex:Professor SELECT ?alumno ?nombreAlumno WHERE{ ?tesis ex:hasAdvisor <{{uri}}> . alumnos.query ?alumno ex:hasThesis ?tesis; rdfs:label ?nombreAlumno . } SELECT ?nombre WHERE{ details.query <{{uri}}> rdfs:label ?nombre } <h2>{{first.details.nombre.value}}</h2> html.template <div> <h4>Alumnos</h4> <ul> {%for i in models.alumnos%} <li> <a href='{{i.alumno.value}}'>{{i.nombreAlumno.value}}</a> </li> {%endfor%} </ul> </div>
  • 22.
  • 23. Componentes: Servicios Es posible definir servicios que entregar datos agregados (Ej: http://mysite.com/classes) Bash $ utils/lodspk.sh create service totalTesis components/ | File directory ->service/ | ->totalTesis/ | ->html.template | ->queries/ | ->main.query
  • 24. Componente para totalTesis SELECT (COUNT(DISTINCT ?tesis) AS ?total) ?profesor ?nombreProfesor WHERE { ?tesis ex:hasAdvisor ?profesor . ?profesor rdfs:label ?nombreProfesor . }GROUP BY ?profesor ?nombreProfesor main.query <ul> {% for row in models.main %} html.template <li> <a href="{{row.profesor.value}}"> {{row.nombreProfesor.value}} </a> ({{row.total.value}}) </li> {% endfor %} </ul> <div> {{models.main|GoogleVizPieChart:"nombreProfesor,total"}} </div>

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n