SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
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

Mais conteúdo relacionado

Destaque

Freeze tag pecha kucha
Freeze tag pecha kuchaFreeze tag pecha kucha
Freeze tag pecha kuchajneiro
 
Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014Sergio Fernández
 
Mailing lists meet the Semantic Web
Mailing lists meet the Semantic WebMailing lists meet the Semantic Web
Mailing lists meet the Semantic WebSergio Fernández
 
GET / LDP/1.0; 500 Internal Server Error
GET / LDP/1.0; 500 Internal Server ErrorGET / LDP/1.0; 500 Internal Server Error
GET / LDP/1.0; 500 Internal Server ErrorSergio Fernández
 
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016Sergio Fernández
 
Presentation of GSoC 2016 at Fachhochschule Salzburg
Presentation of GSoC 2016 at Fachhochschule SalzburgPresentation of GSoC 2016 at Fachhochschule Salzburg
Presentation of GSoC 2016 at Fachhochschule SalzburgSergio Fernández
 
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016Sergio Fernández
 

Destaque (8)

Freeze tag pecha kucha
Freeze tag pecha kuchaFreeze tag pecha kucha
Freeze tag pecha kucha
 
Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014
 
Mailing lists meet the Semantic Web
Mailing lists meet the Semantic WebMailing lists meet the Semantic Web
Mailing lists meet the Semantic Web
 
GET / LDP/1.0; 500 Internal Server Error
GET / LDP/1.0; 500 Internal Server ErrorGET / LDP/1.0; 500 Internal Server Error
GET / LDP/1.0; 500 Internal Server Error
 
Demos CTIC
Demos CTICDemos CTIC
Demos CTIC
 
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
 
Presentation of GSoC 2016 at Fachhochschule Salzburg
Presentation of GSoC 2016 at Fachhochschule SalzburgPresentation of GSoC 2016 at Fachhochschule Salzburg
Presentation of GSoC 2016 at Fachhochschule Salzburg
 
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
 

Mais de Sergio Fernández

Software architecting at scale, a practical walkthrough
Software architecting at scale, a practical walkthroughSoftware architecting at scale, a practical walkthrough
Software architecting at scale, a practical walkthroughSergio Fernández
 
Trends in software architecture: a professional (des)orientation
Trends in software architecture: a professional (des)orientationTrends in software architecture: a professional (des)orientation
Trends in software architecture: a professional (des)orientationSergio Fernández
 
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015Sergio Fernández
 
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)Sergio Fernández
 
Redlink, The Data Linking API
Redlink, The Data Linking APIRedlink, The Data Linking API
Redlink, The Data Linking APISergio Fernández
 
Linked Data track at ApacheCon Europe 2014
Linked Data track at ApacheCon Europe 2014Linked Data track at ApacheCon Europe 2014
Linked Data track at ApacheCon Europe 2014Sergio Fernández
 
Introduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaIntroduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaSergio Fernández
 
Towards a Commons RDF Java library
Towards a Commons RDF Java libraryTowards a Commons RDF Java library
Towards a Commons RDF Java librarySergio Fernández
 
MICO Development Infrastructure
MICO Development InfrastructureMICO Development Infrastructure
MICO Development InfrastructureSergio Fernández
 
Apache Marmotta (incubating)
Apache Marmotta (incubating)Apache Marmotta (incubating)
Apache Marmotta (incubating)Sergio Fernández
 
Incubating Apache Linda (ApacheCon Europe 2012)
Incubating Apache Linda (ApacheCon Europe 2012)Incubating Apache Linda (ApacheCon Europe 2012)
Incubating Apache Linda (ApacheCon Europe 2012)Sergio Fernández
 
Barra libre en proyectos de software... pero sólo hasta media noche
Barra libre en proyectos de software... pero sólo hasta media noche Barra libre en proyectos de software... pero sólo hasta media noche
Barra libre en proyectos de software... pero sólo hasta media noche Sergio Fernández
 
Desarrollo Libre de Proyectos
Desarrollo Libre de ProyectosDesarrollo Libre de Proyectos
Desarrollo Libre de ProyectosSergio Fernández
 
