
# __init__
# ALL: 
@prefix ex: <http://example.net/namespace/ex#> .
@prefix cpt: <http://example.net/namespace/cpt#> .
@prefix sheet: <http://example.net/namespace/sheet#> .
@prefix : <http://example.net/namespace/default#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix gendifs: <http://jbusse.de/gendifs#> .


# __init__
# owl-test: 
ex:classifyLike a owl:ObjectProperty .


# __init__
# ALL: 
[ rdf:type owl:Ontology ] .



# __init__
# skos: 
[ owl:imports <http://www.w3.org/2004/02/skos/core> ] .



# SUBTAXON.TAXONOMY.a.01 ----
# docu: 
# TAXONOMY
#   Kraftwerk


# SUBTAXON.TAXONOMY.a
# owl: declare class *Kraftwerk* being a subclass of topConcept
:Kraftwerk
   a owl:Class ;
   rdfs:subClassOf :topConcept .


# SUBTAXON.TAXONOMY.b
# owl-test: allocate an example instance
ex:Kraftwerk_850_090_954
   a :Kraftwerk .



# SUBTAXON.TAXONOMY.c
# skos: 
cpt:Kraftwerk
   a skos:Concept ;
   skos:broader cpt:topConcept .


# BY.0
# docu: --------------------
# Kraftwerk
#   BY None SOME Arbeitsmittel


# BY.a
# owl: declare *None* as a object property.
:None
   rdf:type owl:ObjectProperty .


# BY.b
# owl: declare *Arbeitsmittel* as a owl:Class .
:Arbeitsmittel
   a owl:Class .


# BY.c
# owl-test: allocate a test instance of *Arbeitsmittel* .
ex:Arbeitsmittel_1_696_041_476
   a :Arbeitsmittel .



# BY.d
# skos: define a skos:Collection
cpt:Kraftwerk_BY_None_SOME_Arbeitsmittel 
   a skos:Collection .



# SUBTAXON.BY.a.03 ----
# docu: 
# Kraftwerk
#   BY ... SOME ...
#      Dampfkraftwerk


# SUBTAXON.BY.d
# skos: 
cpt:Kraftwerk_BY_None_SOME_Arbeitsmittel
   skos:member cpt:Dampfkraftwerk .


# SUBTAXON.BY.a
# owl: declare class *Dampfkraftwerk* being a subclass of Kraftwerk
:Dampfkraftwerk
   a owl:Class ;
   rdfs:subClassOf :Kraftwerk .


# SUBTAXON.BY.b
# owl-test: allocate an example instance
ex:Dampfkraftwerk_1_615_266_271
   a :Dampfkraftwerk .



# SUBTAXON.BY.c
# skos: 
cpt:Dampfkraftwerk
   a skos:Concept ;
   skos:broader cpt:Kraftwerk .


# SOME.0 ----
# docu: 
# Kraftwerk
#   BY topProperty SOME Arbeitsmittel
#       Dampfkraftwerk
#         SOME Dampf


# SOME.b
# owl: declare *Dampf* as a owl:Class
:Dampf
   a owl:Class ;
   rdfs:subClassOf :Arbeitsmittel .


# SOME.c
# owl-test: allocate an example instance of *Dampf*
ex:Dampf_158_901_288
   a :Dampf .



# SOME.g
# owl-classify: 
:SOME_158_901_288_restriction
   a owl:Class ;
   rdfs:label "BY topProperty SOME Dampf" ;
   rdfs:subClassOf :gendifs_restrictions ;
   owl:equivalentClass [ a owl:Restriction ;
      owl:onProperty :topProperty ;
      owl:someValuesFrom :Dampf ] .



# SOME.h
# owl-classify: intersection of the superiors 
:SOME_158_901_288_intersection
   a owl:Class ;
   rdfs:label "(BY topProperty SOME Dampf) INTERSECT Kraftwerk" ;
   rdfs:subClassOf :Dampfkraftwerk , :gendifs_intersections ;
   owl:equivalentClass [ a owl:Class ;
      owl:intersectionOf (
          :SOME_158_901_288_restriction
          :Kraftwerk ) ] .



# SOME.i
# owl-test: 
# Kraftwerk topProperty Dampf -> Dampfkraftwerk
ex:Kraftwerk_158_901_288_GAP1
   a :Kraftwerk , :GAP1 .
ex:Kraftwerk_158_901_288_GAP2
   a :Kraftwerk , :GAP2 ;
   :topProperty ex:Dampf_158_901_288 ;
   ex:classifyLike ex:Dampfkraftwerk_158_901_288_target .
ex:Dampf_158_901_288
   a :Dampf .
ex:Dampfkraftwerk_158_901_288_target 
   a :Dampfkraftwerk .



# BY.0
# docu: --------------------
# Kraftwerk
#   BY None SOME Zweck


# BY.a
# owl: declare *None* as a object property.
:None
   rdf:type owl:ObjectProperty .


# BY.b
# owl: declare *Zweck* as a owl:Class .
:Zweck
   a owl:Class .


# BY.c
# owl-test: allocate a test instance of *Zweck* .
ex:Zweck_1_520_366_842
   a :Zweck .



# BY.d
# skos: define a skos:Collection
cpt:Kraftwerk_BY_None_SOME_Zweck 
   a skos:Collection .



# SUBTAXON.BY.a.03 ----
# docu: 
# Kraftwerk
#   BY ... SOME ...
#      Stromerzeugung


# SUBTAXON.BY.d
# skos: 
cpt:Kraftwerk_BY_None_SOME_Zweck
   skos:member cpt:Stromerzeugung .


# SUBTAXON.BY.a
# owl: declare class *Stromerzeugung* being a subclass of Kraftwerk
:Stromerzeugung
   a owl:Class ;
   rdfs:subClassOf :Kraftwerk .


# SUBTAXON.BY.b
# owl-test: allocate an example instance
ex:Stromerzeugung_256_812_990
   a :Stromerzeugung .



# SUBTAXON.BY.c
# skos: 
cpt:Stromerzeugung
   a skos:Concept ;
   skos:broader cpt:Kraftwerk .


# SUBTAXON.BY.a.03 ----
# docu: 
# Kraftwerk
#   BY ... SOME ...
#      Wärmeerzeugung


# SUBTAXON.BY.d
# skos: 
cpt:Kraftwerk_BY_None_SOME_Zweck
   skos:member cpt:Wärmeerzeugung .


# SUBTAXON.BY.a
# owl: declare class *Wärmeerzeugung* being a subclass of Kraftwerk
:Wärmeerzeugung
   a owl:Class ;
   rdfs:subClassOf :Kraftwerk .


# SUBTAXON.BY.b
# owl-test: allocate an example instance
ex:Wärmeerzeugung_1_076_902_905
   a :Wärmeerzeugung .



# SUBTAXON.BY.c
# skos: 
cpt:Wärmeerzeugung
   a skos:Concept ;
   skos:broader cpt:Kraftwerk .


# BY.0
# docu: --------------------
# Kraftwerk
#   BY None SOME Energieträger


# BY.a
# owl: declare *None* as a object property.
:None
   rdf:type owl:ObjectProperty .


# BY.b
# owl: declare *Energieträger* as a owl:Class .
:Energieträger
   a owl:Class .


# BY.c
# owl-test: allocate a test instance of *Energieträger* .
ex:Energieträger_1_806_234_666
   a :Energieträger .



# BY.d
# skos: define a skos:Collection
cpt:Kraftwerk_BY_None_SOME_Energieträger 
   a skos:Collection .



# SUBTAXON.BY.a.03 ----
# docu: 
# Kraftwerk
#   BY ... SOME ...
#      Kohle-Kraftwerk


# SUBTAXON.BY.d
# skos: 
cpt:Kraftwerk_BY_None_SOME_Energieträger
   skos:member cpt:Kohle-Kraftwerk .


# SUBTAXON.BY.a
# owl: declare class *Kohle-Kraftwerk* being a subclass of Kraftwerk
:Kohle-Kraftwerk
   a owl:Class ;
   rdfs:subClassOf :Kraftwerk .


# SUBTAXON.BY.b
# owl-test: allocate an example instance
ex:Kohle-Kraftwerk_1_447_287_149
   a :Kohle-Kraftwerk .



# SUBTAXON.BY.c
# skos: 
cpt:Kohle-Kraftwerk
   a skos:Concept ;
   skos:broader cpt:Kraftwerk .


# SOME.0 ----
# docu: 
# Kraftwerk
#   BY topProperty SOME Energieträger
#       Kohle-Kraftwerk
#         SOME Kohle


# SOME.b
# owl: declare *Kohle* as a owl:Class
:Kohle
   a owl:Class ;
   rdfs:subClassOf :Energieträger .


# SOME.c
# owl-test: allocate an example instance of *Kohle*
ex:Kohle_1_228_848
   a :Kohle .



# SOME.g
# owl-classify: 
:SOME_1_228_848_restriction
   a owl:Class ;
   rdfs:label "BY topProperty SOME Kohle" ;
   rdfs:subClassOf :gendifs_restrictions ;
   owl:equivalentClass [ a owl:Restriction ;
      owl:onProperty :topProperty ;
      owl:someValuesFrom :Kohle ] .



# SOME.h
# owl-classify: intersection of the superiors 
:SOME_1_228_848_intersection
   a owl:Class ;
   rdfs:label "(BY topProperty SOME Kohle) INTERSECT Kraftwerk" ;
   rdfs:subClassOf :Kohle-Kraftwerk , :gendifs_intersections ;
   owl:equivalentClass [ a owl:Class ;
      owl:intersectionOf (
          :SOME_1_228_848_restriction
          :Kraftwerk ) ] .



# SOME.i
# owl-test: 
# Kraftwerk topProperty Kohle -> Kohle-Kraftwerk
ex:Kraftwerk_1_228_848_GAP1
   a :Kraftwerk , :GAP1 .
ex:Kraftwerk_1_228_848_GAP2
   a :Kraftwerk , :GAP2 ;
   :topProperty ex:Kohle_1_228_848 ;
   ex:classifyLike ex:Kohle-Kraftwerk_1_228_848_target .
ex:Kohle_1_228_848
   a :Kohle .
ex:Kohle-Kraftwerk_1_228_848_target 
   a :Kohle-Kraftwerk .



# SUBTAXON.BY.a.03 ----
# docu: 
# Kraftwerk
#   BY ... SOME ...
#      Gas-Kraftwerk


# SUBTAXON.BY.d
# skos: 
cpt:Kraftwerk_BY_None_SOME_Energieträger
   skos:member cpt:Gas-Kraftwerk .


# SUBTAXON.BY.a
# owl: declare class *Gas-Kraftwerk* being a subclass of Kraftwerk
:Gas-Kraftwerk
   a owl:Class ;
   rdfs:subClassOf :Kraftwerk .


# SUBTAXON.BY.b
# owl-test: allocate an example instance
ex:Gas-Kraftwerk_1_792_618_758
   a :Gas-Kraftwerk .



# SUBTAXON.BY.c
# skos: 
cpt:Gas-Kraftwerk
   a skos:Concept ;
   skos:broader cpt:Kraftwerk .


# SOME.0 ----
# docu: 
# Kraftwerk
#   BY topProperty SOME Energieträger
#       Gas-Kraftwerk
#         SOME Gas


# SOME.b
# owl: declare *Gas* as a owl:Class
:Gas
   a owl:Class ;
   rdfs:subClassOf :Energieträger .


# SOME.c
# owl-test: allocate an example instance of *Gas*
ex:Gas_1_981_205_840
   a :Gas .



# SOME.g
# owl-classify: 
:SOME_1_981_205_840_restriction
   a owl:Class ;
   rdfs:label "BY topProperty SOME Gas" ;
   rdfs:subClassOf :gendifs_restrictions ;
   owl:equivalentClass [ a owl:Restriction ;
      owl:onProperty :topProperty ;
      owl:someValuesFrom :Gas ] .



# SOME.h
# owl-classify: intersection of the superiors 
:SOME_1_981_205_840_intersection
   a owl:Class ;
   rdfs:label "(BY topProperty SOME Gas) INTERSECT Kraftwerk" ;
   rdfs:subClassOf :Gas-Kraftwerk , :gendifs_intersections ;
   owl:equivalentClass [ a owl:Class ;
      owl:intersectionOf (
          :SOME_1_981_205_840_restriction
          :Kraftwerk ) ] .



# SOME.i
# owl-test: 
# Kraftwerk topProperty Gas -> Gas-Kraftwerk
ex:Kraftwerk_1_981_205_840_GAP1
   a :Kraftwerk , :GAP1 .
ex:Kraftwerk_1_981_205_840_GAP2
   a :Kraftwerk , :GAP2 ;
   :topProperty ex:Gas_1_981_205_840 ;
   ex:classifyLike ex:Gas-Kraftwerk_1_981_205_840_target .
ex:Gas_1_981_205_840
   a :Gas .
ex:Gas-Kraftwerk_1_981_205_840_target 
   a :Gas-Kraftwerk .



# SUBTAXON.BY.a.03 ----
# docu: 
# Kraftwerk
#   BY ... SOME ...
#      Windkraftwerk


# SUBTAXON.BY.d
# skos: 
cpt:Kraftwerk_BY_None_SOME_Energieträger
   skos:member cpt:Windkraftwerk .


# SUBTAXON.BY.a
# owl: declare class *Windkraftwerk* being a subclass of Kraftwerk
:Windkraftwerk
   a owl:Class ;
   rdfs:subClassOf :Kraftwerk .


# SUBTAXON.BY.b
# owl-test: allocate an example instance
ex:Windkraftwerk_254_120_992
   a :Windkraftwerk .



# SUBTAXON.BY.c
# skos: 
cpt:Windkraftwerk
   a skos:Concept ;
   skos:broader cpt:Kraftwerk .


# SOME.0 ----
# docu: 
# Kraftwerk
#   BY topProperty SOME Energieträger
#       Windkraftwerk
#         SOME Wind


# SOME.b
# owl: declare *Wind* as a owl:Class
:Wind
   a owl:Class ;
   rdfs:subClassOf :Energieträger .


# SOME.c
# owl-test: allocate an example instance of *Wind*
ex:Wind_1_392_310_168
   a :Wind .



# SOME.g
# owl-classify: 
:SOME_1_392_310_168_restriction
   a owl:Class ;
   rdfs:label "BY topProperty SOME Wind" ;
   rdfs:subClassOf :gendifs_restrictions ;
   owl:equivalentClass [ a owl:Restriction ;
      owl:onProperty :topProperty ;
      owl:someValuesFrom :Wind ] .



# SOME.h
# owl-classify: intersection of the superiors 
:SOME_1_392_310_168_intersection
   a owl:Class ;
   rdfs:label "(BY topProperty SOME Wind) INTERSECT Kraftwerk" ;
   rdfs:subClassOf :Windkraftwerk , :gendifs_intersections ;
   owl:equivalentClass [ a owl:Class ;
      owl:intersectionOf (
          :SOME_1_392_310_168_restriction
          :Kraftwerk ) ] .



# SOME.i
# owl-test: 
# Kraftwerk topProperty Wind -> Windkraftwerk
ex:Kraftwerk_1_392_310_168_GAP1
   a :Kraftwerk , :GAP1 .
ex:Kraftwerk_1_392_310_168_GAP2
   a :Kraftwerk , :GAP2 ;
   :topProperty ex:Wind_1_392_310_168 ;
   ex:classifyLike ex:Windkraftwerk_1_392_310_168_target .
ex:Wind_1_392_310_168
   a :Wind .
ex:Windkraftwerk_1_392_310_168_target 
   a :Windkraftwerk .



# SUBTAXON.TAXONOMY.a.01 ----
# docu: 
# TAXONOMY
#   Kohle


# SUBTAXON.TAXONOMY.a
# owl: declare class *Kohle* being a subclass of topConcept
:Kohle
   a owl:Class ;
   rdfs:subClassOf :topConcept .


# SUBTAXON.TAXONOMY.b
# owl-test: allocate an example instance
ex:Kohle_152_685_348
   a :Kohle .



# SUBTAXON.TAXONOMY.c
# skos: 
cpt:Kohle
   a skos:Concept ;
   skos:broader cpt:topConcept .


# SUBTAXON.ISA.a.02 ----
# docu: 
# Kohle
#   ISA
#      Braunkohle


# SUBTAXON.ISA.a.02b ----
# owl-test: 
ex:Braunkohle_1_841_930_196
   ex:classifyLike ex:Kohle_1_841_930_196 .
ex:Braunkohle_1_841_930_196 a :Braunkohle .
ex:Kohle_1_841_930_196 a :Kohle .



# SUBTAXON.ISA.a
# owl: declare class *Braunkohle* being a subclass of Kohle
:Braunkohle
   a owl:Class ;
   rdfs:subClassOf :Kohle .


# SUBTAXON.ISA.b
# owl-test: allocate an example instance
ex:Braunkohle_1_841_930_196
   a :Braunkohle .



# SUBTAXON.ISA.c
# skos: 
cpt:Braunkohle
   a skos:Concept ;
   skos:broader cpt:Kohle .


# SUBTAXON.ISA.a.02 ----
# docu: 
# Kohle
#   ISA
#      Steinkohle


# SUBTAXON.ISA.a.02b ----
# owl-test: 
ex:Steinkohle_1_608_951_113
   ex:classifyLike ex:Kohle_1_608_951_113 .
ex:Steinkohle_1_608_951_113 a :Steinkohle .
ex:Kohle_1_608_951_113 a :Kohle .



# SUBTAXON.ISA.a
# owl: declare class *Steinkohle* being a subclass of Kohle
:Steinkohle
   a owl:Class ;
   rdfs:subClassOf :Kohle .


# SUBTAXON.ISA.b
# owl-test: allocate an example instance
ex:Steinkohle_1_608_951_113
   a :Steinkohle .



# SUBTAXON.ISA.c
# skos: 
cpt:Steinkohle
   a skos:Concept ;
   skos:broader cpt:Kohle .


# SUBTAXON.TAXONOMY.a.01 ----
# docu: 
# TAXONOMY
#   Kohle-Dampf-Kraftwerk


# SUBTAXON.TAXONOMY.a
# owl: declare class *Kohle-Dampf-Kraftwerk* being a subclass of topConcept
:Kohle-Dampf-Kraftwerk
   a owl:Class ;
   rdfs:subClassOf :topConcept .


# SUBTAXON.TAXONOMY.b
# owl-test: allocate an example instance
ex:Kohle-Dampf-Kraftwerk_1_046_766_781
   a :Kohle-Dampf-Kraftwerk .



# SUBTAXON.TAXONOMY.c
# skos: 
cpt:Kohle-Dampf-Kraftwerk
   a skos:Concept ;
   skos:broader cpt:topConcept .


# SUP.a
# owl: *INTERSECTION_378_731_468*: intersection of superiors, i.e. *intersect(Kohle-Kraftwerk, Dampfkraftwerk, Stromerzeugung)*
:INTERSECTION_378_731_468
   a owl:Class ;
   rdfs:label "intersect(Kohle-Kraftwerk, Dampfkraftwerk, Stromerzeugung)" ;
   owl:equivalentClass [ a owl:Class ;
      owl:intersectionOf (
          :Kohle-Kraftwerk :Dampfkraftwerk :Stromerzeugung ) ] .



# SUP.b
# owl: *INTERSECTION_378_731_468* is a subclass of *Kohle-Dampf-Kraftwerk*
:INTERSECTION_378_731_468
   rdfs:subClassOf :Kohle-Dampf-Kraftwerk .



# SUP.c
# owl-test: *{to_classify}* is a instance of SUPerclass *{sup}*
ex:Kohle-Dampf-Kraftwerk_378_731_468
   a :Kohle-Kraftwerk .



# SUP.c
# owl-test: *{to_classify}* is a instance of SUPerclass *{sup}*
ex:Kohle-Dampf-Kraftwerk_378_731_468
   a :Dampfkraftwerk .



# SUP.c
# owl-test: *{to_classify}* is a instance of SUPerclass *{sup}*
ex:Kohle-Dampf-Kraftwerk_378_731_468
   a :Stromerzeugung .



# SUP.d
# owl-test: classify *Kohle-Dampf-Kraftwerk_378_731_468* -- which is a instance of all SUPeriors -- similar like *Kohle-Dampf-Kraftwerk_378_731_468_target*, which is an instance of *Kohle-Dampf-Kraftwerk*
ex:Kohle-Dampf-Kraftwerk_378_731_468
   ex:classifyLike ex:Kohle-Dampf-Kraftwerk_378_731_468_target .
ex:Kohle-Dampf-Kraftwerk_378_731_468_target
   a :Kohle-Dampf-Kraftwerk .



# SUPERTAXON.SUP.a.0 ----
# docu: 
# Kohle-Dampf-Kraftwerk
#   SUP
#      Kohle-Kraftwerk


# SUPERTAXON.SUP.a
# owl: declare class *Kohle-Dampf-Kraftwerk* being a subclass of Kohle-Kraftwerk
:Kohle-Dampf-Kraftwerk
   a owl:Class ;
   rdfs:subClassOf :Kohle-Kraftwerk .


# SUPERTAXON.SUP.c
# skos: 
cpt:Kohle-Kraftwerk
   a skos:Concept .
cpt:Kohle-Dampf-Kraftwerk
   a skos:Concept ;
   skos:broader cpt:Kohle-Kraftwerk .


# SUPERTAXON.SUP.b
# owl-test: allocate an example instance
ex:Kohle-Kraftwerk_407_830_834
   a :Kohle-Kraftwerk .



# SUPERTAXON.SUP.a.0 ----
# docu: 
# Kohle-Dampf-Kraftwerk
#   SUP
#      Dampfkraftwerk


# SUPERTAXON.SUP.a
# owl: declare class *Kohle-Dampf-Kraftwerk* being a subclass of Dampfkraftwerk
:Kohle-Dampf-Kraftwerk
   a owl:Class ;
   rdfs:subClassOf :Dampfkraftwerk .


# SUPERTAXON.SUP.c
# skos: 
cpt:Dampfkraftwerk
   a skos:Concept .
cpt:Kohle-Dampf-Kraftwerk
   a skos:Concept ;
   skos:broader cpt:Dampfkraftwerk .


# SUPERTAXON.SUP.b
# owl-test: allocate an example instance
ex:Dampfkraftwerk_181_255_198
   a :Dampfkraftwerk .



# SUPERTAXON.SUP.a.0 ----
# docu: 
# Kohle-Dampf-Kraftwerk
#   SUP
#      Stromerzeugung


# SUPERTAXON.SUP.a
# owl: declare class *Kohle-Dampf-Kraftwerk* being a subclass of Stromerzeugung
:Kohle-Dampf-Kraftwerk
   a owl:Class ;
   rdfs:subClassOf :Stromerzeugung .


# SUPERTAXON.SUP.c
# skos: 
cpt:Stromerzeugung
   a skos:Concept .
cpt:Kohle-Dampf-Kraftwerk
   a skos:Concept ;
   skos:broader cpt:Stromerzeugung .


# SUPERTAXON.SUP.b
# owl-test: allocate an example instance
ex:Stromerzeugung_737_450_211
   a :Stromerzeugung .

