SlideShare una empresa de Scribd logo
1 de 25
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 internetanjogonz
 

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 MachinesAlvaro 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
 
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 DataAlvaro Graves
 
Visualizations using Visualbox
Visualizations using VisualboxVisualizations using Visualbox
Visualizations using VisualboxAlvaro 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 RESTJose R. Hilera
 
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 moodleJosé Luis Granda
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCVortexbird
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itstomicx
 
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 WebFacundo 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-RSVortexbird
 
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 RailsFreelancer
 
Transformaciones modelo a texto: ACCELEO
Transformaciones modelo a texto: ACCELEOTransformaciones modelo a texto: ACCELEO
Transformaciones modelo a texto: ACCELEORicardo Tesoriero
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
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_esSueli Suga
 
PHP Tema 7 - Seguridad
PHP Tema 7 - SeguridadPHP Tema 7 - Seguridad
PHP Tema 7 - SeguridadSpacetoshare
 
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 2014Carlos Camacho
 
Framework kahana
Framework kahanaFramework kahana
Framework kahanaH31D1
 

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 tristesAlvaro 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 DataAlvaro 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 TalkAlvaro 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 minutesAlvaro 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 DataAlvaro Graves
 
POMELo: A PML Online Editor
POMELo: A PML Online EditorPOMELo: A PML Online Editor
POMELo: A PML Online EditorAlvaro 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

David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 

Último (20)

David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 

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