@prefix IAO: <http://purl.obolibrary.org/obo/IAO_> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix linkml: <https://w3id.org/linkml/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://example.org/sample/example1> a owl:Ontology ;
    rdfs:label "example1" ;
    IAO:0000700 <http://example.org/sample/example1/A> ;
    dcterms:license "https://creativecommons.org/publicdomain/zero/1.0/" ;
    linkml:generation_date "2021-10-02 02:02" ;
    linkml:metamodel_version "1.7.0" ;
    linkml:source_file "issue_163b.yaml" ;
    linkml:source_file_date "Sat Oct  2 01:57:27 2021" ;
    linkml:source_file_size 673 .

<http://example.org/sample/example1/D2> a owl:Class,
        linkml:ClassDefinition ;
    rdfs:label "d2" ;
    rdfs:subClassOf <http://example.org/sample/example1/C> .

<http://example.org/sample/example1/E> a owl:Class,
        linkml:ClassDefinition ;
    rdfs:label "e" ;
    rdfs:subClassOf <http://example.org/sample/example1/D1> .

linkml:SubsetDefinition a owl:Class ;
    rdfs:label "subset_definition" ;
    skos:definition "the name and description of a subset" .

<http://example.org/sample/example1/D1> a owl:Class,
        linkml:ClassDefinition ;
    rdfs:label "d1" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality 1 ;
            owl:onClass <http://example.org/sample/example1/C> ;
            owl:onProperty <http://example.org/sample/example1/has_c> ],
        <http://example.org/sample/example1/C> .

<http://example.org/sample/example1/has_a> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "has a" ;
    rdfs:range <http://example.org/sample/example1/A> .

<http://example.org/sample/example1/has_b> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "has b" ;
    rdfs:range <http://example.org/sample/example1/B> .

<http://example.org/sample/example1/has_c> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "has c" ;
    rdfs:range <http://example.org/sample/example1/C> .

<http://example.org/sample/example1/id> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "id" ;
    rdfs:range linkml:String .

<http://example.org/sample/example1/len> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "len" ;
    rdfs:range linkml:Integer .

<http://example.org/sample/example1/name> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "name" ;
    rdfs:range linkml:String .

<http://example.org/sample/example1/unit> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "unit" ;
    rdfs:range <http://example.org/sample/example1/Unitcode> .

linkml:TypeDefinition a owl:Class ;
    rdfs:label "type_definition" ;
    skos:definition "A data type definition." .

linkml:topValue a owl:DatatypeProperty ;
    rdfs:label "value" .

<http://example.org/sample/example1/Unitcode> a owl:Class,
        linkml:TypeDefinition ;
    rdfs:label "unitcode" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty linkml:topValue ;
            owl:qualifiedCardinality 1 ] .

<http://example.org/sample/example1/B> a owl:Class,
        linkml:ClassDefinition ;
    rdfs:label "b" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality 1 ;
            owl:onClass <http://example.org/sample/example1/A> ;
            owl:onProperty <http://example.org/sample/example1/has_a> ],
        <http://example.org/sample/example1/A> .

<http://example.org/sample/example1/A> a owl:Class,
        linkml:ClassDefinition ;
    rdfs:label "a" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality 1 ;
            owl:onClass linkml:String ;
            owl:onProperty <http://example.org/sample/example1/name> ],
        [ a owl:Restriction ;
            owl:onClass linkml:String ;
            owl:onProperty <http://example.org/sample/example1/id> ;
            owl:qualifiedCardinality 1 ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality 1 ;
            owl:onClass <http://example.org/sample/example1/Unitcode> ;
            owl:onProperty <http://example.org/sample/example1/unit> ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality 1 ;
            owl:onClass linkml:Integer ;
            owl:onProperty <http://example.org/sample/example1/len> ] .

<http://example.org/sample/example1/C> a owl:Class,
        linkml:ClassDefinition ;
    rdfs:label "c" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality 1 ;
            owl:onClass <http://example.org/sample/example1/B> ;
            owl:onProperty <http://example.org/sample/example1/has_b> ],
        <http://example.org/sample/example1/B> .

linkml:ClassDefinition a owl:Class ;
    rdfs:label "class_definition" ;
    skos:definition "the definition of a class or interface" .

linkml:SlotDefinition a owl:Class ;
    rdfs:label "slot_definition" ;
    skos:definition "the definition of a property or a slot" .


