52
TRIOO Sergio Fern´ andez, 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 Keeping the Semantics of Data Safe and Sound into Object-Oriented Software Sergio Fern´ andez 1 , Diego Berrueta 1 , Miguel Garc´ ıa Rodr´ ıguez 2 , Jose E. Labra 2 Fundaci´ on CTIC Universidad de Oviedo 5th International Conference on Software and Data Technologies (ICSOFT 2010), July 23th, 2010, Athens, Greece.

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

Embed Size (px)

DESCRIPTION

Talk of the paper with the same title at the 5th International Conference on Software and Data Technologies (ICSOFT 2010), Athens, Greece, July 22-24, 2010.

Citation preview

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

TRIOOKeeping the Semantics of Data Safe and Sound

into Object-Oriented Software

Sergio Fernandez1, Diego Berrueta1,Miguel Garcıa Rodrıguez2, Jose E. Labra2

Fundacion CTIC

Universidad de Oviedo

5th International Conference on Software and DataTechnologies (ICSOFT 2010), July 23th, 2010, Athens, Greece.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Outline

Motivation

Related work

ModelsObject Oriented computational modelRDF data modelModels comparison

Implementations

Conclusions and future work

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Outline

Motivation

Related work

ModelsObject Oriented computational modelRDF data modelModels comparison

Implementations

Conclusions and future work

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Motivation

I The Web of Data offers a new approach to exploit dataacross the Web

I Huge amount of data published as RDF (Linked Data)I Ready to be consumed by applications using standard

protocols (HTTP) and query languages (SPARQL)

I Current methods to access to RDF data can beconsidered a kind of handcrafted work, closer to theRDF data model than to the common software tools

I Therefore it is necessary to fill that gapI Allowing the usage of this data without negative

influences in object-oriented designsI While trying to keep the semantics of data as accurate

as possible

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Motivation

I The Web of Data offers a new approach to exploit dataacross the Web

I Huge amount of data published as RDF (Linked Data)I Ready to be consumed by applications using standard

protocols (HTTP) and query languages (SPARQL)

I Current methods to access to RDF data can beconsidered a kind of handcrafted work, closer to theRDF data model than to the common software tools

I Therefore it is necessary to fill that gapI Allowing the usage of this data without negative

influences in object-oriented designsI While trying to keep the semantics of data as accurate

as possible

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Motivation

I The Web of Data offers a new approach to exploit dataacross the Web

I Huge amount of data published as RDF (Linked Data)I Ready to be consumed by applications using standard

protocols (HTTP) and query languages (SPARQL)

I Current methods to access to RDF data can beconsidered a kind of handcrafted work, closer to theRDF data model than to the common software tools

I Therefore it is necessary to fill that gapI Allowing the usage of this data without negative

influences in object-oriented designsI While trying to keep the semantics of data as accurate

as possible

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Outline

Motivation

Related work

ModelsObject Oriented computational modelRDF data modelModels comparison

Implementations

Conclusions and future work

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work

I This ongoing effort is extensively related to the workmade these years on:

I object-relational mappings

I but also to the work on accessing (Semantic)Web data

I Therefore the same techniques and design patterns(Active Record, Data Mapper and so on) apply.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work

I This ongoing effort is extensively related to the workmade these years on:

I object-relational mappings

I but also to the work on accessing (Semantic)Web data

I Therefore the same techniques and design patterns(Active Record, Data Mapper and so on) apply.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work

I This ongoing effort is extensively related to the workmade these years on:

I object-relational mappings

I but also to the work on accessing (Semantic)Web data

I Therefore the same techniques and design patterns(Active Record, Data Mapper and so on) apply.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work

I This ongoing effort is extensively related to the workmade these years on:

I object-relational mappings

I but also to the work on accessing (Semantic)Web data

I Therefore the same techniques and design patterns(Active Record, Data Mapper and so on) apply.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work

I This ongoing effort is extensively related to the workmade these years on:

I object-relational mappings

I but also to the work on accessing (Semantic)Web data

I Therefore the same techniques and design patterns(Active Record, Data Mapper and so on) apply.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (II): traditional stores

(on this talk the term “traditional stores” actually concerns

traditional relational databases)

Many software tools for object-relation mapping haveemerged on last years:

I ActiveRecord for Ruby on Rails

I Django Models or SQLAlchemy for Python

I GORM for Grails

I Hibernate (JPA) and MyBatis for Java

I And many others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (II): traditional stores

(on this talk the term “traditional stores” actually concerns

traditional relational databases)

Many software tools for object-relation mapping haveemerged on last years:

I ActiveRecord for Ruby on Rails

I Django Models or SQLAlchemy for Python

