@prefix IAO: <http://purl.obolibrary.org/obo/IAO_> .
@prefix linkml: <https://w3id.org/linkml/> .
@prefix meta: <http://example.org/owl1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@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/owl1> a owl:Ontology ;
    rdfs:label "owl1" ;
    IAO:0000700 meta:C1,
        meta:C2 ;
    linkml:generation_date "2021-10-02 02:04" ;
    linkml:metamodel_version "1.7.0" ;
    linkml:source_file "owl1.yaml" ;
    linkml:source_file_date "Sat Oct  2 01:57:27 2021" ;
    linkml:source_file_size 639 .

meta:String a owl:Class,
        linkml:TypeDefinition ;
    rdfs:label "string" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty linkml:topValue ;
            owl:qualifiedCardinality 1 ] .

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

meta:slotopt a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "slotopt" ;
    rdfs:domain meta:C1 ;
    rdfs:range meta:C2 .

meta:slotreq a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "slotreq" ;
    rdfs:domain meta:C1 ;
    rdfs:range meta:C2 .

meta:slotzeromany a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "slotzeromany" ;
    rdfs:domain meta:C1 ;
    rdfs:range meta:C2 .

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

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

meta:slotonemany a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "slotonemany" ;
    rdfs:domain meta:C1 ;
    rdfs:range meta:C2 .

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" .

meta:C1 a owl:Class,
        linkml:ClassDefinition ;
    rdfs:label "c1" ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom meta:C2 ;
            owl:onProperty meta:slotzeromany ],
        [ a owl:Class ;
            owl:intersectionOf ( [ a owl:Restriction ;
                        owl:allValuesFrom meta:C2 ;
                        owl:onProperty meta:slotonemany ] [ a owl:Restriction ;
                        owl:onProperty meta:slotonemany ;
                        owl:someValuesFrom meta:C2 ] ) ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality 1 ;
            owl:onClass meta:C2 ;
            owl:onProperty meta:slotopt ],
        [ a owl:Restriction ;
            owl:onClass meta:C2 ;
            owl:onProperty meta:slotreq ;
            owl:qualifiedCardinality 1 ] .

meta:C2 a owl:Class,
        linkml:ClassDefinition ;
    rdfs:label "c2" .


