SlideShare a Scribd company logo
1 of 52
Download to read offline
TRIOO

                                                               Sergio Fern´ndez,
                                                                          a
                                                                Diego Berrueta,
                                                                 Miguel Garc´ıa
                                                               Rodr´
                                                                   ıguez, Jose E.
                         TRIOO                                       Labra


     Keeping the Semantics of Data Safe and Sound              Motivation

             into Object-Oriented Software                     Related work

                                                               Models
                                                               Object Oriented
                                                               computational model
                                                               RDF data model
         Sergio Fern´ndez1 , Diego Berrueta1 ,
                      a                                        Models comparison


                         ıguez2 , Jose E. Labra2
        Miguel Garc´ Rodr´
                   ıa                                          Implementations

                                                               Conclusions and
                                                               future work
                       Fundaci´n CTIC
                              o

                    Universidad de Oviedo

     5th International Conference on Software and Data
Technologies (ICSOFT 2010), July 23th, 2010, Athens, Greece.
TRIOO
Outline
                                        Sergio Fern´ndez,
                                                   a
                                         Diego Berrueta,
                                          Miguel Garc´ıa
                                        Rodr´
                                            ıguez, Jose E.
                                              Labra
Motivation
                                        Motivation

                                        Related work
Related work                            Models
                                        Object Oriented
                                        computational model
                                        RDF data model
Models                                  Models comparison

  Object Oriented computational model   Implementations

  RDF data model                        Conclusions and
                                        future work
  Models comparison

Implementations

Conclusions and future work
TRIOO
Outline
                                        Sergio Fern´ndez,
                                                   a
                                         Diego Berrueta,
                                          Miguel Garc´ıa
                                        Rodr´
                                            ıguez, Jose E.
                                              Labra
Motivation
                                        Motivation

                                        Related work
Related work                            Models
                                        Object Oriented
                                        computational model
                                        RDF data model
Models                                  Models comparison

  Object Oriented computational model   Implementations

  RDF data model                        Conclusions and
                                        future work
  Models comparison

Implementations

Conclusions and future work
TRIOO
Motivation
             Sergio Fern´ndez,
                        a
              Diego Berrueta,
               Miguel Garc´ıa
             Rodr´
                 ıguez, Jose E.
                   Labra

             Motivation

             Related work

             Models
             Object Oriented
             computational model
             RDF data model
             Models comparison

             Implementations

             Conclusions and
             future work
TRIOO
Motivation
                                                              Sergio Fern´ndez,
                                                                         a
                                                               Diego Berrueta,
                                                                Miguel Garc´ıa
                                                              Rodr´
                                                                  ıguez, Jose E.
                                                                    Labra
    The Web of Data offers a new approach to exploit data
    across the Web                                            Motivation

        Huge amount of data published as RDF (Linked Data)    Related work

        Ready to be consumed by applications using standard   Models
                                                              Object Oriented
        protocols (HTTP) and query languages (SPARQL)         computational model
                                                              RDF data model
                                                              Models comparison

                                                              Implementations

                                                              Conclusions and
                                                              future work
TRIOO
Motivation
                                                                 Sergio Fern´ndez,
                                                                            a
                                                                  Diego Berrueta,
                                                                   Miguel Garc´ıa
                                                                 Rodr´
                                                                     ıguez, Jose E.
                                                                       Labra
    The Web of Data offers a new approach to exploit data
    across the Web                                               Motivation

        Huge amount of data published as RDF (Linked Data)       Related work

        Ready to be consumed by applications using standard      Models
                                                                 Object Oriented
        protocols (HTTP) and query languages (SPARQL)            computational model
                                                                 RDF data model
                                                                 Models comparison

                                                                 Implementations
    Current methods to access to RDF data can be
                                                                 Conclusions and
    considered a kind of handcrafted work, closer to the         future work
    RDF data model than to the common software tools
        Therefore it is necessary to fill that gap
        Allowing the usage of this data without negative
        influences in object-oriented designs
        While trying to keep the semantics of data as accurate
        as possible
TRIOO
Outline
                                        Sergio Fern´ndez,
                                                   a
                                         Diego Berrueta,
                                          Miguel Garc´ıa
                                        Rodr´
                                            ıguez, Jose E.
                                              Labra
Motivation
                                        Motivation

                                        Related work
Related work                            Models
                                        Object Oriented
                                        computational model
                                        RDF data model
Models                                  Models comparison

  Object Oriented computational model   Implementations

  RDF data model                        Conclusions and
                                        future work
  Models comparison

Implementations

Conclusions and future work
TRIOO
Related work
               Sergio Fern´ndez,
                          a
                Diego Berrueta,
                 Miguel Garc´ıa
               Rodr´
                   ıguez, Jose E.
                     Labra

               Motivation

               Related work

               Models
               Object Oriented
               computational model
               RDF data model
               Models comparison

               Implementations

               Conclusions and
               future work
TRIOO
Related work
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra

                                                            Motivation
    This ongoing effort is extensively related to the work
                                                            Related work
    made these years on:
                                                            Models
                                                            Object Oriented
                                                            computational model
                                                            RDF data model
                                                            Models comparison

                                                            Implementations

                                                            Conclusions and
                                                            future work
TRIOO
Related work
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra

                                                            Motivation
    This ongoing effort is extensively related to the work
                                                            Related work
    made these years on:
                                                            Models
                                                            Object Oriented
                                                            computational model
        object-relational mappings                          RDF data model
                                                            Models comparison

                                                            Implementations

                                                            Conclusions and
                                                            future work
TRIOO
Related work
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra

                                                            Motivation
    This ongoing effort is extensively related to the work
                                                            Related work
    made these years on:
                                                            Models
                                                            Object Oriented
                                                            computational model
        object-relational mappings                          RDF data model
                                                            Models comparison

                                                            Implementations
        but also to the work on accessing (Semantic)        Conclusions and
        Web data                                            future work
