OMBase

From MathWeb

Jump to: navigation, search

OMBase is the working title for an implementation of a system similar to MBase, i.e. a database for OMDoc.

Contents

Evaluation of MBase

  • unable to test demo locally, error messages
  • Online demo has less errors, but still some :-(
  • Seems to depend on old MySQL libraries
  • hard-coded dependencies on the OpenMath standard content dictionaries (for search heuristics?)
  • database schema corresponds to OMDoc's XML schema -- i.e. not a generic XML database
  • OMDoc is "relationalized" manually
  • (Advantage: any fragment of a document is easily accessible)
  • Term search uses pattern matching and heuristics (unlike MathWebSearch)
  • does not support versioning

Requirements

Simple Features

  • generic XML database that stores documents and allows for accessing fragments via XPath queries
  • Add a cross-platform software layer for accessing the data (e.g. a RESTful web interface)
  • Revision / Version management; it should be possible to create patches and pass them around
  • Queries:
    • get document
    • get fragment (e.g. a symbol in a theory) by ID
    • get fragment by XPath
    • ...

High-Level Features

High-level features that depend on certain markup languages (e.g. OMDoc) should be implemented in the software layer only -- not in the database, as the database should be a generic XML database.

  • for SciML-like languages (e.g. OMDoc)
    • Cross-references between different documents should be transparent when reading something in the database via its URI, e.g., when obtaining a theory, I should also get all theories it imports from.

See also our combined JOMDoc/OMBase Use Cases.

Steps

Implement OMDocStorage based on the PostgreSQL database behind SWiM

  • Start with SWiM's current DB layout
  • Evaluate PostgreSQL's XML features (partly done)
  • Versioning is already available in SWiM/IkeWiki
  • Restructure database (in parallel to SWiM's current layout):
    • one column per XML document (XML data type)
    • access smaller fragments via XPath
    • for SWiM (and potentially other applications): extract RDF not only on document, but also on fragment level
  • Add a RESTful interface to access documents/fragments/theories/...
  • later: connect MathWebSearch

Andrei Ioniţă is preparing this system in an internship from June to August 2007.

Personal tools
MathWeb
Structures