Home » Projects » Teaching » Versa, A Semantic Social Network

Versa, A Semantic Social Network

semanticVersa was developed during the course 2010-11 as the main educational project for my K-12 students. It was a basic semantic social web application builded from the ground up that illustrated key areas of my ICT II class curricula. Different technologies were selected for this project according to criteria of availability, easy of use, affordable learning curve and the strong appreciation for innovation I always try to transmit to my students. The following is a review of these technologies.

We used Tapestry as the development framework. Tapestry is a component oriented framework developed in Java which implements MVC paradigm very smartly and makes building web applications really easy. Even considering the basic knowledge of programming my students had, it revealed as the right tool for its use of components as building blocks, which helped them to better understand the project structure and to cope with the development process.

As a semantic social application, Versa needed for a vast database of topics to associate with users and there’s no one bigger than Freebase. With its millions of topics and facts, Freebase also exposes a search API that allowed us to implement a key feature of the application and was used in our project as a way of interacting with a real internet service and to add a touch of reality to it.

For data persistence we used Sesame, an RDF data processing framework that includes a triplestore and an inference engine, combined with Elmo. The same as an Object Relational Mapping library, Elmo allows for working at the ontology level instead of with RDF triples directly. But the trickiest part was integrating Elmo with Tapestry’s IoC system. A very basic solution can be downloaded from GitHub. The following code shows an example of  using Elmo-Tapestry in an application module.

Leave a Reply

Your email address will not be published. Required fields are marked *