TRIOO
Related work
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra

                                                            Motivation
    This ongoing effort is extensively related to the work
                                                            Related work
    made these years on:
                                                            Models
                                                            Object Oriented
                                                            computational model
        object-relational mappings                          RDF data model
                                                            Models comparison

                                                            Implementations
        but also to the work on accessing (Semantic)        Conclusions and
        Web data                                            future work




    Therefore the same techniques and design patterns
    (Active Record, Data Mapper and so on) apply.
TRIOO
Related work (II): traditional stores
                                                                 Sergio Fern´ndez,
                                                                            a
                                                                  Diego Berrueta,
                                                                   Miguel Garc´ıa
                                                                 Rodr´
                                                                     ıguez, Jose E.
 (on this talk the term “traditional stores” actually concerns         Labra

 traditional relational databases)                               Motivation

                                                                 Related work

                                                                 Models
                                                                 Object Oriented
 Many software tools for object-relation mapping have            computational model
                                                                 RDF data model
 emerged on last years:                                          Models comparison

                                                                 Implementations

                                                                 Conclusions and
                                                                 future work
TRIOO
Related work (II): traditional stores
                                                                 Sergio Fern´ndez,
                                                                            a
                                                                  Diego Berrueta,
                                                                   Miguel Garc´ıa
                                                                 Rodr´
                                                                     ıguez, Jose E.
 (on this talk the term “traditional stores” actually concerns         Labra

 traditional relational databases)                               Motivation

                                                                 Related work

                                                                 Models
                                                                 Object Oriented
 Many software tools for object-relation mapping have            computational model
                                                                 RDF data model
 emerged on last years:                                          Models comparison

                                                                 Implementations

                                                                 Conclusions and
                                                                 future work
      ActiveRecord for Ruby on Rails
TRIOO
Related work (II): traditional stores
                                                                 Sergio Fern´ndez,
                                                                            a
                                                                  Diego Berrueta,
                                                                   Miguel Garc´ıa
                                                                 Rodr´
                                                                     ıguez, Jose E.
 (on this talk the term “traditional stores” actually concerns         Labra

 traditional relational databases)                               Motivation

                                                                 Related work

                                                                 Models
                                                                 Object Oriented
 Many software tools for object-relation mapping have            computational model
                                                                 RDF data model
 emerged on last years:                                          Models comparison

                                                                 Implementations

                                                                 Conclusions and
                                                                 future work
      ActiveRecord for Ruby on Rails
      Django Models or SQLAlchemy for Python
TRIOO
Related work (II): traditional stores
                                                                 Sergio Fern´ndez,
                                                                            a
                                                                  Diego Berrueta,
                                                                   Miguel Garc´ıa
                                                                 Rodr´
                                                                     ıguez, Jose E.
 (on this talk the term “traditional stores” actually concerns         Labra

 traditional relational databases)                               Motivation

                                                                 Related work

                                                                 Models
                                                                 Object Oriented
 Many software tools for object-relation mapping have            computational model
                                                                 RDF data model
 emerged on last years:                                          Models comparison

                                                                 Implementations

                                                                 Conclusions and
                                                                 future work
      ActiveRecord for Ruby on Rails
      Django Models or SQLAlchemy for Python
      GORM for Grails
TRIOO
Related work (II): traditional stores
                                                                 Sergio Fern´ndez,
                                                                            a
                                                                  Diego Berrueta,
                                                                   Miguel Garc´ıa
                                                                 Rodr´
                                                                     ıguez, Jose E.
 (on this talk the term “traditional stores” actually concerns         Labra

 traditional relational databases)                               Motivation

                                                                 Related work

                                                                 Models
                                                                 Object Oriented
 Many software tools for object-relation mapping have            computational model
                                                                 RDF data model
 emerged on last years:                                          Models comparison

                                                                 Implementations

                                                                 Conclusions and
                                                                 future work
      ActiveRecord for Ruby on Rails
      Django Models or SQLAlchemy for Python
      GORM for Grails
      Hibernate (JPA) and MyBatis for Java
TRIOO
Related work (II): traditional stores
                                                                 Sergio Fern´ndez,
                                                                            a
                                                                  Diego Berrueta,
                                                                   Miguel Garc´ıa
                                                                 Rodr´
                                                                     ıguez, Jose E.
 (on this talk the term “traditional stores” actually concerns         Labra

 traditional relational databases)                               Motivation

                                                                 Related work

                                                                 Models
                                                                 Object Oriented
 Many software tools for object-relation mapping have            computational model
                                                                 RDF data model
 emerged on last years:                                          Models comparison

                                                                 Implementations

                                                                 Conclusions and
                                                                 future work
      ActiveRecord for Ruby on Rails
      Django Models or SQLAlchemy for Python
      GORM for Grails
      Hibernate (JPA) and MyBatis for Java
      And many others...
TRIOO
Related work (III)
                     Sergio Fern´ndez,
                                a
                      Diego Berrueta,
                       Miguel Garc´ıa
                     Rodr´
                         ıguez, Jose E.
                           Labra

                     Motivation

                     Related work

                     Models
                     Object Oriented
                     computational model
                     RDF data model
                     Models comparison

                     Implementations

                     Conclusions and
                     future work
TRIOO
Related work (III)
                              Sergio Fern´ndez,
                                         a
                               Diego Berrueta,
                                Miguel Garc´ıa
    Object-oriented stores:   Rodr´
                                  ıguez, Jose E.
                                    Labra
        JDO
        Dobblin               Motivation

        Durus                 Related work

        ZODB                  Models
                              Object Oriented
        ...                   computational model
                              RDF data model
                              Models comparison

                              Implementations

                              Conclusions and
                              future work
