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

55
trioo Sergio Fern´ andez Motivaci´on Trabajo relacionado Modelos Implementaciones Diseminaci´on Conclusiones y trabajo futuro trioo estudio e implementaci´ on de modelos de datos RDF en lenguajes orientados a objetos Sergio Fern´ andez Director: Jos´ e Emilio Labra Co-Director: Diego Berrueta Trabajo Fin de M´ aster aster en Ingenier´ ıa Web Universidad de Oviedo Oviedo, 28 de julio de 2010

description

My Master's thesis presentation

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

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

triooestudio e implementacion de modelos de datos RDF

en lenguajes orientados a objetos

Sergio Fernandez

Director: Jose Emilio LabraCo-Director: Diego Berrueta

Trabajo Fin de MasterMaster en Ingenierıa Web

Universidad de Oviedo

Oviedo, 28 de julio de 2010

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Esquema

Motivacion

Trabajo relacionado

Modelos

Implementaciones

Diseminacion

Conclusiones y trabajo futuro

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Esquema

Motivacion

Trabajo relacionado

Modelos

Implementaciones

Diseminacion

Conclusiones y trabajo futuro

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Motivacion

La Web de datos (Web of Data) ofrece una nuevaaproximacion para explotar datos de manera distribuida en laWeb

I Gran cantidad de datos publicados como RDF (LinkedData)

I Listos para ser consumidos usando protocolos estandar(HTTP) y lenguajes de consulta (SPARQL)

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Motivacion (III)Linking Open Data cloud:

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Motivacion (III)

Lamentablemente los metodos actuales para acceder a esosdatos RDF exigen al programador conocimientos avanzadosdel modelos de datos RDF:

I Por tanto se convierte en una barrera que hay quetratar de saltar

I Permitiendo el uso de esos datos sin que tenga efectosnegativos en los disenos orientados a objetos

I A la vez que se trate de mantener la semantica de losdatos lo mas fiel posible dentro de las los lenguajesorientados a objetos

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Metodologıa

I Profundo estudio del estado del arte

I Analisis teorico

I Implementaciones para validar los resultados

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Esquema

Motivacion

Trabajo relacionado

Modelos

Implementaciones

Diseminacion

Conclusiones y trabajo futuro

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado

I Este trabajo esta estrechamente relacionado con eltrabajo realizado estos anos acerca de:

I el mapeo de objetos al modelo relacional

I el acceso a datos en la Web (Semantica)

I Por tanto se aplican parecidas tecnicas y patrones dediseno (Active Record, Data Mapper y demas).

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado

I Este trabajo esta estrechamente relacionado con eltrabajo realizado estos anos acerca de:

I el mapeo de objetos al modelo relacional

I el acceso a datos en la Web (Semantica)

I Por tanto se aplican parecidas tecnicas y patrones dediseno (Active Record, Data Mapper y demas).

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado

I Este trabajo esta estrechamente relacionado con eltrabajo realizado estos anos acerca de:

I el mapeo de objetos al modelo relacional

I el acceso a datos en la Web (Semantica)

I Por tanto se aplican parecidas tecnicas y patrones dediseno (Active Record, Data Mapper y demas).

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado

I Este trabajo esta estrechamente relacionado con eltrabajo realizado estos anos acerca de:

I el mapeo de objetos al modelo relacional

I el acceso a datos en la Web (Semantica)

I Por tanto se aplican parecidas tecnicas y patrones dediseno (Active Record, Data Mapper y demas).

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado

I Este trabajo esta estrechamente relacionado con eltrabajo realizado estos anos acerca de:

I el mapeo de objetos al modelo relacional

I el acceso a datos en la Web (Semantica)

I Por tanto se aplican parecidas tecnicas y patrones dediseno (Active Record, Data Mapper y demas).

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (II): almacenes tradicionales

(en este trabajo el termino “almacenes tradicionales” realmente se

refiere a las bases de datos relacionales tradicionales)

En los ultimos anos se ha hecho un esfuerzo importante enese area, por lo que han surgido muchas herramientas:

I ActiveRecord para Ruby

I Django Models y SQLAlchemy para Python

I GORM para Grails

I Hibernate (JPA) y MyBatis para Java

I Y muchos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (II): almacenes tradicionales

(en este trabajo el termino “almacenes tradicionales” realmente se

refiere a las bases de datos relacionales tradicionales)

En los ultimos anos se ha hecho un esfuerzo importante enese area, por lo que han surgido muchas herramientas:

I ActiveRecord para Ruby

I Django Models y SQLAlchemy para Python

I GORM para Grails

I Hibernate (JPA) y MyBatis para Java

I Y muchos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (II): almacenes tradicionales

(en este trabajo el termino “almacenes tradicionales” realmente se

refiere a las bases de datos relacionales tradicionales)

En los ultimos anos se ha hecho un esfuerzo importante enese area, por lo que han surgido muchas herramientas:

I ActiveRecord para Ruby

I Django Models y SQLAlchemy para Python

I GORM para Grails

I Hibernate (JPA) y MyBatis para Java

I Y muchos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (II): almacenes tradicionales

