Semantic Annotations


This page is dedicated to discuss different aspects of annotating content in SMW in 2022 and beyond. Beginners should make sure to read the regular help pages first:


In many use-cases, a form based extension (e. g. PageForms) is used in SMW installations for users to add content in pre-defined fields. This basically results in using annoations (inline or using #set) in a template. Setting property values in a template is described in semantic templates.

However, still many use-cases exist where semantically annotating free text is needed. Due to many reasons, this feature has been neglected in the past and is currently not very well supported.

Current status[edit]

Annotating while editing text[edit]

When a user edits text and wants to add property values, there is no assistance for the user. Way back ago, an SMW flavour called "SMW+" or "Project Halo" provided an interface that helped the users look into which properties are already used.

  • One aspect is to discuss, what kind of annotation assistance would be needed nowadays and how this can be supported by SMW
  • As many users are not using WikiEditor but Visual Editor, a sub-question is how to help users with annotations using either of the two editors.

Annotating using alternative approaches[edit]

Extension:PageProperties is suggesting an alternative approach by adding an alternative "properties" button next to the edit button.

  • Editing using the PageProperties approach should be further discussed

Input Dennis Groenewegen EMWCON[edit]

  • First, considering available js libraries. If I recall correctly, said extension relies on the Annotator js library, which is no longer maintained last time I checked. Alternatives have sprung up though. I'm not sure about (, because it seems to be more of an online service. A great contender is Recogito js (, which is developed by Recogito ( and looks promising as an alternative.
  • Second, this type of stand-off annotation, if that is the right term, begs a really big question: where do we want to store the data? Does the model of using one wiki page for each set of annotations suffice? Can we use SMW's subobjects and if so, should they be framed by templates, or should be looking for other multiple-instance models like wiki pages in JSON? Or no wiki pages at all?
  • Third, which types of resources do we want to make 'annotatable': just wiki pages, or also PDFs and XML documents?

Annotating while reading text[edit]

Another use-case is to enable readers of a text to do annotations without editing the page. This was supported by an outdated extension "Semantic Text Annotator" that supported marking of parts of the text, then selecting a form where additional information could be entered.

  • One aspect to discuss is to revive Semantic Text Annotator extension or what other annotation tools/libraries could be used.

Technical threat for inline annotations[edit]

Due to technical reasons, in-text annotations with link using double "::" in brackets will be broken in future versions of MediaWiki. Resources:

This means that most probably a new in-text-annotaion syntax needs to be implemented.

  • So we should intensify the technical discussion about abandining in-text-annotations (including how to migrate) or implementing an alternative solution that will work with Parsoid


Everyone interested is invited to join regular meetings about these topics. The will be announced here.