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

Sergio Fernández, Diego Berrueta, Miguel García Rodríguez, José E. Labra


Data management is a key factor in any software effort. Traditional solutions, such as relational databases, are rapidly losing weight in the market towards more flexible approaches and data models due to the fact that data stores as monolithic components are not valid in many current scenarios. The World Wide Consortium proposes RDF as a suitable framework for modeling, describing and linking resources on the Web. Unfortunately the current methods to access to RDF data can be considered a kind of handcrafted work. Therefore the Trioo project aims to provide powerful and flexible methods to access RDF datasets from objectoriented programming languages, allowing the usage of this data without negative influences in object-oriented designs and trying to keep the semantics of data as accurate as possible.


  1. Adida, B., Birbeck, M., McCarron, S., and Pemberton, S. (2008). RDFa in XHTML: Syntax and Processing. Recommendation, W3C.
  2. Angles, R. and Gutierrez, C. (2008). The Expressive Power of SPARQL. In Proceedings of the 7th International Semantic Web Conference (ISWC2008).
  3. Bauer, C. and King, G. (2004). Manning Publications.
  4. Berners-Lee, T. (2006). Linked Data: design issues.
  5. Berners-Lee, T., Fielding, R., and Masinter, L. (2005). RFC3886: Uniform Resource Identifier (URI): Generic Syntax. Request For Comments, The Internet Society.
  6. Berners-Lee, T., Hendler, J., and Lassila, O. (2001). The Semantic Web: a new form of Web content that is meaningful to computers will unleash a revolution of new possibilities. Scientific American.
  7. Blaschek, G. (1994). Object-Oriented Programming with Prototypes. Springer-Verlag New York, Inc.
  8. Booch, G. (1993). Object-Oriented Analysis and Design with Applications. Addison-Wesley.
  9. Borning, A. H. (1986). Classes Versus Prototypes in Object-Oriented Languages. In Proceedings of the ACM/IEEE Fall Joint Computer Conference, pages 30-40.
  10. Bracha, G. (2004). JSR 175: A Metadata Facility for the Java Programming Language. Java Specification Request, Sun Microsystems.
  11. Brickley, D., Guha, R., and McBride, B. (2004). Rdf vocabulary description language 1.0: Rdf schema. Recommendation, W3C.
  12. Broekstra, J. and Kampman, A. (2003). SeRQL: a second generation RDF query language. In Proceedings of SWAD-Europe Workshop on Semantic Web Storage and Retrieval.
  13. Cyganiak, R. (2005). A relational algebra for SPARQL.
  14. DeMichiel, L. (2009). JSR 317: Java Persistence API, Version 2.0. Java Specification Request, Sun Microsystems.
  15. DeMichiel, L. and Keith, M. (2006). JSR 220: Enterprise JavaBeans 3.0. Java Specification Request, Sun Microsystems.
  16. Evins, M. (1994). Objects Without Classes. Computer IEEE, Volume 27:104-109.
  17. Fensel, D., Decker, S., Erdmann, M., and Studer, R. (1998). Ontobroker: The Very High Idea. In Proceedings of the 11th International Florida Artificial Intelligence Research Symposium (FLAIRS98).
  18. Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and Berners-Lee, T. (1999). RFC2616: Hypertext Transfer Protocol HTTP/1.1. Technical report, The Internet Society.
  19. Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley.
  20. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1994). Design Patterns: Elements of Reusable ObjectOriented Software. Addison-Wesley Professional.
  21. Gosling, J., Joy, B., Steele, G., and Bracha, G. (2005). Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)). Addison-Wesley Professional.
  22. Hayes, P. and McBride, B. (2004). Recommendation, W3C.
  23. Hejlsberg, A. (2008). The Future of C#. In the Microsoft's Professional Developers Conference (PDC).
  24. Kjernsmo, K. and Passant, A. (2009). SPARQL New Features and Rationale. Working Draft, W3C.
  25. Klyne, G. and Carroll, J. J. (2004). Resource Description Framework (RDF): Concepts and Abstract Syntax. Recommendation, W3C.
  26. Logozzo, F. (2004). Separate Compositional Analysis of Class-based Object-oriented Languages. In Proceedings of the 10th International Conference Algebraic Methodology and Software Technology (AMAST 2004).
  27. Meijer, E., Beckman, B., and Bierman, G. (2006). LINQ: reconciling object, relations and XML in the .NET framework. In ACM SIGMOD International Conference on Management of Data, Chicago, Illinois.
  28. Motik, B. and Rosati, R. (2007). A Faithful Integration of Description Logics with Logic Programming. In Proceedings of the Twentieth International Joint Conference on Artificial Intelligence (IJCAI 2007), pages 477-482.
  29. Noble, J., Taivalsaari, A., and Moore, I. (1999). PrototypeBased Programming: Concepts, Languages and Applications. Springer Publishing Company.
  30. Oren, E., Heitmann, B., and Decker, S. (2008). ActiveRDF: embedding Semantic Web data into object-oriented languages. Journal of Web Semantics, 6:191-202.
  31. Prud'hommeaux, E. and Seaborne, A. (2008). SPARQL Query Language for RDF. Recommendation, W3C.
  32. Sauermann, L. and Cyganiak, R. (2008). Cool URIs for the Semantic Web. Interest Group Note, W3C.
  33. Schenk, S. and Gearon, P. (2010). SPARQL 1.1 Update. Working Draft, W3C.
  34. Schneider, M., Carroll, J., Herman, I., and Patel-Schneider, P. F. (2009). OWL 2 Web Ontology Language, RDFBased Semantics. Recommendation, W3C.
  35. Seaborne, A. (2010). SPARQL 1.1 Property Paths. Working Draft, W3C.
  36. Shinavier, J. (2007). Ripple: Functional Programs as Linked Data. In Proceedings of the 3rd international workshop on Scripting for the Semantic Web (SFSW2007), co-located with the 4th European Semantic Web Conference (ESWC2007).
  37. Sintek, M. and Decker, S. (2002). TRIPLE-A Query, Inference and Transformation Language for the Semantic Web. In Proceedings of the 1st International Conference on Semantic Web, volume Volume 2342/2002, pages 364-378, Sardinia, Italy. Springer Berlin / Heidelberg.
  38. Sirin, E. and Parsia, B. (2007). SPARQL-DL: SPARQL Query for OWL-DL. In Proceeddings of the 3rd OWL Experiences and Directions Workshop (OWLED 2007).
  39. Sirin, E. and Tao, J. (2009). Towards Integrity Constraints in OWL. In Proceedings of the 6th International Workshop on OWL: Experiences and Directions (OWLED 2009).
  40. ter Horst, H. J. (2005). Completeness, decidability and complexity of entailment for RDF Schema and a semantic extension involving the OWL vocabulary. Journal of Web Semantics, Vol. 3:pp. 79-115.
  41. Ungar, D., Chambers, C., Chang, B.-W., and Hlzle, U. (1991). Organizing programs without classes. LISP and Symbolic Computation, Volume 4:223-242.
  42. Ungar, D. and Smith, R. B. (1987). SELF: The Power of Simplicity. In Proceedings of The International Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA'87), pages 227-241.
  43. van Rossum, G. (1989). The Python programming language.
  44. Winter, C. (2010). PEP 3129 - Class Decorators. Python Enhancement Proposal, Python Software Foundation.

Paper Citation

in Harvard Style

Fernández S., Berrueta D., García Rodríguez M. and E. Labra J. (2010). TRIOO - Keeping the Semantics of Data Safe and Sound into Object-oriented Software . In Proceedings of the 5th International Conference on Software and Data Technologies - Volume 1: ICSOFT, ISBN 978-989-8425-22-5, pages 311-320. DOI: 10.5220/0003008803110320

in Bibtex Style

author={Sergio Fernández and Diego Berrueta and Miguel García Rodríguez and José E. Labra},
title={TRIOO - Keeping the Semantics of Data Safe and Sound into Object-oriented Software},
booktitle={Proceedings of the 5th International Conference on Software and Data Technologies - Volume 1: ICSOFT,},

in EndNote Style

JO - Proceedings of the 5th International Conference on Software and Data Technologies - Volume 1: ICSOFT,
TI - TRIOO - Keeping the Semantics of Data Safe and Sound into Object-oriented Software
SN - 978-989-8425-22-5
AU - Fernández S.
AU - Berrueta D.
AU - García Rodríguez M.
AU - E. Labra J.
PY - 2010
SP - 311
EP - 320
DO - 10.5220/0003008803110320