SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 

Kürzlich hochgeladen (20)

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 

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>

Hinweis der Redaktion

  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