This wiki has been archived and is now read-only.

Generating HTML documentation of OWL

From Provenance WG Wiki
Jump to: navigation, search

In response to http://www.w3.org/2011/prov/track/issues/270

We want something "javadoc"-ish, like:

From the editors


From SIOCer John Breslin:

https://github.com/zazi/specgen by Bob Ferris (Older https://bitbucket.org/wikier/specgen/wiki/Home)

From Uldis:

This is the original SpecGen4 tool used to generate the SIOC Specification: http://sw.deri.org/svn/sw/2005/08/sioc/ontology/spec/

If you check out the code and run it (see example script "sioc"), it should generate the SIOC spec.

Besides newer SpecGen versions (John pointed to these) there's also:

One thing you have to be careful about if expressing the specification directly in HTML+RDFa (and generating RDF/XML from that): it is possible to create RDFa documents where the human readable text does not match RDFa statements. - e.g., if one copy-pastes an HTML snippet to create a new class or property, changes the name visible in HTML but forgets to update the URI.


From danbri:

FOAF's spec is generated from index.rdf schema input plus a directory full of per-term snippets, and an HTML template. The tool is a rather messy Python (previously Ruby) thing called specgen, source is at http://svn.foaf-project.org/foaftown/specgen/README.TXT

You can find the raw files for FOAF nearby in Subversion repo at http://svn.foaf-project.org/foaf/trunk/xmlns.com/htdocs/

It's not the most sophisticated ontology documentation tool around, but it kinda sorta works. It could do with re-writing, but we've never really got clear on the requirements. Perhaps the spec should be maintained in HTML+RDFa, for example, with the RDF/XML view (and internal cross-links, annotations etc) mechnically generated?

I like that our html output explains domain/range like this,

'Domain: having this property implies being a Person Range: every value of this property is a Thing'



BTW, the cool thing about the OPMV documentation (as well as the Provenance
Vocabulary documentation [1] which served as a template for the OPMV doc) is,
that it embeds the whole vocabulary definition as RDFa in the HTML. Actually,
for Provenance Vocabulary it's the main representation from which we generate
representations in other formats such as RDF/XML. However, creating the HTML
(and the embedded RDFa) was a manual effort.

semweb/lod list

Yes, see TopBraid Composer, http://topquadrant.com/. Any model can be exported to a set of HTML files wit class and property browsers.


http://ontorule-project.eu/parrot/parrot (PROV-O in parrot)

Dave Wood:

John Erickson:

OOR list

  • Altova's Semantic architect to auto generate HTML and other documentation for RDFS and OWL ontologies

SPECGen Version 6


Protege list

Joshua Taylor: Have you had a look at OWLDoc? http://code.google.com/p/co-ode-owl-plugins/wiki/OWLDoc The resulting documentation has IMO, a more javadoc-ish feel to it than those examples, though I'm not sure what you can get in terms of free form prose aside from what you put in with rdf annotations.


PROV-O Views in the previous tools

Views in different tools
Tool PROV-O View
Parrot http://ontorule-project.eu/parrot/parrot?documentUri=http%3A%2F%2Fdvcs.w3.org%2Fhg%2Fprov%2Fraw-file%2Fdefault%2Fontology%2FProvenanceOntology.owl&mimetype=application%2Fowl%2Bxml&profile=technical&language=en
LODE http://www.essepuntato.it/lode/owlapi/http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/ProvenanceOntology.owl
OWLDOC https://dvcs.w3.org/hg/prov/raw-file/92862c7b2e3c/ontology/DocExamples/OWLDOC/index.html
jOWL browser https://dvcs.w3.org/hg/prov/raw-file/9d7baba2fdfb/ontology/DocExamples/jOWLBrowser_1.0/jOWLBrowser.html
specgen TBD. Python and windows don't get along very well.
Ontospec http://dvcs.w3.org/hg/prov/raw-file/d9433150115d/ontology/DocExamples/Ontospec/spec.html. It doesn't seem to work. The triples are loaded to the repository but the spec is not generated properly.
Ontology browser It doesn't seem to be working: http://owl.cs.manchester.ac.uk/browser/

Note: jOWL browser uses a javascript library (jOWL) that makes it easy to load the ontology, properties, etc. We should have a look at it.