Methods for (S)CRUD pattern support in Semantic web applications

Java bean and form generation, and object-ontology mapping methods.

Institution: Slovak University of Technology
Technologies used: Java
Inputs: Domain ontology
Outputs: Java beans and forms for domain entity editing

Addressed Problems

Most software systems are in present developed using object-oriented paradigm. In these systems, the data entities are encapsulated in objects during runtime when they are processed. The persistent store of the data is usually realized employing relational databases. To work with the domain entities in the application we use corresponding objects. To store these we need to perform object-relational mapping. In Semantic web application a situation is different. Here we use ontologies for storage and we need to perform object-ontological mapping.

Description

Our solution supports the (S)CRUD pattern (Search-Create-Retrieve-Update-Delete) in Semantic web applications on two levels. First, we offer methods (in the sense of object-oriented paradigm) performing (S)CRUD operations, which are called from the application code or by software agents. Second, since (S)CRUD is also relevant at the user interface level of most applications, we create an access point through which the user can communicate with the application when these operations are performed.

To store the objects into ontologies or load an ontological instance into object, we perform object-ontological mapping. The basic idea is to create a set of classes (Java beans in our case) in such a way that each ontological class has its equivalent in a class of the selected object-oriented programming language. The creation of these classes is realized in automatic manner. We have developed two methods for mapping between objects (instances of Java beans) and ontological instances. First, an ad hoc mapper. Second, universal mapper. The difference is that the ad hoc mapper is coupled to the given ontology. If the ontology changes, new mapper must be created. The creation of this mapper can be realized automatically. The universal mapper is not bound to any ontology. This is possible due the use of Java reflection. Dissadvantage of the universal mapper are the performance problems due the use of Java reflection.

To bring the (S)CRUD operations on the user interface level, we have developed a form generator. It is used to create (based on ontological description of the entities) the description of forms, which are used to present the data entities for a user who can edit them. Accordingly the user can fill in information of the real world entities and store them. Our method for automatic form generation from an ontology is based on the structure of the domain ontology (entity description) and form specific information (FSI) stored in the FSI ontology. The FSI ontology is required because the pure domain ontology does not include enough information to be able to create user friendly forms.

We identified ontological patterns as repeating structures (sets of concepts and their relations) in ontological representations and defined consecutive data and processing around these patterns. Our method is based on the assumption that similar patterns are shared between ontologies with the patterns themselves being defined using different types of ontological concepts - classes, relations between them, properties, instances and restrictions.

The utilization of the (S)CRUD pattern support methods for Semantic web applications is depicted in the figure below.
(S)CRUD pattern support.

(S)CRUD pattern support.

References

  1. M. Barla, P. Bartalos, P. Sivák, K. Szobi, M. Tvarožek, R. Filkorn: Ontology as an Information Base for Domain Oriented Portal Solutions. In Proc. of 15th Int. Conf. on Information Systems Development, ISD'06, Budapest, Hungary, 2006.
  2. P. Bartalos, M. Bieliková: An approach to object-ontology mapping. In: 2nd IFIP Central and East European Conference on Software Engineering Techniques CEE-SET 2007 , (2007).
  3. P. Bartalos, M. Bieliková: (S)CRUD Pattern Support for Semantic Web Applications. In: SOFSEM 2008, Student Research Forum, (2008).