{#- SHACL constraints: the html-multi macros, linking to anchors in this page (#37) -#} {%- set shacl_anchor_links = True -%} {%- import "html-multi/browser/shacl_macros.html" as shacl with context -%} {#- properties of none of the three kinds, eg typed only rdf:Property (#39) -#} {%- set otherproperties = properties|reject("in", objproperties + dataproperties + annotationproperties)|list -%} Ontospy > {{docs_title}} {% if ontologies%} {% if ontologies|length > 1 %}

{{docs_title}}

{% for o in ontologies %}

  • {{o.uri}}
  • {% endfor %} {% else %}

    {{docs_title}}

    {{ontologies.0.bestDescription()|linebreaks}}

    {% endif %} {% else %}

    {{docs_title}}

    {% endif %}

    Ontology documentation automatically generated by Ontospy on {% now 'utc', '%a, %d %b %Y %H:%M:%S' %}

    {# TOC SECTION #}

     Table of Content

    {# ANNOTATIONS SECTION #} {% if ontologies %}

    Ontologies

    {% for o in ontologies %}

    {{o.uri}}

    {{o.bestDescription()|linebreaks}}

    {% from "shared/ontology_metadata.html" import metadata_list %} {{ metadata_list(o.metadata()) }}
    {% endfor %} {% endif %} {# A-Z SECTION #}

     A-Z of terms

    This is a complete alphabetical A-Z index of all terms, by main logical type. {% if classes %}
    Classes ({{classes|length}}) {% for each in classes %}{{each.title}} {% if not loop.last %}|{% endif %} {% endfor %}
    {% endif %} {% if objproperties %}
    Object Properties ({{objproperties|length}})  {% for each in objproperties %}{{each.title}} {% if not loop.last %}|{% endif %} {% endfor %}
    {% endif %} {% if dataproperties %}
    Datatype Properties ({{dataproperties|length}})  {% for each in dataproperties %}{{each.title}} {% if not loop.last %}|{% endif %} {% endfor %}
    {% endif %} {% if annotationproperties %}
    Annotation Properties ({{annotationproperties|length}})  {% for each in annotationproperties %}{{each.title}} {% if not loop.last %}|{% endif %} {% endfor %}
    {% endif %} {% if otherproperties %}
    Other Properties ({{otherproperties|length}})  {% for each in otherproperties %}{{each.title}} {% if not loop.last %}|{% endif %} {% endfor %}
    {% endif %} {% if skosConcepts %}
    SKOS Concepts ({{skosConcepts|length}})  {% for each in skosConcepts %}{{each.title}} {% if not loop.last %}|{% endif %} {% endfor %}
    {% endif %} {% if individuals %}
    Individuals ({{individuals|length}})  {% for each in individuals %}{{each.title}} {% if not loop.last %}|{% endif %} {% endfor %}
    {% endif %} {% if ontospy_graph.all_shapes %}
    Shapes ({{ontospy_graph.all_shapes|length}})  {% for each in ontospy_graph.all_shapes %}{{each.title}} {% if not loop.last %}|{% endif %} {% endfor %}
    {% endif %}
    {# CLASSES SECTION #} {% if classes %}

     Classes

    {% for each in classes %}

    Class: {{each.title}}   back to top


    {% if not each.children() %}

    NOTE {{each.title}} is a leaf node.

    {% endif %}

    Description
    {{each.bestDescription()|linebreaks}}

    {% include "shared/seealso_section.html" %} {% if each.ancestors() %}

    Inherits from ({{ each.ancestors()|length }}):
    {% for s in each.ancestors() %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% else %}

    Inherits from:
    owl:Thing

    {% endif %} {% if each.domain_of %}

    Property Domain of:
    {% for s in each.domain_of %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} {% if each.range_of %}

    Property Range of:
    {% for s in each.range_of %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} {% if each.instances %}

    Has instances ({{ each.instances|length }}):
    {% for s in each.instances %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} {% if each.shacl_constraints %}
    SHACL property constraints: {{ shacl.constraints_table(each.shacl_constraints, with_property_info=True) }}
    {% endif %} Implementation:
    {{each.rdf_source()|linebreaks}}
    {% endfor %} {% endif %} {# PROPERTIES SECTIONS: one per kind of property, the same for each (#39) #} {% macro property_section(items, anchor, heading, label) %} {% if items %}

     {{heading}}

    {% for each in items %}

    {{label}}: {{each.title}}   back to top


    {% if not each.children() %}

    NOTE {{each.title}} is a leaf node.

    {% endif %} {% if each.rdftypes_qnames %}

    Type{% if each.rdftypes_qnames|length > 1 %}s{% endif %}: {{each.rdftypes_qnames|join(", ")}}

    {% endif %}

    Description
    {{each.bestDescription()|linebreaks}}

    {% include "shared/seealso_section.html" %} {% if each.ancestors() %}

    Inherits from ({{ each.ancestors()|length }}):
    {% for s in each.ancestors() %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% else %} {% endif %} {% if each.children() %}

    Has sub-property (direct):
    {% for s in each.children() %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} {% if 0 and each.descendants() and each.descendants()|length > each.children()|length %}

    Has Sub Property (all) : {% for s in each.descendants() %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} {% set domains = each.domains or each.domains_inferred %} {% if domains %}

    Class Domain for{% if not each.domains %} (inferred from superproperties){% endif %}:
    {% for s in domains %}{{s.title|default(s)}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} {% set ranges = each.ranges or each.ranges_inferred %} {% if ranges %}

    Class Range for{% if not each.ranges %} (inferred from superproperties){% endif %}:
    {% for s in ranges %}{{s.title|default(s)}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} Implementation:
    {{each.rdf_source()|linebreaks}}
    {% endfor %} {% endif %} {% endmacro %} {{ property_section(objproperties, "objproperties", "Object Properties", "Object Property") }} {{ property_section(dataproperties, "dataproperties", "Datatype Properties", "Datatype Property") }} {{ property_section(annotationproperties, "annotationproperties", "Annotation Properties", "Annotation Property") }} {# properties of none of the kinds above, eg typed only rdf:Property, as in QUDT (#39) #} {{ property_section(otherproperties, "otherproperties", "Other Properties", "Property") }} {# SKOS CONCEPTS SECTION #} {% if skosConcepts %}

     SKOS Concepts

    {% for each in skosConcepts %}

    Concept: {{each.title}}   back to top


    {% if not each.children() %}

    NOTE {{each.title}} is a leaf node.

    {% endif %}

    Description
    {{each.bestDescription()|linebreaks}}

    {% include "shared/seealso_section.html" %} {% if each.ancestors() %}

    Has Broader concept ({{ each.ancestors()|length }}):
    {% for s in each.ancestors() %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} Implementation:
    {{each.rdf_source()|linebreaks}}
    {% endfor %} {% endif %} {# INDIVIDUALS SECTION #} {% if individuals %}

     Individuals (class instances)

    {% for each in individuals %}

    Individual: {{each.title}}   back to top


    Description
    {{each.bestDescription()|linebreaks}}

    {% include "shared/seealso_section.html" %} {% if each.instance_of() %}

    Is instance of ({{ each.instance_of()|length }}):
    {% for s in each.instance_of() %}{{s.title}} {% if not loop.last %}|{% endif %} {% endfor %}

    {% endif %} Implementation:
    {{each.rdf_source()|linebreaks}}
    {% endfor %} {% endif %} {# SHAPES SECTION (#37), as on the html-multi shape pages #} {% if ontospy_graph.all_shapes %}

     Shapes

    {% for each in ontospy_graph.all_shapes %}

    Shape: {{each.title}}   back to top


    URI
    {{each.uri}}

    {% if each.bestDescription() %}

    Description
    {{each.bestDescription()|linebreaks}}

    {% endif %} {% if each.targets %}

    Targets ({{each.targets|length}}):
    {% for kind, t in each.targets %}{{ shacl.term(t) }} {{kind}}{% if not loop.last %} | {% endif %}{% endfor %}

    {% endif %} {% if each.used_by %}

    Used by ({{each.used_by|length}}):
    {% for t in each.used_by %}{{ shacl.term(t) }}{% if not loop.last %} | {% endif %}{% endfor %}

    {% endif %} {% if each.node_constraints %}
    Node constraints: {{ shacl.constraint_list(each.node_constraints) }}
    {% endif %} {% if each.shacl_constraints %}
    Property constraints ({{each.shacl_constraints|length}}): {{ shacl.constraints_table(each.shacl_constraints) }}
    {% endif %} Implementation:
    {{each.rdf_source()|linebreaks}}
    {% endfor %} {% endif %}
    Ontology documentation automatically generated by Ontospy {{gendocs_version}} on {% now 'utc', '%a, %d %b %Y %H:%M:%S' %}