
Live OWL Documentation Environment (LODE) is a service that automatically extracts classes, object properties, data properties, named individuals, annotation properties, general axioms and namespace declarations from an OWL and OWL2 ontology, and renders them as ordered lists, together with their textual definitions, in a human-readable HTML page designed for browsing and navigation by means of embedded links.
This LODE service is an open source development, and can be freely used, as described in this document. It may be used in conjunction with content negotiation to display this human-readable version of an OWL ontology when the user accesses the ontology using a web browser, or alternatively to deliver the OWL ontology itself when the user accesses the ontology using an ontology editing tool such as Protégé and NeOn Toolkit. An exemplar implementation of such content negotiation is given in the Best Practice Recipes for Publishing RDF Vocabularies by using the .htaccess file:
AddType application/rdf+xml .rdf
# Rewrite engine setup
RewriteEngine On
# Rewrite rule to serve HTML content
RewriteCond %{HTTP_ACCEPT} !application/rdf\+xml.*(text/html|application/xhtml\+xml)
RewriteCond %{HTTP_ACCEPT} text/html [OR]
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/.*
RewriteRule ^ontology$ http://www.essepuntato.it/lode/http://www.mydomain.com/ontology [R=303,L]
# Rewrite rule to serve RDF/XML content if requested
RewriteCond %{HTTP_ACCEPT} application/rdf\+xml
RewriteRule ^ontology$ ontology.owl [R=303]
# Choose the default response
RewriteRule ^ontology$ ontology.owl [R=303]
Depending on the parameters specified, the HTML page created by LODE takes into account both ontological axioms and annotations. The CSSs used for the resulting HTML page are based on the W3C CSSs for Recommendation documents.
The following pseudo-URL describes the way to call the LODE service:
http://www.essepuntato.it/lode/optional-parameters/ontology-url
where:
is the URL to call the service.
is the full http://... URL of the OWL ontology that will be processed by the service. It must be always the last item in the pseudo-URL, and may be preceded by one or more (slash-separated) parameters.
optional slash-separated parameters:
When this optional parameter is specified, the ontology specified in ontology-url will be pre-processed via OWLAPI, in order to linearized it in standard RDF/XML format. This parameter is always strongly recommended.
When this optional parameter is specified, the transitive closure given by considering the imported ontologies of ontology-url is added to the HTML description of the ontology. This parameter implicitly specifies the owlapi parameter. If both functions closure and imported are specified (in any order), just imported will be considered.
When this optional parameter is specified, the axioms contained the ontologies directed imported into ontology-url are added to the HTML description of the ontology. This parameter implicitly specifies the owlapi parameter. If both parameters closure and imported are specified (in any order), just imported will be considered.
When this optional parameter is specified, the assertions inferable from ontology-url using the Pellet reasoner will be added to the HTML description of the ontology. This parameter implicitly specifies the owlapi parameter. Note that, depending upon the nature of your ontology, this computationally intensive function can be very time-consuming.
When this optional parameter is specified, the specified language will be used as preferred language instead of English when showing annotations of the ontology specified in ontology-url. E.g.: lang=it
, lang=fr
, etc.
The following figure illustrates the different ways to build the URL to call the LODE service and the releted modules used.

http://www.essepuntato.it/lode/owlapi/http://www.essepuntato.it/2008/12/earmark
http://www.essepuntato.it/lode/imported/http://www.essepuntato.it/2008/12/earmark
http://www.essepuntato.it/lode/closure/http://www.essepuntato.it/2008/12/earmark
LODE takes the most common properties used for denoting annotations, such as dc:title, dc:description, rdfs:label and rdfs:comment. The translation in HTML of annotations made using those properties varies a little depending on whether the annotations describe the ontology itself, or its entities (classes, properties, instances). The following figures illustrates how ontology's annotations are handled by LODE.


Similarly, the following picture describes how annotations about each entity of the ontology are handled by LODE.

The annotation properties handled by LODE are:
dc:contributor
dc:creator
dc:date
dc:description, used with a literal as object, if you want to add a textual description to the ontology, or with a resource as object, if you want to trasclude that resource (e.g., a picture) as description of an entity.
dc:rights
dc:title
owl:versionInfo
rdfs:comment
rdfs:isDefinedBy
rdfs:label
Silvio Peroni is a Ph.D. student from the University of Bologna. He maintains a blog about his research.