SpecGen is a specification documentation generator (written in Python) for Semantic Web ontology documentation generation assistance. I like to announce my modified, extended and more generalized version of Danbri‘s SpecGen* version 5 (written in Python). My SpecGen version 6 is able to generate a XHTML+RDFa ontology specification with common concepts and properties based on OWL, RDFS and RDF, and parse these statements into a template of the ontology documentation.
Besides a new parameter for an input ontology file, I modified and extended especially the libvocab.py with the following modeling features (i.e. read these features out of the ontology file and generate appropriate XHTML+RDFa):
- multiple property and class types
- muttiple restrictions modelling
- rdfs:label, rdfs:comment
- classes and properties from other namespaces
- inverse properties (explicit and anonymous)
- sub properties
- union ranges and domains (appear only in the property descriptions, not on the class descriptions)
- equivalent properties
- simple individuals as optional feature
With this script I generated the following specifications:
- The Info Service Ontology Specification
- The Counter Ontology Specification
- The Ordered List Ontology Specification
- The Play Back Ontology
- The Association Ontology Specification
- The Recommendation Ontology Specification
- The Weighting Ontology Specification
- The Cognitive Characteristics Ontology Specification
- The Weighted Interests Vocabulary Specification
- The Property Reification Vocabulary Specification
Feel free to also modify and extend this script, because it is just the beginning of a nice XHTML+RDFa mapping for ontology specification in documentations. The following task are still TODO:
- enable more OWL features, especially an automated construction of owl:Ontology (currently this must be done manually in the template)
- enable more support for other namespaces (super classes and super properties from other namespaces already possible)
- restructure the code !!!
- write a cool parser for the “\n”‘s and “\t”‘s etc. in the parsed comments (e.g. “\n” to
…)
PS: A zipped packaged of my SpecGen version 6, can be downloaded here. Please have a look at the README file and the introduction comments of libvocab.py.
*) see SpecGen for the original SpecGen implementation and its versions.