Bluenote: RDF Store complements MBase

Posted by Martin Homik | Posted in ActiveMath | Posted on 13-06-2007

3

Motivation. We wrote a great application for ActiveMath, called iCMap, which visualizes the structures of a mathematical domain and helps students to understand an recreate those structures. This tool is interactive and provides verification as well a suggestion mechanism. One of the key implementation problems in this tool is the lack of seperation between data (queries) and logic. Because iCMap requires inference mechanism to compute transitivities or fault-tolerances for verification, all those inferences are implemented in Java making heavy use of the MBase. This approach has several problems:

  • MBase interface does no inferencing. Hence, it does not calculate the transitive closure for a learning item. iCMap computes that itself and requires for this action resources. Consequently, for one query, iCMap needs to contact the MBase several times. A reduction to one query with one result set as response is wished.
  • Because inferencing is inside iCMap Java methods, adding new queries is not easy and requires a rebuild and deployment of the application.
  • Queries are not reusable as they are embedded in iCMap. They are to some extent “cryptified”, i.e., you have to go through the code and understand it. A standard query language would solve the problem.

Solution. To overcome those deficiencies, I suggest to implement in addition to MBase a RDF Store for OMDoc learning object’s metadata information. This store will be optimized for RDF models, will include a reasoner for OWL (Lite/DL), and accept SPARQL queries. The component can run as a web-service and will be therefore reusable for other applications. Possible technologies for the implementation are Sesame or Jena.

Comments (3)

ActiveMath’s wealth of specificity…

ActiveMath builds on a heap of specificity… you generalize you either break it forever or spend six months debugging.

Martin,

are you serious about the performance issue ? With Http’s keepalive there’s no real issue about these anymoroe, or ? Do you have numbers?

Simpler would even be to just port the ICmap crawler to the server…
And make it available on a web-service just for ICmap, for now.

paul

First, I do not want to add any new specificity. I just want to use information coming from OMDoc. Only the metadata. Also, it should be somehow synhronised with MBase. Alterations in the RDF store are triggered by changes in MBase.

Second, the RSF store component should run on the server as a service. iCMap can send queries and receive answers. I do not want iCMap to do the reasoning, instead it should maintain queries. In principle, I’d like to externalise queries into a separate file, such that changing a query does not imply a rebuild of the application.

Third, I do not have any performance statistics. This is something that has to be investigated. From publications I know that sesame is capable to handle a quite huge store (with many triples). Compared to that, even our LeActiveMath content is rather small. So, I hope there should be no big performance issue. I hope, at least.

Write a comment