eZaragoza, a tourist promotional mashup
eZaragoza, a tourist promotional mashupeZaragoza, a tourist promotional mashup
eZaragoza, a tourist promotional mashupSergio Fernández
 
El Software Libre como elemento catalizador de la innovación
El Software Libre como elemento catalizador de la innovaciónEl Software Libre como elemento catalizador de la innovación
El Software Libre como elemento catalizador de la innovaciónSergio Fernández
 
Software Libre en entornos propietarios
Software Libre en entornos propietariosSoftware Libre en entornos propietarios
Software Libre en entornos propietariosSergio Fernández
 

Mais de Sergio Fernández (17)

Software architecting at scale, a practical walkthrough
Software architecting at scale, a practical walkthroughSoftware architecting at scale, a practical walkthrough
Software architecting at scale, a practical walkthrough
 
Trends in software architecture: a professional (des)orientation
Trends in software architecture: a professional (des)orientationTrends in software architecture: a professional (des)orientation
Trends in software architecture: a professional (des)orientation
 
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015
 
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
 
Redlink, The Data Linking API
Redlink, The Data Linking APIRedlink, The Data Linking API
Redlink, The Data Linking API
 
Linked Data track at ApacheCon Europe 2014
Linked Data track at ApacheCon Europe 2014Linked Data track at ApacheCon Europe 2014
Linked Data track at ApacheCon Europe 2014
 
Introduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaIntroduction to LDP in Apache Marmotta
Introduction to LDP in Apache Marmotta
 
Towards a Commons RDF Java library
Towards a Commons RDF Java libraryTowards a Commons RDF Java library
Towards a Commons RDF Java library
 
MICO Development Infrastructure
MICO Development InfrastructureMICO Development Infrastructure
MICO Development Infrastructure
 
Apache Marmotta (incubating)
Apache Marmotta (incubating)Apache Marmotta (incubating)
Apache Marmotta (incubating)
 
Incubating Apache Linda (ApacheCon Europe 2012)
Incubating Apache Linda (ApacheCon Europe 2012)Incubating Apache Linda (ApacheCon Europe 2012)
Incubating Apache Linda (ApacheCon Europe 2012)
 
Barra libre en proyectos de software... pero sólo hasta media noche
Barra libre en proyectos de software... pero sólo hasta media noche Barra libre en proyectos de software... pero sólo hasta media noche
Barra libre en proyectos de software... pero sólo hasta media noche
 
Desarrollo Libre de Proyectos
Desarrollo Libre de ProyectosDesarrollo Libre de Proyectos
Desarrollo Libre de Proyectos
 
20061220 pfc-swaml
20061220 pfc-swaml20061220 pfc-swaml
20061220 pfc-swaml
 
eZaragoza, a tourist promotional mashup
eZaragoza, a tourist promotional mashupeZaragoza, a tourist promotional mashup
eZaragoza, a tourist promotional mashup
 
El Software Libre como elemento catalizador de la innovación
El Software Libre como elemento catalizador de la innovaciónEl Software Libre como elemento catalizador de la innovación
El Software Libre como elemento catalizador de la innovación
 
Software Libre en entornos propietarios
Software Libre en entornos propietariosSoftware Libre en entornos propietarios
Software Libre en entornos propietarios
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 

Último (11)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

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

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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)
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. trioo Trabajo relacionado Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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...
  • 20. trioo Trabajo relacionado (III) Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
  • 21. 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
  • 22. 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 ...
  • 23. 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 ...
  • 24. 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 ...
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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...
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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)
  • 37. trioo RDF (II) Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o Conclusiones y trabajo futuro
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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.
  • 45. 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)
  • 46. 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
  • 47. 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 }
  • 48. 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
  • 49. 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 ’
  • 50. trioo Sergio Fern´ndez a Motivaci´n o Trabajo relacionado Modelos Implementaciones Diseminaci´n o demostraci´n o Conclusiones y trabajo futuro
  • 51. 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
  • 52. 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.
  • 53. 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
  • 54. 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
  • 55. 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