<% def doImport(import_, imported_) if imported_.include?(import_) result = "\n
  • #{import_.uri} (#{import_.name}) Recursive import
  • " return result end imported_ << import_ prefix = "" if import_.name != import_.uri prefix = " #{import_.name}" end if import_.repository.knowsImport(import_) result = "\n
  • #{import_.uri}#{prefix}
  • " else result = "\n
  • #{import_.uri}#{prefix}
  • " end imports = import_.imports() if ! imports.empty?() result += "\n" end return result end def doClass(klass) name = klass.short_name result = "\n
  • #{name}
  • " subclasses = klass.subClasses() if ! subclasses.empty?() result += "\n" end return result end %>

    Ontology - <%= schema.ontology.title %>

    <% if schema.ontology.hasDefinition? %>
    Definition
    <%= schema.ontology.definition %>
    <% end %> <% if schema.ontology.hasComment? %>
    Abstract
    <%= schema.ontology.comment %>
    <% end %>
    Latest Version
    <%= schema.ontology.ns %>
    <% if schema.ontology.created %>
    Created
    <%= schema.ontology.created %>
    <% end %> <% if schema.ontology.modified %>
    Last Modified
    <%= schema.ontology.modified %>
    <% end %> <% if schema.ontology.hasAuthors? %>
    Authors & Contributors
    <% schema.ontology.authors.each() do |author| %>
    <%= author.name %>
    <% end %> <% end %> <% if schema.ontology.rights %>
    Copy Rights
    <%= schema.ontology.rights %>
    <% end %> <% if not schema.ontology.see_alsos.empty?() %>
    See Also
    <% schema.ontology.see_alsos.each() do |see_also| %>
    <%= see_also %>
    <% end %> <% end %>
    <% if introduction %>

    Introduction

    <%= introduction %>
    <% end %> <% if schema.ontology.imports.length > 0 %>

    Imports

      <% imported = [] %> <% schema.ontology.imports.each() do |import| %> <%= doImport(import, imported) %> <% end %>
    <% end %> <% if schema.hasClasses? %>

    Classes - Overview

      <% schema.root_classes().each do |klass| %> <%= doClass(klass) %> <% end %>
    <%= schema.classDiagramAsSvg %>
    <% end %> <% if schema.list_properties.length > 0 %>

    Properties - Overview

    <% end %> <% if schema.hasClasses? %>

    Classes

    <%schema.list_classes().each do |t| %> <% rowSpan = 1 rowSpan += 1 if t[1].hasOtherNamespace? rowSpan += 1 if t[1].hasDefinition? rowSpan += 1 if t[1].hasComment? rowSpan += 1 if t[1].hasEditorialNotes? rowSpan += 1 if t[1].status rowSpan += 1 if t[1].super_classes.length > 0 rowSpan += 1 if t[1].subClasses.length > 0 rowSpan += 1 if t[1].see_alsos.length > 0 %> <% if t[1].hasOtherNamespace? %> <% end %> <% if t[1].hasDefinition? %> <% end %> <% if t[1].hasComment? %> <% end %> <% if t[1].hasEditorialNotes? %> <% t[1].editorialNotes.each do |note| %> <% end %> <% end %> <% if t[1].status %> <% end %> <% if t[1].hasSuperClasses? %> <% end %> <% if t[1].hasSubClasses? %> <% end %> <% if t[1].see_alsos.length > 0 %> <% end %> <%end%>
    <%= t[1].short_name %><% if t[1].hasDifferentLabel? %> (<%= t[1].label %>)<% end %> <%= t[1].perClassDiagramAsSvg %>
    Namespace <%= t[1].ns %>
    Definition <%= t[1].definition %>
    Abstract <%= t[1].comment %>
    Editorial Note <%= note %>
    Status <%= t[1].status %>
    SubClass Of
    Sub-Classes
    See Also:
      <% t[1].see_alsos.each do |link| %>
    • <%= link %>
    • <% end %>
    <%end%> <% if schema.list_object_properties.length > 0 %>

    Object Properties

    <% schema.list_object_properties().each do |t| %> <% rowSpan = 1 rowSpan += 1 if t[1].hasOtherNamespace? rowSpan += 1 if t[1].hasDefinition? rowSpan += 1 if t[1].hasComment? rowSpan += 1 if t[1].hasEditorialNotes? rowSpan += 1 if t[1].status rowSpan += 1 if t[1].sub_property_of rowSpan += 1 if t[1].sub_properties.length > 0 rowSpan += 1 if t[1].range.length > 0 rowSpan += 1 if t[1].domain.length > 0 rowSpan += 1 if t[1].see_alsos.length > 0 %> <% if t[1].hasOtherNamespace? %> <% end %> <% if t[1].hasDefinition? %> <% end %> <% if t[1].hasComment? %> <% end %> <% if t[1].hasEditorialNotes? %> <% t[1].editorialNotes.each do |note| %> <% end %> <% end %> <% if t[1].status %> <% end %> <% if t[1].sub_property_of %> <% if t[1].sub_property_of.class.to_s == "String" %> <% else %> <% end %> <% end %> <% if t[1].sub_properties.length > 0 %> <% end %> <% if t[1].range.length > 0 %> <% end %> <% if t[1].domain.length > 0 %> <% end %> <% if t[1].see_alsos.length > 0 %> <% end %> <%end%>
    <%= t[1].short_name %><% if t[1].hasDifferentLabel? %> (<%= t[1].label %>)<% end %> <%= t[1].perPropertyDiagramAsSvg %>
    Namespace <%= t[1].ns %>
    Definition <%= t[1].definition %>
    Abstract <%= t[1].comment %>
    Editorial Note <%= note %>
    Status <%= t[1].status %>
    Has Parent Property <%= t[1].sub_property_of %>
    Has Parent Property <%= t[1].sub_property_of.short_name %>
    Sub-Properties
    Range
    Domain
    See Also
      <% t[1].see_alsos.each do |link| %>
    • <%= link %>
    • <% end %>
    <% end %> <% if schema.list_datatype_properties.length > 0 %>

    Datatype Properties

    <% schema.list_datatype_properties().each do |t| %> <% rowSpan = 1 rowSpan += 1 if t[1].hasOtherNamespace? rowSpan += 1 if t[1].hasDefinition? rowSpan += 1 if t[1].hasComment? rowSpan += 1 if t[1].hasEditorialNotes? rowSpan += 1 if t[1].status rowSpan += 1 if t[1].sub_property_of rowSpan += 1 if t[1].sub_properties.length > 0 rowSpan += 1 if t[1].range.length > 0 rowSpan += 1 if t[1].domain.length > 0 rowSpan += 1 if t[1].see_alsos.length > 0 %> <% if t[1].hasOtherNamespace? %> <% end %> <% if t[1].hasDefinition? %> <% end %> <% if t[1].hasComment? %> <% end %> <% if t[1].hasEditorialNotes? %> <% t[1].editorialNotes.each do |note| %> <% end %> <% end %> <% if t[1].status %> <% end %> <% if t[1].sub_property_of %> <% if t[1].sub_property_of.class.to_s == "String" %> <% else %> <% end %> <% end %> <% if t[1].sub_properties.length > 0 %> <% end %> <% if t[1].range.length > 0 %> f <% end %> <% if t[1].domain.length > 0 %> <% end %> <% if t[1].see_alsos.length > 0 %> <% end %> <%end%>
    <%= t[1].short_name %><% if t[1].hasDifferentLabel? %> (<%= t[1].label %>)<% end %> <%= t[1].perPropertyDiagramAsSvg %>
    Namespace <%= t[1].ns %>
    Definition <%= t[1].definition %>
    Abstract <%= t[1].comment %>
    Editorial Note <%= note %>
    Status <%= t[1].status %>
    Has Parent Property <%= t[1].sub_property_of %>
    Has Parent Property <%= t[1].sub_property_of.short_name %>
    Sub-Properties
    Range
    Domain
    See Also
      <% t[1].see_alsos.each do |link| %>
    • <%= link %>
    • <% end %>
    <%end%> <% schema.skosConceptSchemes.each do |conceptScheme| %>

    SKOS Concept Scheme <%= conceptScheme.short_name %>

    <% schema.skosConceptsInScheme(conceptScheme).each do |individual| %> <% rowSpan = 1 rowSpan += 1 if individual.hasDefinition? rowSpan += 1 if individual.hasComment? rowSpan += 1 if individual.hasEditorialNotes? rowSpan += 1 if individual.classes.length > 0 %> <% if individual.hasDefinition? %> <% end %> <% if individual.hasComment? %> <% end %> <% if individual.hasEditorialNotes? %> <% individual.editorialNotes.each do |note| %> <% end %> <% end %> <% if individual.classes.length > 0 %> <% end %> <%end%>
    <%= individual.short_name %> <%= individual.asSvg %>
    Definition <%= t[1].definition %>
    Abstract <%= individual.comment %>
    Editorial Note <%= note %>
    Class
    <%end%> <% if schema.individualsNotSkosConcepts.length > 0 %>

    Individuals

    <%schema.individualsNotSkosConcepts.each do |individual| %> <% rowSpan = 1 rowSpan += 1 if individual.hasComment? rowSpan += 1 if individual.classes.length > 0 %> <% if individual.hasComment? %> <% end %> <% if individual.classes.length > 0 %> <% end %> <%end%>
    <%= individual.short_name %> <%= individual.asSvg %>
    Abstract <%= individual.comment %>
    Class
    <%end%>