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

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

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

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

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