TRIOO
Related work (III)
                              Sergio Fern´ndez,
                                         a
                               Diego Berrueta,
                                Miguel Garc´ıa
    Object-oriented stores:   Rodr´
                                  ıguez, Jose E.
                                    Labra
        JDO
        Dobblin               Motivation

        Durus                 Related work

        ZODB                  Models
                              Object Oriented
        ...                   computational model
                              RDF data model
    XML stores:               Models comparison

                              Implementations
        JAXB
                              Conclusions and
        ...                   future work
TRIOO
Related work (III)
                              Sergio Fern´ndez,
                                         a
                               Diego Berrueta,
                                Miguel Garc´ıa
    Object-oriented stores:   Rodr´
                                  ıguez, Jose E.
                                    Labra
        JDO
        Dobblin               Motivation

        Durus                 Related work

        ZODB                  Models
                              Object Oriented
        ...                   computational model
                              RDF data model
    XML stores:               Models comparison

                              Implementations
        JAXB
                              Conclusions and
        ...                   future work
    Schema-free stores:
        NoSQL
        ...
TRIOO
Related work (III)
                                        Sergio Fern´ndez,
                                                   a
                                         Diego Berrueta,
                                          Miguel Garc´ıa
    Object-oriented stores:             Rodr´
                                            ıguez, Jose E.
                                              Labra
        JDO
        Dobblin                         Motivation

        Durus                           Related work

        ZODB                            Models
                                        Object Oriented
        ...                             computational model
                                        RDF data model
    XML stores:                         Models comparison

                                        Implementations
        JAXB
                                        Conclusions and
        ...                             future work
    Schema-free stores:
        NoSQL
        ...
    Also other horizontal approaches:
        LINQ
        DataNucleus AccessPlatform
        ...
TRIOO
Related work (IV): RDF-based stores
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra
There also are some similar approaches to do so with RDF:
                                                            Motivation

                                                            Related work

                                                            Models
                                                            Object Oriented
                                                            computational model
                                                            RDF data model
                                                            Models comparison

                                                            Implementations

                                                            Conclusions and
                                                            future work
TRIOO
Related work (IV): RDF-based stores
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra
There also are some similar approaches to do so with RDF:
                                                            Motivation

                                                            Related work
    ActiveRDF and Spira for Ruby                            Models
                                                            Object Oriented
                                                            computational model
                                                            RDF data model
                                                            Models comparison

                                                            Implementations

                                                            Conclusions and
                                                            future work
TRIOO
Related work (IV): RDF-based stores
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra
There also are some similar approaches to do so with RDF:
                                                            Motivation

                                                            Related work
    ActiveRDF and Spira for Ruby                            Models
    Empire and Sommer for Java                              Object Oriented
                                                            computational model
                                                            RDF data model
                                                            Models comparison

                                                            Implementations

                                                            Conclusions and
                                                            future work
TRIOO
Related work (IV): RDF-based stores
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra
There also are some similar approaches to do so with RDF:
                                                            Motivation

                                                            Related work
    ActiveRDF and Spira for Ruby                            Models
    Empire and Sommer for Java                              Object Oriented
                                                            computational model
                                                            RDF data model
    Moriarty for PHP                                        Models comparison

                                                            Implementations

                                                            Conclusions and
                                                            future work
TRIOO
Related work (IV): RDF-based stores
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra
There also are some similar approaches to do so with RDF:
                                                            Motivation

                                                            Related work
    ActiveRDF and Spira for Ruby                            Models
    Empire and Sommer for Java                              Object Oriented
                                                            computational model
                                                            RDF data model
    Moriarty for PHP                                        Models comparison

                                                            Implementations
    SuRF for Python
                                                            Conclusions and
                                                            future work
TRIOO
Related work (IV): RDF-based stores
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra
There also are some similar approaches to do so with RDF:
                                                            Motivation

                                                            Related work
    ActiveRDF and Spira for Ruby                            Models
    Empire and Sommer for Java                              Object Oriented
                                                            computational model
                                                            RDF data model
    Moriarty for PHP                                        Models comparison

                                                            Implementations
    SuRF for Python
                                                            Conclusions and
                                                            future work
    And some others...
TRIOO
Related work (IV): RDF-based stores
                                                            Sergio Fern´ndez,
                                                                       a
                                                             Diego Berrueta,
                                                              Miguel Garc´ıa
                                                            Rodr´
                                                                ıguez, Jose E.
                                                                  Labra
There also are some similar approaches to do so with RDF:
                                                            Motivation

                                                            Related work
    ActiveRDF and Spira for Ruby                            Models
    Empire and Sommer for Java                              Object Oriented
                                                            computational model
                                                            RDF data model
    Moriarty for PHP                                        Models comparison

                                                            Implementations
    SuRF for Python                                         Conclusions and
                                                            future work
    And some others...

But they tend to be too influenced by other technologies
that have nothing to do with RDF, and abuse of
implementing proprietary APIs instead of using pure
SPARQL approaches.
TRIOO
Outline
                                        Sergio Fern´ndez,
                                                   a
                                         Diego Berrueta,
                                          Miguel Garc´ıa
                                        Rodr´
                                            ıguez, Jose E.
                                              Labra
Motivation
                                        Motivation

                                        Related work
Related work                            Models
                                        Object Oriented
                                        computational model
                                        RDF data model
Models                                  Models comparison

  Object Oriented computational model   Implementations

  RDF data model                        Conclusions and
                                        future work
  Models comparison

Implementations