I GORM for Grails

I Hibernate (JPA) and MyBatis for Java

I And many others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (II): traditional stores

(on this talk the term “traditional stores” actually concerns

traditional relational databases)

Many software tools for object-relation mapping haveemerged on last years:

I ActiveRecord for Ruby on Rails

I Django Models or SQLAlchemy for Python

I GORM for Grails

I Hibernate (JPA) and MyBatis for Java

I And many others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (II): traditional stores

(on this talk the term “traditional stores” actually concerns

traditional relational databases)

Many software tools for object-relation mapping haveemerged on last years:

I ActiveRecord for Ruby on Rails

I Django Models or SQLAlchemy for Python

I GORM for Grails

I Hibernate (JPA) and MyBatis for Java

I And many others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (II): traditional stores

(on this talk the term “traditional stores” actually concerns

traditional relational databases)

Many software tools for object-relation mapping haveemerged on last years:

I ActiveRecord for Ruby on Rails

I Django Models or SQLAlchemy for Python

I GORM for Grails

I Hibernate (JPA) and MyBatis for Java

I And many others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (II): traditional stores

(on this talk the term “traditional stores” actually concerns

traditional relational databases)

Many software tools for object-relation mapping haveemerged on last years:

I ActiveRecord for Ruby on Rails

I Django Models or SQLAlchemy for Python

I GORM for Grails

I Hibernate (JPA) and MyBatis for Java

I And many others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (III)

I Object-oriented stores:I JDOI DobblinI DurusI ZODBI ...

I XML stores:I JAXBI ...

I Schema-free stores:I NoSQLI ...

I Also other horizontal approaches:I LINQI DataNucleus AccessPlatformI ...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (III)

I Object-oriented stores:I JDOI DobblinI DurusI ZODBI ...

I XML stores:I JAXBI ...

I Schema-free stores:I NoSQLI ...

I Also other horizontal approaches:I LINQI DataNucleus AccessPlatformI ...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (III)

I Object-oriented stores:I JDOI DobblinI DurusI ZODBI ...

I XML stores:I JAXBI ...

I Schema-free stores:I NoSQLI ...

I Also other horizontal approaches:I LINQI DataNucleus AccessPlatformI ...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (III)

I Object-oriented stores:I JDOI DobblinI DurusI ZODBI ...

I XML stores:I JAXBI ...

I Schema-free stores:I NoSQLI ...

I Also other horizontal approaches:I LINQI DataNucleus AccessPlatformI ...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (III)

I Object-oriented stores:I JDOI DobblinI DurusI ZODBI ...

I XML stores:I JAXBI ...

I Schema-free stores:I NoSQLI ...

I Also other horizontal approaches:I LINQI DataNucleus AccessPlatformI ...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (IV): RDF-based stores

There also are some similar approaches to do so with RDF:

I ActiveRDF and Spira for Ruby

I Empire and Sommer for Java

I Moriarty for PHP

I SuRF for Python

I And some others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (IV): RDF-based stores

There also are some similar approaches to do so with RDF:

I ActiveRDF and Spira for Ruby

I Empire and Sommer for Java

I Moriarty for PHP

I SuRF for Python

I And some others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (IV): RDF-based stores

There also are some similar approaches to do so with RDF:

I ActiveRDF and Spira for Ruby

I Empire and Sommer for Java

I Moriarty for PHP

I SuRF for Python

I And some others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (IV): RDF-based stores

There also are some similar approaches to do so with RDF:

I ActiveRDF and Spira for Ruby

I Empire and Sommer for Java

I Moriarty for PHP

I SuRF for Python

I And some others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (IV): RDF-based stores

There also are some similar approaches to do so with RDF:

I ActiveRDF and Spira for Ruby

I Empire and Sommer for Java

I Moriarty for PHP

I SuRF for Python

I And some others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (IV): RDF-based stores

There also are some similar approaches to do so with RDF:

I ActiveRDF and Spira for Ruby

I Empire and Sommer for Java

I Moriarty for PHP

I SuRF for Python

I And some others...

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Related work (IV): RDF-based stores

There also are some similar approaches to do so with RDF:

I ActiveRDF and Spira for Ruby

I Empire and Sommer for Java

I Moriarty for PHP

I SuRF for Python

I And some others...

But they tend to be too influenced by other technologiesthat have nothing to do with RDF, and abuse ofimplementing proprietary APIs instead of using pureSPARQL approaches.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Outline

Motivation

Related work

ModelsObject Oriented computational modelRDF data modelModels comparison

Implementations

Conclusions and future work

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Object Oriented computational model

Actually there is not a single model, because usuallyobject-oriented languages are divided into two big families:

