package Ontological {
    /* Basic information on how types and features map to some equivalent ontology constructs */

    private import ScalarValues::String;

    metadata def <ontoclass> {
        /* Indicates that *instances* of this type are also instances of the
         * indicated RDF/OWL class. Note that the converse cannot be guaranteed
         * (due to closed world semantics). */

         attribute uri : String[0..1];
    }

    metadata def <ontorel> {
        /* Indicates that *instances* of this type are also instances of the
         * indicated RDF/OWL class. Note that the converse cannot be guaranteed
         * (due to closed world semantics). */

         attribute uri : String[0..1];
    }

    metadata def <atomic> {
        /* Indicates that the identity (through an IRI) can be derived from
         * an instances feature values. */

        attribute uri_pattern : String[0..*];
    }
}