Conclusions and future work
TRIOO
Object Oriented computational model
                                                               Sergio Fern´ndez,
                                                                          a
                                                                Diego Berrueta,
                                                                 Miguel Garc´ıa
                                                               Rodr´
                                                                   ıguez, Jose E.
                                                                     Labra

                                                               Motivation

                                                               Related work
Actually there is not a single model, because usually          Models
object-oriented languages are divided into two big families:   Object Oriented
                                                               computational model
                                                               RDF data model
                                                               Models comparison

                                                               Implementations

                                                               Conclusions and
                                                               future work
TRIOO
Object Oriented computational model
                                                               Sergio Fern´ndez,
                                                                          a
                                                                Diego Berrueta,
                                                                 Miguel Garc´ıa
                                                               Rodr´
                                                                   ıguez, Jose E.
                                                                     Labra

                                                               Motivation

                                                               Related work
Actually there is not a single model, because usually          Models
object-oriented languages are divided into two big families:   Object Oriented
                                                               computational model
                                                               RDF data model
                                                               Models comparison

                                                               Implementations
    Class-based programming languages
                                                               Conclusions and
                                                               future work
TRIOO
Object Oriented computational model
                                                               Sergio Fern´ndez,
                                                                          a
                                                                Diego Berrueta,
                                                                 Miguel Garc´ıa
                                                               Rodr´
                                                                   ıguez, Jose E.
                                                                     Labra

                                                               Motivation

                                                               Related work
Actually there is not a single model, because usually          Models
object-oriented languages are divided into two big families:   Object Oriented
                                                               computational model
                                                               RDF data model
                                                               Models comparison

                                                               Implementations
    Class-based programming languages
                                                               Conclusions and
                                                               future work

    Prototype-based programming languages
TRIOO
Class-based programming languages
                                                                Sergio Fern´ndez,
                                                                           a
                                                                 Diego Berrueta,
                                                                  Miguel Garc´ıa
                                                                Rodr´
                                                                    ıguez, Jose E.
                                                                      Labra

                                                                Motivation
Class-based programming languages are those which use a         Related work

computational model where objects are grouped on sets with      Models
                                                                Object Oriented
equal structure and behavior as instances of the same class.    computational model
                                                                RDF data model
                                                                Models comparison

                                                                Implementations

                                                                Conclusions and
Thus there is a heavy link between an object and its class on   future work
instantiation, and it is not possible to create and use an
object without previously define its static structure and
behavior on a class.
TRIOO
Prototype-based programming languages
                                                                Sergio Fern´ndez,
                                                                           a
                                                                 Diego Berrueta,
                                                                  Miguel Garc´ıa
                                                                Rodr´
                                                                    ıguez, Jose E.
                                                                      Labra
Prototype-based programming languages aim to be more
                                                                Motivation
faithful to the object computational model, where it is only    Related work
necessary to have objects, no additional abstractions such as   Models
classes are required.                                           Object Oriented
                                                                computational model
                                                                RDF data model
                                                                Models comparison

The common behavior is defined by what is known as “trait        Implementations

objects”. The shared structure is represented as prototype      Conclusions and
                                                                future work
objects, which inherit their behavior from the trait objects.

Therefore the state is always defined as objects. The
creation of objects (actually instance objects) is done using
cloning those prototype objects.
TRIOO
RDF
                                                               Sergio Fern´ndez,
                                                                          a
                                                                Diego Berrueta,
                                                                 Miguel Garc´ıa
                                                               Rodr´
                                                                   ıguez, Jose E.
                                                                     Labra

                                                               Motivation

RDF (Resource Description Framework) is an assertional         Related work

language that provides an extensible and flexible data model.   Models
                                                               Object Oriented
                                                               computational model
                                                               RDF data model

Based on the concept of triple:                                Models comparison

                                                               Implementations

            (subject, predicate, object)                       Conclusions and
                                                               future work




RDF is the core technology of the Semantic Web.
TRIOO
RDF (II)
                                                               Sergio Fern´ndez,
                                                                          a
                                                                Diego Berrueta,
                                                                 Miguel Garc´ıa
                                                               Rodr´
                                                                   ıguez, Jose E.
                                                                     Labra

Formally a RDF triple is defined as a tuple (s, p, o) that      Motivation
(s, p, o) (U ∪ B) × U × (U ∪ L ∪ B), where U is the universe   Related work
of all possible named resources, identified by an URI, B is     Models
the finite set on blank nodes, and L is the set with all RDF    Object Oriented
                                                               computational model
                                                               RDF data model
literals.                                                      Models comparison

                                                               Implementations
Therefore a set on triples is structurally interpreted as a
                                                               Conclusions and
graph G = (V , E ), where V is the set of vertices that        future work

V ⊂ (U ∪ B ∪ L), and E is the set of named arcs that
E ⊂ V × U × V.
For each triple (s, p, o) of the RDF data model, there is a
directed arc, p, between nodes s y o.
TRIOO
Models comparision
                                                                   Sergio Fern´ndez,
                                                                              a
                                                                    Diego Berrueta,
                                                                     Miguel Garc´ıa
                                                                   Rodr´
                                                                       ıguez, Jose E.
                                                                         Labra

Both models present some irreconcilable features, mainly:          Motivation

                                                                   Related work

                                                                   Models
                                                                   Object Oriented
                               OO                    RDF           computational model
                                                                   RDF data model
      Approach           Computational            Assertional      Models comparison

         Identity          Comparable              Universal       Implementations
          Typing              Single               Multiple        Conclusions and
                                                                   future work
  Type inference        Depending of the        Depending on
                       objects themselves      the relationships
                    (only in some languages)
     Navigability      through attributes        through arcs
TRIOO
Models comparison
                                                     Sergio Fern´ndez,
                                                                a
                                                      Diego Berrueta,
                                                       Miguel Garc´ıa
                                                     Rodr´
                                                         ıguez, Jose E.
                                                           Labra

                                                     Motivation

                                                     Related work
