TRIOO, Keeping the Semantics of Data Safe and Sound into Object-Oriented Software
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

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

  • 1,020 views
Uploaded on

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.

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,020
On Slideshare
994
From Embeds
26
Number of Embeds
2

Actions

Shares
Downloads
3
Comments
0
Likes
1

Embeds 26

http://www.techgig.com 24
http://www.linkedin.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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