SemAntic is a web-based application for semantically annotating images used for the training of the Knowledge Discovery component.
SemAntic accepts a variety of formats, enables the user to mark parts of the image using circular, rectangular and polygonal regions, to associate them with user loaded RDF ontology classes and finally, export the resulting annotations in JSON according to the Web Annotation Data Model, a W3C Recommendation.
The architecture of SemAntic comprises of a server component written in Java as well as a web frontend based on the popular Bootstrap and AngularJS frameworks. The component used for drawing the actual annotations makes heavy use of the Fabric.js HTML5 canvas library. Data persistence for storing the ontology and annotation data is realized through a MongoDB database.
The web-interface in addition to basic CRUD (Create, Read, Update and Delete) annotation features, also supports undo and redo, allows users to browse ontologies in a tree view supporting class labels in multiple languages and a search function covering class names, labels in all languages as well as the class definitions (recorded as RDF comments), and provides an import function for annotations created using other software.All images and their corresponding annotations are stored on the server and can be exported to an archive containing the binary image as well as the JSON annotation data, with just a single mouse click
Although SemAntic was developed In the context of Neoclassica it is designed as a generic tool that can admit any kind of ontology and in the near future will be released under an open source license.