• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
trioo, estudio e implementación de modelos de datos RDF en lenguajes orientados a objetos
 

trioo, estudio e implementación de modelos de datos RDF en lenguajes orientados a objetos

on

  • 1,489 views

My Master's thesis presentation

My Master's thesis presentation

Statistics

Views

Total Views
1,489
Views on SlideShare
1,488
Embed Views
1

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    trioo, estudio e implementación de modelos de datos RDF en lenguajes orientados a objetos trioo, estudio e implementación de modelos de datos RDF en lenguajes orientados a objetos Presentation Transcript

    • trioo Sergio Fern´ndez a Motivaci´n o trioo Trabajo relacionado estudio e implementaci´n de modelos de datos RDF o Modelos en lenguajes orientados a objetos Implementaciones Diseminaci´n o Conclusiones y Sergio Fern´ndez a trabajo futuro Director: Jos´ Emilio Labra e Co-Director: Diego Berrueta Trabajo Fin de M´ster a M´ster en Ingenier´ Web a ıa Universidad de Oviedo Oviedo, 28 de julio de 2010
    • trioo Esquema Sergio Fern´ndez a Motivaci´n o Trabajo Motivaci´n o relacionado Modelos Implementaciones Trabajo relacionado Diseminaci´n o Conclusiones y trabajo futuro Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Esquema Sergio Fern´ndez a Motivaci´n o Trabajo Motivaci´n o relacionado Modelos Implementaciones Trabajo relacionado Diseminaci´n o Conclusiones y trabajo futuro Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Motivaci´n o Sergio Fern´ndez a Motivaci´n o Trabajo relacionado La Web de datos (Web of Data) ofrece una nueva Modelos aproximaci´n para explotar datos de manera distribuida en la o Implementaciones Web Diseminaci´n o Conclusiones y trabajo futuro Gran cantidad de datos publicados como RDF (Linked Data) Listos para ser consumidos usando protocolos est´ndar a (HTTP) y lenguajes de consulta (SPARQL)
    • trioo Motivaci´n (III) o Sergio Fern´ndez a Linking Open Data cloud: Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Motivaci´n (III) o Sergio Fern´ndez a Motivaci´n o Lamentablemente los m´todos actuales para acceder a esos e Trabajo datos RDF exigen al programador conocimientos avanzados relacionado del modelos de datos RDF: Modelos Implementaciones Diseminaci´n o Por tanto se convierte en una barrera que hay que Conclusiones y trabajo futuro tratar de saltar Permitiendo el uso de esos datos sin que tenga efectos negativos en los dise˜os orientados a objetos n A la vez que se trate de mantener la sem´ntica de los a datos lo m´s fiel posible dentro de las los lenguajes a orientados a objetos
    • trioo Metodolog´ ıa Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Profundo estudio del estado del arte Diseminaci´n o Conclusiones y trabajo futuro An´lisis te´rico a o Implementaciones para validar los resultados
    • trioo Esquema Sergio Fern´ndez a Motivaci´n o Trabajo Motivaci´n o relacionado Modelos Implementaciones Trabajo relacionado Diseminaci´n o Conclusiones y trabajo futuro Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Trabajo relacionado Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Trabajo relacionado Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Este trabajo est´ estrechamente relacionado con el a trabajo realizado estos a˜os acerca de: n Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Trabajo relacionado Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Este trabajo est´ estrechamente relacionado con el a trabajo realizado estos a˜os acerca de: n Implementaciones Diseminaci´n o Conclusiones y el mapeo de objetos al modelo relacional trabajo futuro
    • trioo Trabajo relacionado Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Este trabajo est´ estrechamente relacionado con el a trabajo realizado estos a˜os acerca de: n Implementaciones Diseminaci´n o Conclusiones y el mapeo de objetos al modelo relacional trabajo futuro el acceso a datos en la Web (Sem´ntica) a
    • trioo Trabajo relacionado Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Este trabajo est´ estrechamente relacionado con el a trabajo realizado estos a˜os acerca de: n Implementaciones Diseminaci´n o Conclusiones y el mapeo de objetos al modelo relacional trabajo futuro el acceso a datos en la Web (Sem´ntica) a Por tanto se aplican parecidas t´cnicas y patrones de e dise˜o (Active Record, Data Mapper y dem´s). n a
    • trioo Trabajo relacionado (II): almacenes tradicionales Sergio Fern´ndez a Motivaci´n o (en este trabajo el t´rmino “almacenes tradicionales” realmente se e Trabajo relacionado refiere a las bases de datos relacionales tradicionales) Modelos Implementaciones Diseminaci´n o En los ultimos a˜os se ha hecho un esfuerzo importante en ´ n Conclusiones y trabajo futuro ese ´rea, por lo que han surgido muchas herramientas: a
    • trioo Trabajo relacionado (II): almacenes tradicionales Sergio Fern´ndez a Motivaci´n o (en este trabajo el t´rmino “almacenes tradicionales” realmente se e Trabajo relacionado refiere a las bases de datos relacionales tradicionales) Modelos Implementaciones Diseminaci´n o En los ultimos a˜os se ha hecho un esfuerzo importante en ´ n Conclusiones y trabajo futuro ese ´rea, por lo que han surgido muchas herramientas: a ActiveRecord para Ruby
    • trioo Trabajo relacionado (II): almacenes tradicionales Sergio Fern´ndez a Motivaci´n o (en este trabajo el t´rmino “almacenes tradicionales” realmente se e Trabajo relacionado refiere a las bases de datos relacionales tradicionales) Modelos Implementaciones Diseminaci´n o En los ultimos a˜os se ha hecho un esfuerzo importante en ´ n Conclusiones y trabajo futuro ese ´rea, por lo que han surgido muchas herramientas: a ActiveRecord para Ruby Django Models y SQLAlchemy para Python
    • trioo Trabajo relacionado (II): almacenes tradicionales Sergio Fern´ndez a Motivaci´n o (en este trabajo el t´rmino “almacenes tradicionales” realmente se e Trabajo relacionado refiere a las bases de datos relacionales tradicionales) Modelos Implementaciones Diseminaci´n o En los ultimos a˜os se ha hecho un esfuerzo importante en ´ n Conclusiones y trabajo futuro ese ´rea, por lo que han surgido muchas herramientas: a ActiveRecord para Ruby Django Models y SQLAlchemy para Python GORM para Grails
    • trioo Trabajo relacionado (II): almacenes tradicionales Sergio Fern´ndez a Motivaci´n o (en este trabajo el t´rmino “almacenes tradicionales” realmente se e Trabajo relacionado refiere a las bases de datos relacionales tradicionales) Modelos Implementaciones Diseminaci´n o En los ultimos a˜os se ha hecho un esfuerzo importante en ´ n Conclusiones y trabajo futuro ese ´rea, por lo que han surgido muchas herramientas: a ActiveRecord para Ruby Django Models y SQLAlchemy para Python GORM para Grails Hibernate (JPA) y MyBatis para Java
    • trioo Trabajo relacionado (II): almacenes tradicionales Sergio Fern´ndez a Motivaci´n o (en este trabajo el t´rmino “almacenes tradicionales” realmente se e Trabajo relacionado refiere a las bases de datos relacionales tradicionales) Modelos Implementaciones Diseminaci´n o En los ultimos a˜os se ha hecho un esfuerzo importante en ´ n Conclusiones y trabajo futuro ese ´rea, por lo que han surgido muchas herramientas: a ActiveRecord para Ruby Django Models y SQLAlchemy para Python GORM para Grails Hibernate (JPA) y MyBatis para Java Y muchos otros...
    • trioo Trabajo relacionado (III) Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Trabajo relacionado (III) Sergio Fern´ndez a Motivaci´n o Almacenes orientados a objetos: Trabajo JDO relacionado Dobblin Modelos Durus Implementaciones ZODB Diseminaci´n o ... Conclusiones y trabajo futuro
    • trioo Trabajo relacionado (III) Sergio Fern´ndez a Motivaci´n o Almacenes orientados a objetos: Trabajo JDO relacionado Dobblin Modelos Durus Implementaciones ZODB Diseminaci´n o ... Conclusiones y Almacenes XML: trabajo futuro JAXB ...
    • trioo Trabajo relacionado (III) Sergio Fern´ndez a Motivaci´n o Almacenes orientados a objetos: Trabajo JDO relacionado Dobblin Modelos Durus Implementaciones ZODB Diseminaci´n o ... Conclusiones y Almacenes XML: trabajo futuro JAXB ... Almacenes libres de esquema: NoSQL ...
    • trioo Trabajo relacionado (III) Sergio Fern´ndez a Motivaci´n o Almacenes orientados a objetos: Trabajo JDO relacionado Dobblin Modelos Durus Implementaciones ZODB Diseminaci´n o ... Conclusiones y Almacenes XML: trabajo futuro JAXB ... Almacenes libres de esquema: NoSQL ... Pero tambi´n otras aproximaciones m´s horizontales: e a LINQ DataNucleus AccessPlatform ...
    • trioo Trabajo relacionado (IV): almacenes RDF Sergio Fern´ndez a Tambi´n han surgido propuestas similares para hacer esto e Motivaci´n o Trabajo con RDF: relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Trabajo relacionado (IV): almacenes RDF Sergio Fern´ndez a Tambi´n han surgido propuestas similares para hacer esto e Motivaci´n o Trabajo con RDF: relacionado Modelos Implementaciones ActiveRDF y Spira para Ruby Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Trabajo relacionado (IV): almacenes RDF Sergio Fern´ndez a Tambi´n han surgido propuestas similares para hacer esto e Motivaci´n o Trabajo con RDF: relacionado Modelos Implementaciones ActiveRDF y Spira para Ruby Diseminaci´n o Empire y Sommer para Java Conclusiones y trabajo futuro
    • trioo Trabajo relacionado (IV): almacenes RDF Sergio Fern´ndez a Tambi´n han surgido propuestas similares para hacer esto e Motivaci´n o Trabajo con RDF: relacionado Modelos Implementaciones ActiveRDF y Spira para Ruby Diseminaci´n o Empire y Sommer para Java Conclusiones y trabajo futuro Moriarty para PHP
    • trioo Trabajo relacionado (IV): almacenes RDF Sergio Fern´ndez a Tambi´n han surgido propuestas similares para hacer esto e Motivaci´n o Trabajo con RDF: relacionado Modelos Implementaciones ActiveRDF y Spira para Ruby Diseminaci´n o Empire y Sommer para Java Conclusiones y trabajo futuro Moriarty para PHP SuRF para Python
    • trioo Trabajo relacionado (IV): almacenes RDF Sergio Fern´ndez a Tambi´n han surgido propuestas similares para hacer esto e Motivaci´n o Trabajo con RDF: relacionado Modelos Implementaciones ActiveRDF y Spira para Ruby Diseminaci´n o Empire y Sommer para Java Conclusiones y trabajo futuro Moriarty para PHP SuRF para Python Y algunos otros...
    • trioo Trabajo relacionado (IV): almacenes RDF Sergio Fern´ndez a Tambi´n han surgido propuestas similares para hacer esto e Motivaci´n o Trabajo con RDF: relacionado Modelos Implementaciones ActiveRDF y Spira para Ruby Diseminaci´n o Empire y Sommer para Java Conclusiones y trabajo futuro Moriarty para PHP SuRF para Python Y algunos otros... Desafortunadamente estas propuestas est´n demasiado a influenciadas por otras tecnolog´ que guardan poca ıas relaci´n con RDF, y abusan de implementar APIs o propietarias para realizar la persistencia en lugar de utilizar aproximaciones m´s puras basadas en SPARQL. a
    • trioo Esquema Sergio Fern´ndez a Motivaci´n o Trabajo Motivaci´n o relacionado Modelos Implementaciones Trabajo relacionado Diseminaci´n o Conclusiones y trabajo futuro Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Modelo computacional orientado a objetos Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Realmente no existe un unico modelo, com´nmente los ´ u Modelos lenguajes de programaci´n orientados a objetos se dividen en o Implementaciones dos grandes familias: Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Modelo computacional orientado a objetos Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Realmente no existe un unico modelo, com´nmente los ´ u Modelos lenguajes de programaci´n orientados a objetos se dividen en o Implementaciones dos grandes familias: Diseminaci´n o Conclusiones y trabajo futuro Lenguajes de programaci´n orientados a objetos o basados en clases
    • trioo Modelo computacional orientado a objetos Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Realmente no existe un unico modelo, com´nmente los ´ u Modelos lenguajes de programaci´n orientados a objetos se dividen en o Implementaciones dos grandes familias: Diseminaci´n o Conclusiones y trabajo futuro Lenguajes de programaci´n orientados a objetos o basados en clases Lenguajes de programaci´n orientados a objetos o basados en prototipos
    • trioo RDF Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos RDF (Resource Description Framework) es un lenguaje Implementaciones asertacional que provee un flexible y extensible modelo de Diseminaci´n o datos. Conclusiones y trabajo futuro Basado en el concepto de tripleta: (sujeto, predicado, objeto)
    • trioo RDF (II) Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Comparaci´n de modelos o Sergio Fern´ndez a Motivaci´n o Trabajo Ambos modelos presentan algunas diferencias: relacionado Modelos Implementaciones Diseminaci´n o OO RDF Conclusiones y trabajo futuro Aproximaci´n o Computacional Asertacional Identidad Comparable Universal Tipado Simple M´ltiple u Inferencia Dependiente de Dependiente tipos los propios objetos de las propiedades (s´lo algunos lenguajes) o Navegabilidad a trav´s de los atributos e a trav´s de los arcos e
    • trioo Comparaci´n de modelos o Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Tambi´n hay otros aspectos que dif´ e ıcilmente ser´n a Implementaciones alcanzables, por ejemplo: Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Comparaci´n de modelos o Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Tambi´n hay otros aspectos que dif´ e ıcilmente ser´n a Implementaciones alcanzables, por ejemplo: Diseminaci´n o Conclusiones y trabajo futuro Expresividad
    • trioo Comparaci´n de modelos o Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Tambi´n hay otros aspectos que dif´ e ıcilmente ser´n a Implementaciones alcanzables, por ejemplo: Diseminaci´n o Conclusiones y trabajo futuro Expresividad Restricciones de integridad
    • trioo Comparaci´n de modelos o Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Tambi´n hay otros aspectos que dif´ e ıcilmente ser´n a Implementaciones alcanzables, por ejemplo: Diseminaci´n o Conclusiones y trabajo futuro Expresividad Restricciones de integridad Versionado
    • trioo Esquema Sergio Fern´ndez a Motivaci´n o Trabajo Motivaci´n o relacionado Modelos Implementaciones Trabajo relacionado Diseminaci´n o Conclusiones y trabajo futuro Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Implementaciones Sergio Fern´ndez a Motivaci´n o Realizadas para validar el estudio te´rico: o Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro Aunque pretendiendo que sean usables y funcionales.
    • trioo Implementaciones Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Actualmente se ha desarrollado la idea en dos Modelos implementaciones de referencia, basando la elecci´n en el o Implementaciones estudio realizado para determinar cales ser´ ıan Diseminaci´n o potencialmente m´s interesantes: a Conclusiones y trabajo futuro Una implementaci´n utilizando un lenguaje basado en o clases (Java) Otra en un lenguaje basado en prototipos (Python)
    • trioo jtrioo Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos La implementaci´n den Java o Implementaciones Diseminaci´n o Se utiliza mediante anotaciones Conclusiones y trabajo futuro Persistencia totalmente basada en SPARQL/SPARUL, tanto de forma local como remota Publicaci´n directa de Linked Data en aplicaciones o JavaEE
    • trioo jtrioo (II) Sergio Fern´ndez a Motivaci´n o Trabajo 1 @RdfResource ( type = " foaf : Person " ) relacionado 2 @URI ( base = " http :// example . org / person / " , parts = " name " ) Modelos 3 public class Person { 4 Implementaciones 5 @RdfProperty ( type = " foaf : title " , optional = true ) Diseminaci´n o 6 private String title ; Conclusiones y 7 trabajo futuro 8 @Literal ( type = " foaf : name " , lang = " es " ) 9 private String name ; 10 11 @RdfProperty ( type = " foaf : knows " , 12 fetch = FetchType . LAZY ) 13 private List < Person > knows ; 14 15 // ... 16 17 }
    • trioo pryoo Sergio Fern´ndez a Motivaci´n o Trabajo relacionado La implementaci´n en Python o Modelos Implementaciones Diseminaci´n o API mucho m´s flexible, con un uso intensivo de la a Conclusiones y reflectividad estructural que ofrece el lenguaje trabajo futuro A´n en un temprano estado de desarrollo u Persistencia s´lo sobre endpoints remotos, dado que no o existe implementaci´n nativa para SPARUL en Python o
    • trioo pryoo (II) Sergio Fern´ndez a Motivaci´n o Trabajo relacionado 1 >>> from pryoo import RdfResource Modelos 2 >>> sergio = RdfResource . retrieve ( " http :// www . wikier Implementaciones . org / foaf # wikier " ) Diseminaci´n o 3 >>> sergio . rdftype 4 [ foaf : Person ] Conclusiones y trabajo futuro 5 >>> sergio . foaf_name 6 ’ Sergio Fernandez ’ 7 >>> len ( sergio . foaf_knows ) 8 38 9 >>> diego = sergio . foaf_knows [ " http :// berrueta . net / foaf . rdf # me " ] 10 >>> diego . foaf_name 11 ’ Diego Berrueta ’
    • trioo Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o demostraci´n o Conclusiones y trabajo futuro
    • trioo Esquema Sergio Fern´ndez a Motivaci´n o Trabajo Motivaci´n o relacionado Modelos Implementaciones Trabajo relacionado Diseminaci´n o Conclusiones y trabajo futuro Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Diseminaci´n o Sergio Fern´ndez a Motivaci´n o Trabajo Sergio Fern´ndez, Diego a relacionado Berrueta, Miguel Garc´ıa Modelos Implementaciones Rodr´ıguez, and Jose E. Labra. Diseminaci´n o TRIOO, Keeping the Conclusiones y Semantics of Data Safe and trabajo futuro Sound into Object-Oriented Software. In Proceedings of the 5th International Conference on Software and Data Technologies (ICSOFT 2010), Athens, Greece, July 22-24, 2010.
    • trioo Esquema Sergio Fern´ndez a Motivaci´n o Trabajo Motivaci´n o relacionado Modelos Implementaciones Trabajo relacionado Diseminaci´n o Conclusiones y trabajo futuro Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
    • trioo Conclusiones y trabajo futuro Sergio Fern´ndez a Este trabajo de investigaci´n marca las lineas generales o Motivaci´n o a seguir Trabajo relacionado Modelos Actualmente s´lo se han integrado ambos modelos de o Implementaciones datos Diseminaci´n o Conclusiones y Pero el prop´sito final pretende realizar una integraci´n o o trabajo futuro a nivel sem´ntico a Se han de asimilar con m´s pausa las conclusiones a extra´ ıdas de las implementaciones Mejor´ndolas a Abordando nuevas implementaciones Probablemente C# y JavaScript
    • trioo Sergio Fern´ndez a Motivaci´n o Muchas gracias Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro M´s informaci´n en:: a o http://trioo.wikier.org/ Esta presentaci´n est´ disponible bajo la licencia o a Creative Commons Reconocimiento CompartirIgual