Development of Semantic Web-Services using Apache Jena

Development of Semantic Web-Services using Apache Jena

Proposition de stage - Internship proposal

Profile Bachelor/master.
Prerequisites Java Programming, Understanding of java web services and ORM basics
Understanding of Compilers basics, Exposure to at least one of the following : Web Ontology language (OWL), RDF, XML
Duration 3 months.
Language Interaction with senior researcher responsible of internship will be in English. Therefore, standard knowledge of English is required.


In the context of ReDIRNET Research project an ontology based RDF repository with RESTful web service API has been developed. The component, that was named Ontology Repository Services, has been used for storing and managing information and its metadata on the emergency response domain as one of the core services of the ReDIRNET platform. After the end of the project the Repository Architecture has been redesigned and refined with the aim of decoupling its core and services from the application domain.

The Ontology repository stores information using an ontology based formal data model. The model can be built using either an XML schema description (XSD) or an OWL-RDF ontology model. The repository provides a RESTful web services API that provide from basic CRUD to complex data querying operations for Web-UI components. The REST API services are designed to assist discovery, interlinking and exchange of the stored information. As The Ontology Repository core and its standard REST API are domain independent, the model and services can be easily modified or extended without requiring any source code changes as well as have their functionality customised according to the use case requirements.

Work to be realised

The Ontology Repository Services (ORS) prototype has been deployed and demonstrated in operational environment during the ReDIRNET project. Since the architecture refactoring several components and core parts had to be redesigned and redeveloped. The role of this internship is to continue the development of the ORS components with the help and guidance of the team in order to complete certain functionality/component. Specifically :

  • Analysing the existing solution and defining the part of the project that could be generalized with code generation.
  • Writing Java code that generates Java source files using the JavaParser and JCodeModel libraries
  • Development of Java web services for RDF repository management using Apache Jena and the JAX-RS API
  • Generating SPARQL queries
  • Generating configuration scripts


This work will be guided and supported by the responsible of the internship in English and the team of researchers that are working on the platform (English or French). Reporting of the progress is expected at the weekly development team meeting, which will be used for catching up, issue solving and work planning.

Contact : Nikolaos Matskanis (