I Class-based programming languages

I Prototype-based programming languages

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Object Oriented computational model

Actually there is not a single model, because usuallyobject-oriented languages are divided into two big families:

I Class-based programming languages

I Prototype-based programming languages

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Object Oriented computational model

Actually there is not a single model, because usuallyobject-oriented languages are divided into two big families:

I Class-based programming languages

I Prototype-based programming languages

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Class-based programming languages

Class-based programming languages are those which use acomputational model where objects are grouped on sets withequal structure and behavior as instances of the same class.

Thus there is a heavy link between an object and its class oninstantiation, and it is not possible to create and use anobject without previously define its static structure andbehavior on a class.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Prototype-based programming languages

Prototype-based programming languages aim to be morefaithful to the object computational model, where it is onlynecessary to have objects, no additional abstractions such asclasses are required.

The common behavior is defined by what is known as “traitobjects”. The shared structure is represented as prototypeobjects, which inherit their behavior from the trait objects.

Therefore the state is always defined as objects. Thecreation of objects (actually instance objects) is done usingcloning those prototype objects.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

RDF

RDF (Resource Description Framework) is an assertionallanguage that provides an extensible and flexible data model.

Based on the concept of triple:

(subject, predicate, object)

RDF is the core technology of the Semantic Web.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

RDF (II)

Formally a RDF triple is defined as a tuple (s, p, o) that(s, p, o)ε(U ∪B)×U × (U ∪ L∪B), where U is the universeof all possible named resources, identified by an URI, B isthe finite set on blank nodes, and L is the set with all RDFliterals.

Therefore a set on triples is structurally interpreted as agraph G = (V ,E ), where V is the set of vertices thatV ⊂ (U ∪ B ∪ L), and E is the set of named arcs thatE ⊂ V × U × V .

For each triple (s, p, o) of the RDF data model, there is adirected arc, p, between nodes s y o.

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Models comparision

Both models present some irreconcilable features, mainly:

OO RDFApproach Computational Assertional

Identity Comparable UniversalTyping Single Multiple

Type inference Depending of the Depending onobjects themselves the relationships

(only in some languages)Navigability through attributes through arcs

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Models comparison

And there are some other aspects that could not beachievable at a semantic level, such as:

I Expressiveness

I Integrity Constraints

I Versioning

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Models comparison

And there are some other aspects that could not beachievable at a semantic level, such as:

I Expressiveness

I Integrity Constraints

I Versioning

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Models comparison

And there are some other aspects that could not beachievable at a semantic level, such as:

I Expressiveness

I Integrity Constraints

I Versioning

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Models comparison

And there are some other aspects that could not beachievable at a semantic level, such as:

I Expressiveness

I Integrity Constraints

I Versioning

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Outline

Motivation

Related work

ModelsObject Oriented computational modelRDF data modelModels comparison

Implementations

Conclusions and future work

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Implementations

Currently we are immersed on developing the first tworeference implementations, based on our study about theprogramming languages potentially more interesting:

I One on a class-based programming language (Java)

I And the other on a prototype-based programminglanguage (Python)

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Implementations

Currently we are immersed on developing the first tworeference implementations, based on our study about theprogramming languages potentially more interesting:

I One on a class-based programming language (Java)

I And the other on a prototype-based programminglanguage (Python)

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Implementations

Currently we are immersed on developing the first tworeference implementations, based on our study about theprogramming languages potentially more interesting:

I One on a class-based programming language (Java)

I And the other on a prototype-based programminglanguage (Python)

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

jtrioo

I The implementation on Java

I Based on annotations (quite inspired by JPA)

I Persistence fully based on SPARQL/SPARUL, both onlocal and remote

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

pryoo

I The implementation on Python

I Much more flexible API, intensively reflection usage

I Still less stable

I Persistence only works on remote endpoints(implementation of SPARUL not yet available onPython)

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Outline

Motivation

Related work

ModelsObject Oriented computational modelRDF data modelModels comparison

Implementations

Conclusions and future work

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

I These are still the first steps, still a long way...

I Current approach only covers integration of both datamodels

I The aim at the end is to semantically integrate

I Many lessons to learn from the current implementationsavailable on Python

I Improve them

I New implementations will come

I Probably C# and JavaScript

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

TRIOO

Sergio Fernandez,Diego Berrueta,Miguel Garcıa

Rodrıguez, Jose E.Labra

Motivation

Related work

Models

Object Orientedcomputational model

RDF data model

Models comparison

Implementations

Conclusions andfuture work

Thank you!

Further information at:http://trioo.wikier.org/

This presentation is available under the

Creative Commons Attributions Share Alike license