Since 2012, ObjectSecurity is the official author, maintainer, and supporter of the Semantic Xwiki open source project. The Semantic XWiki project integrates XWiki, a mature Wiki technology project with Apache Jena, a semantic web technology (supporting OWL, RDF, SPARQL). The aim of the first phase of the project was to provide the basic integration of the two technologies with the best support for the Wiki programmer or advanced user. The project supports a set of custom defined XWiki macros which are usable for XWiki application programmers or advanced user to create custom semantic-based XWiki applications. These macros are used instead of semantic tagging based on the content of the wiki or any kind of automatic semantic search. ObjectSecurity uses the technology for semantics/ontology-driven cyber security purposes and other semantics/ontology-driven purposes.

SemanticXWiki was originally developed by ObjectSecurity for Next Generation Requirements Engineering (NextGenRE), a multi-partner project funded by the European Space Agency (ESA) in 2012. The goal of the project was to improve model-based requirements engineering for ESA.

Technical Details

  • Custom defined XWiki macros to create custom semantic-based XWiki applications: Nearly all the macros consider the current wiki page as a resource URI. For example, the macro “setProp” can be used for setting user defined semantic property on the current page. Other macros can be used to visualize semantics values either in a table or on the text line. The visualization can also be done using custom complex queries using SPARQL query language expression.
  • Automatic semantic properties life-cycle management: The project XWiki server plugin also supports automatic semantic properties life-cycle management. This means if there are some semantic properties defined for a page which is going to be deleted by the user, such semantic properties are also automatically deleted.
  • Macros for creation of XWiki pages from XWiki templates: The project’s macros also support XWiki template-to-XWiki page creation phase so it is possible to pass semantic data from user filled template page into the created page.
  • Eclipse XWiki extension: To ease the task of creating semantic XWiki applications, we have slightly extended XWiki’s Eclipse plug-in so it is not only compatible with semantic extensions, but also provides more advanced features such as page creation based on specified templates.
  • Eclipse Ecore integration: As a custom Eclipse extension, we have also developed an Eclipse plug-in that converts Eclipse Meta Model facility models into an XWiki application set. In this case, the XWiki application is a set of custom templates for the page creation of objects and a set of spaces to hold all the provided data. The aim of this tool is to enable automatic generation of documentation the data types defined using Eclipse Ecore.