Ousía Framework

Ousía

Extensible Semantic Markup Framework

Ousía [ˈuːziə] represents documents in purely semantic markup with user definable structure.

Documents are parsed into an universal intermediate representation, ready to be converted to any format using XSLT[1].

  1. [1] Sticking to XML and XSLT is not our plan. We intend to provide a scriptable output pipeline. But we're not quiet there yet.

Features

Ousía is a research project and not suitable for end-users yet. However, we provide a developer preview for those who want to try out the current state of development. Features include:

LaTeX-esque markup language (OSML)
Ousía implements an expressive and consistent LaTeX-esque markup language which can be used for both document markup and writing ontology descriptions.
Command line interface
As reference implementation we provide a command line application written in C++.
Serialization to XML
Documents can be dumped as XML, ready to be converted to another format using XSLT.
Structure and Annotations
Ousía allows to include both: Document structure and flexible, possibly overlapping annotations.

About

The Ousía Framework aims at coupling Semantic Web techniques with structured data. This is not only of interest to the research community but to the end user as well, due to:

Re-usability
Allow to reuse of content, concepts and styles across documents
Separation of presentation and content
Layout is indepentend of the document, allowing authors to focus on content rather than form.
Conversion to other formats
Ontologies as common interface layer facilitate the construction of converters and support re-using modules of other converters.
Collaborative and concurrent document creation
Graphical document structure provides well-defined parts that can be changed independently of other users.

Roadmap

Ousía Framework is far from being finished. This list contains several tasks and features we plan to implement in the coming months and years (without any particular order, highly incomplete and subject to change):

Documentation
Write a tutorial on how to use Ousía and provide reference documentation for the OSML and OSXML formats.
Standard Ontology Library
Based on the experience of writing this website and the documentation build a sane standard ontology library for Books, Articles, Websites and Metadata.
JavaScript API
Internally we already maintain method and property information about “managed” objects in the document graph. Additionally, a prototype binding to MozJs already exists. Time to stick the two together and – as a first step – allow user defined parsing and validation functions for structures. This can e.g. be used to parse and verify E-Mail addresses, BICs or IBANs.
Ontology Metadata
Allow users to write documentation for their ontologies (like JavaDoc or Doxygen). Allow to create an Ousía document from this documentation and publish the current version on this Website.
Output transformation
Implement the output transformation pipeline. This goal is, as of now, somewhat fuzzy, but the goals are to have an API that allows partial template matching as in XSLT to allow online updating of the output, chaining of transformations and both a C++ and JavaScript API.
Stylesheets
Allow transformations to define style properties that can be used in CSS-like stylesheets. Apply style information to the document graph, allow inheritance of the style information along the ontology graph to escape the combinatorial explosion that results from having user-defined ontologies and user-defined transformations.