(en este trabajo el termino “almacenes tradicionales” realmente se

refiere a las bases de datos relacionales tradicionales)

En los ultimos anos se ha hecho un esfuerzo importante enese area, por lo que han surgido muchas herramientas:

I ActiveRecord para Ruby

I Django Models y SQLAlchemy para Python

I GORM para Grails

I Hibernate (JPA) y MyBatis para Java

I Y muchos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (II): almacenes tradicionales

(en este trabajo el termino “almacenes tradicionales” realmente se

refiere a las bases de datos relacionales tradicionales)

En los ultimos anos se ha hecho un esfuerzo importante enese area, por lo que han surgido muchas herramientas:

I ActiveRecord para Ruby

I Django Models y SQLAlchemy para Python

I GORM para Grails

I Hibernate (JPA) y MyBatis para Java

I Y muchos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (II): almacenes tradicionales

(en este trabajo el termino “almacenes tradicionales” realmente se

refiere a las bases de datos relacionales tradicionales)

En los ultimos anos se ha hecho un esfuerzo importante enese area, por lo que han surgido muchas herramientas:

I ActiveRecord para Ruby

I Django Models y SQLAlchemy para Python

I GORM para Grails

I Hibernate (JPA) y MyBatis para Java

I Y muchos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (III)

I Almacenes orientados a objetos:I JDOI DobblinI DurusI ZODBI ...

I Almacenes XML:I JAXBI ...

I Almacenes libres de esquema:I NoSQLI ...

I Pero tambien otras aproximaciones mas horizontales:I LINQI DataNucleus AccessPlatformI ...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (III)

I Almacenes orientados a objetos:I JDOI DobblinI DurusI ZODBI ...

I Almacenes XML:I JAXBI ...

I Almacenes libres de esquema:I NoSQLI ...

I Pero tambien otras aproximaciones mas horizontales:I LINQI DataNucleus AccessPlatformI ...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (III)

I Almacenes orientados a objetos:I JDOI DobblinI DurusI ZODBI ...

I Almacenes XML:I JAXBI ...

I Almacenes libres de esquema:I NoSQLI ...

I Pero tambien otras aproximaciones mas horizontales:I LINQI DataNucleus AccessPlatformI ...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (III)

I Almacenes orientados a objetos:I JDOI DobblinI DurusI ZODBI ...

I Almacenes XML:I JAXBI ...

I Almacenes libres de esquema:I NoSQLI ...

I Pero tambien otras aproximaciones mas horizontales:I LINQI DataNucleus AccessPlatformI ...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (III)

I Almacenes orientados a objetos:I JDOI DobblinI DurusI ZODBI ...

I Almacenes XML:I JAXBI ...

I Almacenes libres de esquema:I NoSQLI ...

I Pero tambien otras aproximaciones mas horizontales:I LINQI DataNucleus AccessPlatformI ...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (IV): almacenes RDF

Tambien han surgido propuestas similares para hacer estocon RDF:

I ActiveRDF y Spira para Ruby

I Empire y Sommer para Java

I Moriarty para PHP

I SuRF para Python

I Y algunos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (IV): almacenes RDF

Tambien han surgido propuestas similares para hacer estocon RDF:

I ActiveRDF y Spira para Ruby

I Empire y Sommer para Java

I Moriarty para PHP

I SuRF para Python

I Y algunos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (IV): almacenes RDF

Tambien han surgido propuestas similares para hacer estocon RDF:

I ActiveRDF y Spira para Ruby

I Empire y Sommer para Java

I Moriarty para PHP

I SuRF para Python

I Y algunos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (IV): almacenes RDF

Tambien han surgido propuestas similares para hacer estocon RDF:

I ActiveRDF y Spira para Ruby

I Empire y Sommer para Java

I Moriarty para PHP

I SuRF para Python

I Y algunos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (IV): almacenes RDF

Tambien han surgido propuestas similares para hacer estocon RDF:

I ActiveRDF y Spira para Ruby

I Empire y Sommer para Java

I Moriarty para PHP

I SuRF para Python

I Y algunos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (IV): almacenes RDF

Tambien han surgido propuestas similares para hacer estocon RDF:

I ActiveRDF y Spira para Ruby

I Empire y Sommer para Java

I Moriarty para PHP

I SuRF para Python

I Y algunos otros...

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Trabajo relacionado (IV): almacenes RDF

Tambien han surgido propuestas similares para hacer estocon RDF:

I ActiveRDF y Spira para Ruby

I Empire y Sommer para Java

I Moriarty para PHP

I SuRF para Python

I Y algunos otros...

Desafortunadamente estas propuestas estan demasiadoinfluenciadas por otras tecnologıas que guardan pocarelacion con RDF, y abusan de implementar APIspropietarias para realizar la persistencia en lugar de utilizaraproximaciones mas puras basadas en SPARQL.

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Esquema

Motivacion

Trabajo relacionado

Modelos

Implementaciones

Diseminacion

Conclusiones y trabajo futuro

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Modelo computacional orientado a objetos

Realmente no existe un unico modelo, comunmente loslenguajes de programacion orientados a objetos se dividen endos grandes familias:

