The development and use of ontologies in creating more intelligent and effective applications have increased in recent years. This rise in popularity is due to the potential of ontologies in providing semantics for the data consumed by machines, allowing them to reason on these data. Providing sophisticated tools that improve the development of applications based on RDF and OWL can further accelerate the adoption of the Semantic Web. In this context, some types of ontology tools have been proposed, for instance, ontology editors, ontology reasoners, triple store tools, RDF frameworks and object triple mapping (OTM) systems. In particular, OTM systems (e.g., AliBaba, KOMMA, JOINT and so on) are of utmost importance for developing ontology-based applications through the object-oriented paradigm. They map RDF triples into data objects, enabling developers to handle RDF triples as objects in object-oriented applications. In a similar way, developers of relational database applications have been using object-relational mapping (ORM) systems, for example Hibernate, to map relational databases into objects as well as to manage the object states. The main object state that Hibernate provides is the detached one; however, except for Empire, current OTM systems do not provide detached objects. The great difference between these two types of objects is that the former one has its life cycle independent of the underlying database connection, while the latter one is bound to the connection. In this way, this paper presents an object triple mapping system that supports detached objects, named JOINT-Detached (JOINT-DE). By using JOINT-DE, developers of ontology-based applications can (i) use the objects coming from the triple store as objects of the business model, (ii) use such objects as data transfer objects (DTOs) between subsystems, and (iii) use of less resources (triple store connections) to load object properties. To evaluate the proposed tool, we first describe how we conducted an experiment to empirically compare our tool with another OTM widely used by the community. We measure performance and memory usage regarding create, retrieve and update operations. Our results indicate that: (1) JOINT-DE has better performance results in all three operations; (2) JOINT-DE has an advantage over AliBaba with respect to the memory usage in the retrieve operation; (3) AliBaba uses less memory than JOINT-DE in the update operation; and (4) we could not find statistically significant differences between the tools regarding memory usage in the create operation. Finally, to illustrate the benefits of the proposed system, a case study of a real application is presented, outlining the architectural limitations of the application using an existing OTM in the literature, as well as showing positive results to the use of JOINT-DE.
Read full abstract