Collaborative Tagging System

The Tagging System is a web-based application, allowing its users to annotate any resources, i.e. to associate arbitrary keywords (tags) with the resource, and to share tags among users.

Besides annotations, important content information for resources of the same kind, an entity type, can be stored in an internal database in a structured way. This information can be adopted (scraped) from the resource automatically, and can be edited and completed by the users. There are several search functions to retrieve the stored resources by their given tags or content.

Altogether, tagging massively helps to organize and categorize resources in large quantity, so that a group of people can handle those resources and retrieve desired information easily.


One of the system's main advantages compared to conventional tagging systems is the use of facets. Facets capture aspects by which an object can be described, e.g. author, has_part, has_function. Tags can be assigned to a facet, which corresponds to a categorization of the tag into the corresponding aspect. By means of facets tagged objects can be found more efficiently by the user.

Another advantage of our Tagging System is its customizability and extensibility. The implementation can manage entities of arbitrary type, and the system can very easily be adapted to the needs of the user.

Configuration and Scrapers

A configuration defines entity types and facets for tagging. For instance, in a case study our configuration was based on the biological core ontology GFO-Bio, using its categories as entity types and its relations as facets. Technically, the configuration is provided to the system as an OWL ontology. OWL classes are used as entity types, OWL properties result in facets. When selecting facets for an entity type, the tagging system suggests all OWL properties whose domain cannot be proved to be disjoint with the entity type.

Moreover, for each entity type a scraper is needed in order to automatically gather attribute values from tagged resources. The system is equipped with a number of pre-defined scrapers, and newly implemented scrapers can be easily incorporated.

Beyond attributes defined in scrapers and facets in the configuration, the Tagging System allows for user-defined attributes and facets.


The Tagging System is a Java Servlet application running in an Apache Tomcat Servlet Container. The data is stored in a MySQL database. For the sake of Model-View-Controller separation, we use HTML-Templates and a self-engineered Template-Engine.

The management of OWL ontologies is realized with the Jena-Framework and the Pellet reasoner.