And there are some other aspects that could not be
                                                     Models
achievable at a semantic level, such as:             Object Oriented
                                                     computational model
                                                     RDF data model
                                                     Models comparison

                                                     Implementations

                                                     Conclusions and
                                                     future work
TRIOO
Models comparison
                                                     Sergio Fern´ndez,
                                                                a
                                                      Diego Berrueta,
                                                       Miguel Garc´ıa
                                                     Rodr´
                                                         ıguez, Jose E.
                                                           Labra

                                                     Motivation

                                                     Related work
And there are some other aspects that could not be
                                                     Models
achievable at a semantic level, such as:             Object Oriented
                                                     computational model
                                                     RDF data model
                                                     Models comparison

                                                     Implementations
    Expressiveness
                                                     Conclusions and
                                                     future work
TRIOO
Models comparison
                                                     Sergio Fern´ndez,
                                                                a
                                                      Diego Berrueta,
                                                       Miguel Garc´ıa
                                                     Rodr´
                                                         ıguez, Jose E.
                                                           Labra

                                                     Motivation

                                                     Related work
And there are some other aspects that could not be
                                                     Models
achievable at a semantic level, such as:             Object Oriented
                                                     computational model
                                                     RDF data model
                                                     Models comparison

                                                     Implementations
    Expressiveness
                                                     Conclusions and
    Integrity Constraints                            future work
TRIOO
Models comparison
                                                     Sergio Fern´ndez,
                                                                a
                                                      Diego Berrueta,
                                                       Miguel Garc´ıa
                                                     Rodr´
                                                         ıguez, Jose E.
                                                           Labra

                                                     Motivation

                                                     Related work
And there are some other aspects that could not be
                                                     Models
achievable at a semantic level, such as:             Object Oriented
                                                     computational model
                                                     RDF data model
                                                     Models comparison

                                                     Implementations
    Expressiveness
                                                     Conclusions and
    Integrity Constraints                            future work

    Versioning
TRIOO
Outline
                                        Sergio Fern´ndez,
                                                   a
                                         Diego Berrueta,
                                          Miguel Garc´ıa
                                        Rodr´
                                            ıguez, Jose E.
                                              Labra
Motivation
                                        Motivation

                                        Related work
Related work                            Models
                                        Object Oriented
                                        computational model
                                        RDF data model
Models                                  Models comparison

  Object Oriented computational model   Implementations

  RDF data model                        Conclusions and
                                        future work
  Models comparison

Implementations

Conclusions and future work
TRIOO
Implementations
                                                          Sergio Fern´ndez,
                                                                     a
                                                           Diego Berrueta,
                                                            Miguel Garc´ıa
                                                          Rodr´
                                                              ıguez, Jose E.
                                                                Labra

                                                          Motivation
Currently we are immersed on developing the first two      Related work
reference implementations, based on our study about the   Models
programming languages potentially more interesting:       Object Oriented
                                                          computational model
                                                          RDF data model
                                                          Models comparison

                                                          Implementations

                                                          Conclusions and
                                                          future work
TRIOO
Implementations
                                                          Sergio Fern´ndez,
                                                                     a
                                                           Diego Berrueta,
                                                            Miguel Garc´ıa
                                                          Rodr´
                                                              ıguez, Jose E.
                                                                Labra

                                                          Motivation
Currently we are immersed on developing the first two      Related work
reference implementations, based on our study about the   Models
programming languages potentially more interesting:       Object Oriented
                                                          computational model
                                                          RDF data model
                                                          Models comparison

                                                          Implementations
    One on a class-based programming language (Java)      Conclusions and
                                                          future work
TRIOO
Implementations
                                                          Sergio Fern´ndez,
                                                                     a
                                                           Diego Berrueta,
                                                            Miguel Garc´ıa
                                                          Rodr´
                                                              ıguez, Jose E.
                                                                Labra

                                                          Motivation
Currently we are immersed on developing the first two      Related work
reference implementations, based on our study about the   Models
programming languages potentially more interesting:       Object Oriented
                                                          computational model
                                                          RDF data model
                                                          Models comparison

                                                          Implementations
    One on a class-based programming language (Java)      Conclusions and
                                                          future work


    And the other on a prototype-based programming
    language (Python)
TRIOO
jtrioo
                                                         Sergio Fern´ndez,
                                                                    a
                                                          Diego Berrueta,
                                                           Miguel Garc´ıa
                                                         Rodr´
                                                             ıguez, Jose E.
                                                               Labra

                                                         Motivation

                                                         Related work

     The implementation on Java                          Models
                                                         Object Oriented
                                                         computational model
                                                         RDF data model
                                                         Models comparison
     Based on annotations (quite inspired by JPA)
                                                         Implementations

                                                         Conclusions and
                                                         future work
     Persistence fully based on SPARQL/SPARUL, both on
     local and remote
TRIOO
pryoo
                                                         Sergio Fern´ndez,
                                                                    a
                                                          Diego Berrueta,
                                                           Miguel Garc´ıa
                                                         Rodr´
                                                             ıguez, Jose E.
                                                               Labra

                                                         Motivation
    The implementation on Python                         Related work

                                                         Models
                                                         Object Oriented
    Much more flexible API, intensively reflection usage   computational model
                                                         RDF data model
                                                         Models comparison

                                                         Implementations
    Still less stable
                                                         Conclusions and
                                                         future work

    Persistence only works on remote endpoints
    (implementation of SPARUL not yet available on
    Python)
TRIOO
Outline
                                        Sergio Fern´ndez,
                                                   a
                                         Diego Berrueta,
                                          Miguel Garc´ıa
                                        Rodr´
                                            ıguez, Jose E.
                                              Labra
