@prefix owl:      <http://www.w3.org/2002/07/owl#> .
@prefix xsd:      <http://www.w3.org/2001/XMLSchema#> .
@prefix skos:     <http://www.w3.org/2004/02/skos/core#> .
@prefix dcterms:  <http://purl.org/dc/terms/> .
@prefix prov:     <http://www.w3.org/ns/prov#> .
@prefix cc:       <http://creativecommons.org/ns#> .
@prefix bibo:     <http://purl.org/ontology/bibo/> .
@prefix vann:     <http://purl.org/vocab/vann/> .

@prefix arch:     <https://meta.linked.archi/core#> .
@prefix basicnot: <https://meta.linked.archi/basic/notation#> .
@prefix :         <https://meta.linked.archi/basic/metamodel#> .

#################################################################
# Ontology Declaration
#################################################################

<https://meta.linked.archi/basic/metamodel#>
    a                             owl:Ontology ;
    owl:imports                   <https://meta.linked.archi/core#> ;
    cc:license                    "http://creativecommons.org/licenses/by/4.0/" ;
    vann:preferredNamespaceUri    "https://meta.linked.archi/basic/metamodel#" ;
    vann:preferredNamespacePrefix "basicmm" ;
    dcterms:creator               "Kalin Maldzhanski"^^xsd:string ;
    dcterms:title                 "Linked.Archi Basic Metamodel Definition"@en ;
    dcterms:description           '''Metamodel manifest for Basic, a minimal Linked.Archi modelling
language. This file ties together the Basic semantic resources (the element and relationship
ontology, the SKOS taxonomy, the presentation contexts and the default notation set) into a
single arch:Metamodel instance.

This is the entry point for tools that need to discover all resources that make up the Basic
language definition.'''@en ;
    dcterms:created               "2026-10-05"^^xsd:date ;
    dcterms:modified              "2026-10-06"^^xsd:date ;
    dcterms:publisher             "Linked.Archi"@en, <https://linked.archi> ;
    bibo:status                   "draft" ;
    owl:versionIRI                <https://meta.linked.archi/basic/metamodel/0.1.0#> ;
    owl:versionInfo               "0.1.0"@en ;
    dcterms:source                <https://meta.linked.archi/basic>,
                                  <https://meta.linked.archi/core#> ;
    prov:wasDerivedFrom           <https://meta.linked.archi/basic>,
                                  <https://meta.linked.archi/core#> ;
.


#################################################################
# Basic Framework Individual
#################################################################

:BasicFramework
    a                   arch:Framework ;
    skos:prefLabel      "Basic"@en ;
    dcterms:description '''Basic is a minimal Linked.Archi modelling language: three element types
(Node, SpecialNode, GroupNode) and two qualified relationship types (Association, Aggregation)
built directly on the core ontology. It serves examples of restrictions and inference, and its
notation sets give renderers a generic way to draw elements and relationships that have no
language-specific notation.'''@en ;
    skos:scopeNote      '''The language, not a release: the label deliberately carries no version.
The release is the arch:Metamodel individual below, which declares owl:versionInfo "0.1.0".'''@en ;
.


#################################################################
# Basic Metamodel Instance
#################################################################

:Basic
    a                              arch:Metamodel ;
    skos:prefLabel                 "Basic Metamodel"@en ;
    dcterms:description            '''The Basic metamodel definition, aggregating the element and
relationship ontology, the SKOS taxonomy, the presentation contexts and the default notation set
into a single discoverable resource.'''@en ;

    ## Foundation — the language, not this release
    arch:basedOnFramework          :BasicFramework ;
    owl:versionInfo                "0.1.0" ;

    ## Model concepts — elements and relationships
    ## File: basic-onto.ttl
    arch:modelConcepts             <https://meta.linked.archi/basic> ;

    ## Concept classification — SKOS taxonomy (elements, relationships)
    ## File: basic-tax.ttl
    arch:conceptClassification     <https://meta.linked.archi/basic/tax#> ;

    ## Visual notation set — the default element/relationship appearance.
    ## Exactly one: alternative sets are selected by presentation context.
    ## File: basic-notation.ttl
    arch:notationSet               basicnot:BasicRectangleNotation ;

    ## Presentation contexts — audiences, each selecting a notation set
    ## with arch:usesNotationSet (rectangles or bubbles)
    ## File: basic-presentation-contexts.ttl
    arch:presentationContextScheme <https://meta.linked.archi/basic/presentation-contexts#> ;
.
