FISE OpenSAGA Integration Validation and Online Demo

From IKS Project
Jump to: navigation, search

The OpenSAGA Wiki sends the Wiki text to a FISE engine whenever the Wiki text is saved. The set of enhancements is requested as an RDF/XML document. The OpenSAGA Wiki then asks Jena to build an internal model from that RDF/XML document. That model is then used to execute a SPARQL query to get relevant data per enhancement: a URL, a label and the level of confidence.

The SPARQL query also includes a FILTER so that enhancements below a certain threshold are ignored. That was done because it does not make sense to automatically show enhancements which likely are irrelevant.

The resulting data is displayed on the OpenSAGA Wiki page below the Wiki text in the form of links which are ordered by descending confidence. The confidence is shown next to the link.

As the intention is to create the enhancements without any manual interaction they are not stored as part of the Wiki text and are not editable by the user. The user can only edit the normal Wiki text.

The integration communicates with a FISE engine via the REST interface but does not use any IKS libraries directly.


A demo can currently be accessed here: [1]. (Please do not try to deface it!)


It was possible to make the FISE engine usable by the OpenSAGA Wiki software. The RESTful service provided by FISE was usable as expected. A problem encountered was a missing Java client library.

This was resolved by using Apache Wink and Jena and learning how to use SPARQL. There were about half a dozen candidates for a Java REST client library. All of them seem to be usable. Apache Wink was selected because it is already in the Apache Incubator. It was preferred to Jersey because it is not dependent on Oracle.

Jena was selected because it is used within the FISE engine. Potential alternatives such as Sesame were not looked at.

The integration proved that FISE is able to serve and enhance content in scenarios where articles are edited by a live team of editors (with an unstaged publication process, e.g. a highly dynamic semantic tag environment).

Several FISE enginges were installed during development. Installation could not have been much simpler.

No performance issues were encountered during normal operation. There were no stability problems regarding the FISE engine.

Lessons learned

We learned quite a few acronyms and fundamentals of corresponding technologies which belong to Semantic Technologies in general (examples: RDF, SPARQL) or the IKS project.

It would have helped to have some guidelines/howto-articles or client-side Java-libraries which could have been used. But learning the fundamentals of SPARQL and experimenting with it was worth the time because we now understand much better what can be done.

As we had hoped in the beginning the integration code itself is not very long. Most of the work is done by either Apache Wink which makes calling the RESTful service a matter of essentially one line of code or by Jena which parses the RDF/XML document and executes the SPARQL query. Also the OpenSAGA Wiki software itself simply calls a single "enhance" method.

We always used very recent snapshots of both FISE and OpenSAGA (internally following the release early release often principle).

Software components used

  • FISE engine as RESTful service
  • Apache Wink Client module for consuming RESTful FISE web service
  • Jena

Industrial Validation Metrics

Answers are preliminary

Validation Questions
Yes / Strongly
No / Strongly
Don't know / n.a.
Do I understand what IKS FISE is?


Does IKS FISE add value to my product?


Is that added value demonstrable/sellable to my customers?


It definitely is demonstrable. We will see if it is sellable!
Can I run IKS FISE alongside with or inside my product?


Is the impact of IKS FISE on runtime infrastructure requirements acceptable?


How good is the IKS FISE API when it comes to integrating with my product?


There is no client Java API yet. So we had to develop our own rudimentary library.
Is IKS FISE robust and functional enough to be used in production at the enterprise level?


Is the IKS FISE test suite good enough as a functionality and non-regression "quality gate"?


So far we did not encounter such quality issues.
Is the IKS FISE licence (both copyright and patents) acceptable to me?


Can I participate in IKS FISE's development and influence it in a fair and balanced way?


Do I know who I should talk to for support and future development of IKS FISE?


Am I confident that IKS FISE still going to be available and maintained once the IKS funding period is over?


Does IKS help in retrieving relevant information fast and efficiently for decision making / to solve problems?


Does IKS help in creation of business relevant information that can be shared fast and efficiently / making implicit knowledge explicit to increase competitive advantage?


We expect other components than FISE to be more relevant regarding this question.
Does IKS help managing the business processes to increase the flexibility for changing customer needs or processes?


Does IKS help to increase contacts with potential customers to aquire new customers or to increase customers loyality?


Does IKS help in selling complex products, which require individual, fast and efficient configuration?


Does IKS help in communication of events to attract new customers and to inform/take care of existing ones?


Does IKS help establishing personalized customer relationship management? Yes

The first 11 questions for this industrial validation of IKS components have been developed by Bertrand Delacretaz in October 2010 (see his original post), the other questions are derived from the high level business needs, defined within the IKS Benchmarking experiments.

Follow-up interview and discussion

Interview, Date, Participants: Outcomes:

Two students will implement projects involving Apache Stanbol during the next few months:

1. A smaller project will create an engine for Apache Stanbol to find acronyms and abbreviations in texts / HTML-code. The resulting enhancements will then be used to create accessible HTML-code conforming to the relevant German Federal Government standard BITV and/or WCAG 2.0. The engine will both employ a table-based approach and a heuristic one.

2. The other larger student-project will build on the work done during the Early Adopters project and create a "self-organising" Wiki using Apache Stanbol and OpenSAGA.