Motivation
                                        Motivation

                                        Related work
Related work                            Models
                                        Object Oriented
                                        computational model
                                        RDF data model
Models                                  Models comparison

  Object Oriented computational model   Implementations

  RDF data model                        Conclusions and
                                        future work
  Models comparison

Implementations

Conclusions and future work
TRIOO

                                                             Sergio Fern´ndez,
                                                                        a
These are still the first steps, still a long way...           Diego Berrueta,
                                                               Miguel Garc´ıa
                                                             Rodr´
                                                                 ıguez, Jose E.
                                                                   Labra
     Current approach only covers integration of both data
                                                             Motivation
     models
                                                             Related work

                                                             Models
     The aim at the end is to semantically integrate         Object Oriented
                                                             computational model
                                                             RDF data model
                                                             Models comparison

Many lessons to learn from the current implementations       Implementations
available on Python                                          Conclusions and
                                                             future work


     Improve them

     New implementations will come

     Probably C# and JavaScript
TRIOO

                                                    Sergio Fern´ndez,
                                                               a
                                                     Diego Berrueta,
                                                      Miguel Garc´ıa
                                                    Rodr´
                                                        ıguez, Jose E.
                                                          Labra
            Thank you!                              Motivation

                                                    Related work

                                                    Models
                                                    Object Oriented
                                                    computational model
                                                    RDF data model
                                                    Models comparison
        Further information at:                     Implementations
        http://trioo.wikier.org/                    Conclusions and
                                                    future work




       This presentation is available under the
Creative Commons Attributions Share Alike license

More Related Content

More from Sergio Fernández

eZaragoza, a tourist promotional mashup
eZaragoza, a tourist promotional mashupeZaragoza, a tourist promotional mashup
eZaragoza, a tourist promotional mashup
Sergio Fernández
 

More from Sergio Fernández (20)

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
 
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
 
Moven - Apache Big Data Europe 2016 - SSIX Project
Moven - Apache Big Data Europe 2016 - SSIX ProjectMoven - Apache Big Data Europe 2016 - SSIX Project
Moven - Apache Big Data Europe 2016 - SSIX Project
 
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
 
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
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Recently uploaded (20)

Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 