I Lenguajes de programacion orientados a objetosbasados en clases

I Lenguajes de programacion orientados a objetosbasados en prototipos

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Modelo computacional orientado a objetos

Realmente no existe un unico modelo, comunmente loslenguajes de programacion orientados a objetos se dividen endos grandes familias:

I Lenguajes de programacion orientados a objetosbasados en clases

I Lenguajes de programacion orientados a objetosbasados en prototipos

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Modelo computacional orientado a objetos

Realmente no existe un unico modelo, comunmente loslenguajes de programacion orientados a objetos se dividen endos grandes familias:

I Lenguajes de programacion orientados a objetosbasados en clases

I Lenguajes de programacion orientados a objetosbasados en prototipos

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

RDF

RDF (Resource Description Framework) es un lenguajeasertacional que provee un flexible y extensible modelo dedatos.

Basado en el concepto de tripleta:

(sujeto, predicado, objeto)

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

RDF (II)

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Comparacion de modelos

Ambos modelos presentan algunas diferencias:

OO RDFAproximacion Computacional Asertacional

Identidad Comparable UniversalTipado Simple Multiple

Inferencia Dependiente de Dependientetipos los propios objetos de las propiedades

(solo algunos lenguajes)Navegabilidad a traves de los atributos a traves de los arcos

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Comparacion de modelos

Tambien hay otros aspectos que difıcilmente seranalcanzables, por ejemplo:

I Expresividad

I Restricciones de integridad

I Versionado

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Comparacion de modelos

Tambien hay otros aspectos que difıcilmente seranalcanzables, por ejemplo:

I Expresividad

I Restricciones de integridad

I Versionado

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Comparacion de modelos

Tambien hay otros aspectos que difıcilmente seranalcanzables, por ejemplo:

I Expresividad

I Restricciones de integridad

I Versionado

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Comparacion de modelos

Tambien hay otros aspectos que difıcilmente seranalcanzables, por ejemplo:

I Expresividad

I Restricciones de integridad

I Versionado

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Esquema

Motivacion

Trabajo relacionado

Modelos

Implementaciones

Diseminacion

Conclusiones y trabajo futuro

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Implementaciones

Realizadas para validar el estudio teorico:

Aunque pretendiendo que sean usables y funcionales.

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Implementaciones

Actualmente se ha desarrollado la idea en dosimplementaciones de referencia, basando la eleccion en elestudio realizado para determinar cales serıanpotencialmente mas interesantes:

I Una implementacion utilizando un lenguaje basado enclases (Java)

I Otra en un lenguaje basado en prototipos (Python)

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

jtrioo

I La implementacion den Java

I Se utiliza mediante anotaciones

I Persistencia totalmente basada en SPARQL/SPARUL,tanto de forma local como remota

I Publicacion directa de Linked Data en aplicacionesJavaEE

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

jtrioo (II)

1 @RdfResource(type="foaf:Person")

2 @URI(base="http :// example.org/person/",parts="name")

3 public class Person {

4

5 @RdfProperty(type="foaf:title", optional=true)

6 private String title;

7

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 }

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

pryoo

I La implementacion en Python

I API mucho mas flexible, con un uso intensivo de lareflectividad estructural que ofrece el lenguaje

I Aun en un temprano estado de desarrollo

I Persistencia solo sobre endpoints remotos, dado que noexiste implementacion nativa para SPARUL en Python

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

pryoo (II)

1 >>> from pryoo import RdfResource

2 >>> sergio = RdfResource.retrieve("http ://www.wikier

.org/foaf#wikier")

3 >>> sergio.rdftype

4 [foaf:Person]

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 ’

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futurodemostracion

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Esquema

Motivacion

Trabajo relacionado

Modelos

Implementaciones

Diseminacion

Conclusiones y trabajo futuro

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Diseminacion

Sergio Fernandez, DiegoBerrueta, Miguel GarcıaRodrıguez, and Jose E. Labra.TRIOO, Keeping theSemantics of Data Safe andSound into Object-OrientedSoftware. In Proceedings ofthe 5th InternationalConference on Software andData Technologies (ICSOFT2010), Athens, Greece, July22-24, 2010.

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Esquema

Motivacion

Trabajo relacionado

Modelos

Implementaciones

Diseminacion

Conclusiones y trabajo futuro

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Conclusiones y trabajo futuro

I Este trabajo de investigacion marca las lineas generalesa seguir

I Actualmente solo se han integrado ambos modelos dedatos

I Pero el proposito final pretende realizar una integraciona nivel semantico

I Se han de asimilar con mas pausa las conclusionesextraıdas de las implementaciones

I Mejorandolas

I Abordando nuevas implementaciones

I Probablemente C# y JavaScript

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

trioo

Sergio Fernandez

Motivacion

Trabajorelacionado

Modelos

Implementaciones

Diseminacion

Conclusiones ytrabajo futuro

Muchas gracias

Mas informacion en::http://trioo.wikier.org/

Esta presentacion esta disponible bajo la licencia

Creative Commons Reconocimiento CompartirIgual