TRIOO, Keeping the Semantics of Data Safe and Sound into Object-Oriented Software

  • 1. TRIOO Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. TRIOO Labra Keeping the Semantics of Data Safe and Sound Motivation into Object-Oriented Software Related work Models Object Oriented computational model RDF data model Sergio Fern´ndez1 , Diego Berrueta1 , a Models comparison ıguez2 , Jose E. Labra2 Miguel Garc´ Rodr´ ıa Implementations Conclusions and future work Fundaci´n CTIC o Universidad de Oviedo 5th International Conference on Software and Data Technologies (ICSOFT 2010), July 23th, 2010, Athens, Greece.
  • 2. TRIOO Outline Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Motivation Related work Related work Models Object Oriented computational model RDF data model Models Models comparison Object Oriented computational model Implementations RDF data model Conclusions and future work Models comparison Implementations Conclusions and future work
  • 3. TRIOO Outline Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Motivation Related work Related work Models Object Oriented computational model RDF data model Models Models comparison Object Oriented computational model Implementations RDF data model Conclusions and future work Models comparison Implementations Conclusions and future work
  • 4. TRIOO Motivation Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work Models Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 5. TRIOO Motivation Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra The Web of Data offers a new approach to exploit data across the Web Motivation Huge amount of data published as RDF (Linked Data) Related work Ready to be consumed by applications using standard Models Object Oriented protocols (HTTP) and query languages (SPARQL) computational model RDF data model Models comparison Implementations Conclusions and future work
  • 6. TRIOO Motivation Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra The Web of Data offers a new approach to exploit data across the Web Motivation Huge amount of data published as RDF (Linked Data) Related work Ready to be consumed by applications using standard Models Object Oriented protocols (HTTP) and query languages (SPARQL) computational model RDF data model Models comparison Implementations Current methods to access to RDF data can be Conclusions and considered a kind of handcrafted work, closer to the future work RDF data model than to the common software tools Therefore it is necessary to fill that gap Allowing the usage of this data without negative influences in object-oriented designs While trying to keep the semantics of data as accurate as possible
  • 7. TRIOO Outline Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Motivation Related work Related work Models Object Oriented computational model RDF data model Models Models comparison Object Oriented computational model Implementations RDF data model Conclusions and future work Models comparison Implementations Conclusions and future work
  • 8. TRIOO Related work Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work Models Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 9. TRIOO Related work Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation This ongoing effort is extensively related to the work Related work made these years on: Models Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 10. TRIOO Related work Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation This ongoing effort is extensively related to the work Related work made these years on: Models Object Oriented computational model object-relational mappings RDF data model Models comparison Implementations Conclusions and future work
  • 11. TRIOO Related work Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation This ongoing effort is extensively related to the work Related work made these years on: Models Object Oriented computational model object-relational mappings RDF data model Models comparison Implementations but also to the work on accessing (Semantic) Conclusions and Web data future work
  • 12. TRIOO Related work Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation This ongoing effort is extensively related to the work Related work made these years on: Models Object Oriented computational model object-relational mappings RDF data model Models comparison Implementations but also to the work on accessing (Semantic) Conclusions and Web data future work Therefore the same techniques and design patterns (Active Record, Data Mapper and so on) apply.
  • 13. TRIOO Related work (II): traditional stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. (on this talk the term “traditional stores” actually concerns Labra traditional relational databases) Motivation Related work Models Object Oriented Many software tools for object-relation mapping have computational model RDF data model emerged on last years: Models comparison Implementations Conclusions and future work
  • 14. TRIOO Related work (II): traditional stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. (on this talk the term “traditional stores” actually concerns Labra traditional relational databases) Motivation Related work Models Object Oriented Many software tools for object-relation mapping have computational model RDF data model emerged on last years: Models comparison Implementations Conclusions and future work ActiveRecord for Ruby on Rails
  • 15. TRIOO Related work (II): traditional stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. (on this talk the term “traditional stores” actually concerns Labra traditional relational databases) Motivation Related work Models Object Oriented Many software tools for object-relation mapping have computational model RDF data model emerged on last years: Models comparison Implementations Conclusions and future work ActiveRecord for Ruby on Rails Django Models or SQLAlchemy for Python
  • 16. TRIOO Related work (II): traditional stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. (on this talk the term “traditional stores” actually concerns Labra traditional relational databases) Motivation Related work Models Object Oriented Many software tools for object-relation mapping have computational model RDF data model emerged on last years: Models comparison Implementations Conclusions and future work ActiveRecord for Ruby on Rails Django Models or SQLAlchemy for Python GORM for Grails
  • 17. TRIOO Related work (II): traditional stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. (on this talk the term “traditional stores” actually concerns Labra traditional relational databases) Motivation Related work Models Object Oriented Many software tools for object-relation mapping have computational model RDF data model emerged on last years: Models comparison Implementations Conclusions and future work ActiveRecord for Ruby on Rails Django Models or SQLAlchemy for Python GORM for Grails Hibernate (JPA) and MyBatis for Java
  • 18. TRIOO Related work (II): traditional stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. (on this talk the term “traditional stores” actually concerns Labra traditional relational databases) Motivation Related work Models Object Oriented Many software tools for object-relation mapping have computational model RDF data model emerged on last years: Models comparison Implementations Conclusions and future work ActiveRecord for Ruby on Rails Django Models or SQLAlchemy for Python GORM for Grails Hibernate (JPA) and MyBatis for Java And many others...
  • 19. TRIOO Related work (III) Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work Models Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 20. TRIOO Related work (III) Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Object-oriented stores: Rodr´ ıguez, Jose E. Labra JDO Dobblin Motivation Durus Related work ZODB Models Object Oriented ... computational model RDF data model Models comparison Implementations Conclusions and future work
  • 21. TRIOO Related work (III) Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Object-oriented stores: Rodr´ ıguez, Jose E. Labra JDO Dobblin Motivation Durus Related work ZODB Models Object Oriented ... computational model RDF data model XML stores: Models comparison Implementations JAXB Conclusions and ... future work
  • 22. TRIOO Related work (III) Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Object-oriented stores: Rodr´ ıguez, Jose E. Labra JDO Dobblin Motivation Durus Related work ZODB Models Object Oriented ... computational model RDF data model XML stores: Models comparison Implementations JAXB Conclusions and ... future work Schema-free stores: NoSQL ...
  • 23. TRIOO Related work (III) Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Object-oriented stores: Rodr´ ıguez, Jose E. Labra JDO Dobblin Motivation Durus Related work ZODB Models Object Oriented ... computational model RDF data model XML stores: Models comparison Implementations JAXB Conclusions and ... future work Schema-free stores: NoSQL ... Also other horizontal approaches: LINQ DataNucleus AccessPlatform ...
  • 24. TRIOO Related work (IV): RDF-based stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra There also are some similar approaches to do so with RDF: Motivation Related work Models Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 25. TRIOO Related work (IV): RDF-based stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra There also are some similar approaches to do so with RDF: Motivation Related work ActiveRDF and Spira for Ruby Models Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 26. TRIOO Related work (IV): RDF-based stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra There also are some similar approaches to do so with RDF: Motivation Related work ActiveRDF and Spira for Ruby Models Empire and Sommer for Java Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 27. TRIOO Related work (IV): RDF-based stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra There also are some similar approaches to do so with RDF: Motivation Related work ActiveRDF and Spira for Ruby Models Empire and Sommer for Java Object Oriented computational model RDF data model Moriarty for PHP Models comparison Implementations Conclusions and future work
  • 28. TRIOO Related work (IV): RDF-based stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra There also are some similar approaches to do so with RDF: Motivation Related work ActiveRDF and Spira for Ruby Models Empire and Sommer for Java Object Oriented computational model RDF data model Moriarty for PHP Models comparison Implementations SuRF for Python Conclusions and future work
  • 29. TRIOO Related work (IV): RDF-based stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra There also are some similar approaches to do so with RDF: Motivation Related work ActiveRDF and Spira for Ruby Models Empire and Sommer for Java Object Oriented computational model RDF data model Moriarty for PHP Models comparison Implementations SuRF for Python Conclusions and future work And some others...
  • 30. TRIOO Related work (IV): RDF-based stores Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra There also are some similar approaches to do so with RDF: Motivation Related work ActiveRDF and Spira for Ruby Models Empire and Sommer for Java Object Oriented computational model RDF data model Moriarty for PHP Models comparison Implementations SuRF for Python Conclusions and future work And some others... But they tend to be too influenced by other technologies that have nothing to do with RDF, and abuse of implementing proprietary APIs instead of using pure SPARQL approaches.
  • 31. TRIOO Outline Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Motivation Related work Related work Models Object Oriented computational model RDF data model Models Models comparison Object Oriented computational model Implementations RDF data model Conclusions and future work Models comparison Implementations Conclusions and future work
  • 32. TRIOO Object Oriented computational model Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work Actually there is not a single model, because usually Models object-oriented languages are divided into two big families: Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 33. TRIOO Object Oriented computational model Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work Actually there is not a single model, because usually Models object-oriented languages are divided into two big families: Object Oriented computational model RDF data model Models comparison Implementations Class-based programming languages Conclusions and future work
  • 34. TRIOO Object Oriented computational model Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work Actually there is not a single model, because usually Models object-oriented languages are divided into two big families: Object Oriented computational model RDF data model Models comparison Implementations Class-based programming languages Conclusions and future work Prototype-based programming languages
  • 35. TRIOO Class-based programming languages Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Class-based programming languages are those which use a Related work computational model where objects are grouped on sets with Models Object Oriented equal structure and behavior as instances of the same class. computational model RDF data model Models comparison Implementations Conclusions and Thus there is a heavy link between an object and its class on future work instantiation, and it is not possible to create and use an object without previously define its static structure and behavior on a class.
  • 36. TRIOO Prototype-based programming languages Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Prototype-based programming languages aim to be more Motivation faithful to the object computational model, where it is only Related work necessary to have objects, no additional abstractions such as Models classes are required. Object Oriented computational model RDF data model Models comparison The common behavior is defined by what is known as “trait Implementations objects”. The shared structure is represented as prototype Conclusions and future work objects, which inherit their behavior from the trait objects. Therefore the state is always defined as objects. The creation of objects (actually instance objects) is done using cloning those prototype objects.
  • 37. TRIOO RDF Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation RDF (Resource Description Framework) is an assertional Related work language that provides an extensible and flexible data model. Models Object Oriented computational model RDF data model Based on the concept of triple: Models comparison Implementations (subject, predicate, object) Conclusions and future work RDF is the core technology of the Semantic Web.
  • 38. TRIOO RDF (II) Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Formally a RDF triple is defined as a tuple (s, p, o) that Motivation (s, p, o) (U ∪ B) × U × (U ∪ L ∪ B), where U is the universe Related work of all possible named resources, identified by an URI, B is Models the finite set on blank nodes, and L is the set with all RDF Object Oriented computational model RDF data model literals. Models comparison Implementations Therefore a set on triples is structurally interpreted as a Conclusions and graph G = (V , E ), where V is the set of vertices that future work V ⊂ (U ∪ B ∪ L), and E is the set of named arcs that E ⊂ V × U × V. For each triple (s, p, o) of the RDF data model, there is a directed arc, p, between nodes s y o.
  • 39. TRIOO Models comparision Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Both models present some irreconcilable features, mainly: Motivation Related work Models Object Oriented OO RDF computational model RDF data model Approach Computational Assertional Models comparison Identity Comparable Universal Implementations Typing Single Multiple Conclusions and future work Type inference Depending of the Depending on objects themselves the relationships (only in some languages) Navigability through attributes through arcs
  • 40. TRIOO Models comparison Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work And there are some other aspects that could not be Models achievable at a semantic level, such as: Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 41. TRIOO Models comparison Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work And there are some other aspects that could not be Models achievable at a semantic level, such as: Object Oriented computational model RDF data model Models comparison Implementations Expressiveness Conclusions and future work
  • 42. TRIOO Models comparison Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work And there are some other aspects that could not be Models achievable at a semantic level, such as: Object Oriented computational model RDF data model Models comparison Implementations Expressiveness Conclusions and Integrity Constraints future work
  • 43. TRIOO Models comparison Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work And there are some other aspects that could not be Models achievable at a semantic level, such as: Object Oriented computational model RDF data model Models comparison Implementations Expressiveness Conclusions and Integrity Constraints future work Versioning
  • 44. TRIOO Outline Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Motivation Related work Related work Models Object Oriented computational model RDF data model Models Models comparison Object Oriented computational model Implementations RDF data model Conclusions and future work Models comparison Implementations Conclusions and future work
  • 45. TRIOO Implementations Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Currently we are immersed on developing the first two Related work reference implementations, based on our study about the Models programming languages potentially more interesting: Object Oriented computational model RDF data model Models comparison Implementations Conclusions and future work
  • 46. TRIOO Implementations Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Currently we are immersed on developing the first two Related work reference implementations, based on our study about the Models programming languages potentially more interesting: Object Oriented computational model RDF data model Models comparison Implementations One on a class-based programming language (Java) Conclusions and future work
  • 47. TRIOO Implementations Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Currently we are immersed on developing the first two Related work reference implementations, based on our study about the Models programming languages potentially more interesting: Object Oriented computational model RDF data model Models comparison Implementations One on a class-based programming language (Java) Conclusions and future work And the other on a prototype-based programming language (Python)
  • 48. TRIOO jtrioo Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Related work The implementation on Java Models Object Oriented computational model RDF data model Models comparison Based on annotations (quite inspired by JPA) Implementations Conclusions and future work Persistence fully based on SPARQL/SPARUL, both on local and remote
  • 49. TRIOO pryoo Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation The implementation on Python Related work Models Object Oriented Much more flexible API, intensively reflection usage computational model RDF data model Models comparison Implementations Still less stable Conclusions and future work Persistence only works on remote endpoints (implementation of SPARUL not yet available on Python)
  • 50. TRIOO Outline Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Motivation Motivation Related work Related work Models Object Oriented computational model RDF data model Models Models comparison Object Oriented computational model Implementations RDF data model Conclusions and future work Models comparison Implementations Conclusions and future work
  • 51. TRIOO Sergio Fern´ndez, a These are still the first steps, still a long way... Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Current approach only covers integration of both data Motivation models Related work Models The aim at the end is to semantically integrate Object Oriented computational model RDF data model Models comparison Many lessons to learn from the current implementations Implementations available on Python Conclusions and future work Improve them New implementations will come Probably C# and JavaScript
  • 52. TRIOO Sergio Fern´ndez, a Diego Berrueta, Miguel Garc´ıa Rodr´ ıguez, Jose E. Labra Thank you! Motivation Related work Models Object Oriented computational model RDF data model Models comparison Further information at: Implementations http://trioo.wikier.org/ Conclusions and future work This presentation is available under the Creative Commons Attributions Share Alike license