# Fri Mar 28 16:28:23 JST 2014
@prefix piero:           <http://reactionontology.org/piero#> .
@prefix kegg:            <http://www.kegg.jp/entry/> .
@prefix rTerm:           <http://reactionontology.org/piero/ReactionTerm/> .
@prefix tTerm:           <http://reactionontology.org/piero/TransformationTerm/> .
@prefix goMF:            <http://reactionontology.org/piero/GO_MolecularFunction/> .
@prefix fgroup:          <http://reactionontology.org/piero/FGROUP/> .
@prefix fgc:             <http://reactionontology.org/piero/FGC/> .
@prefix rdm:             <http://reactionontology.org/piero/RDM#> .
@prefix kcfs:            <http://reactionontology.org/piero/KCF-S#> .
@prefix enzymeFunction:  <http://reactionontology.org/piero/EnzymeFunction/> .
@prefix geneProduct:     <http://reactionontology.org/piero/GeneProduct/> .
@prefix xml:             <http://www.w3.org/XML/1998/namespace> .
@prefix rdf:             <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:            <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:             <http://www.w3.org/2001/XMLSchema#> .
@prefix owl:             <http://www.w3.org/2002/07/owl#> .
@prefix ro:              <http://purl.org/obo/owl/ro#> .

<http://reactionontology.org/piero/> rdf:type owl:Ontology ;
                                     rdfs:comment """
PierO (Enzyme Reaction Ontology for Partial Information) intends to describe enzyme reactions even if the only partial information is available, aiming at the use for metabolomics studies.
It contains hierarchical classification and ontology of functional groups and chemical substructures, which is originally obtained from BiSSCat database (http://bisscat.org/) and has been modified.
""" .

# {{{   Classes
### Object
## Lv. 1
piero:Object 
	rdf:type owl:Class ;
	rdfs:subClassOf owl:Thing .
## Lv. 2
piero:ChemicalSubstructure
	rdf:type owl:Class ;
	rdfs:subClassOf piero:Object .
piero:Molecule
	rdfs:subClassOf piero:Object .
## Lv. 3
piero:KCF-S
	rdf:type owl:Class ;
	rdfs:subClassOf piero:ChemicalSubstructure .
piero:FGROUP
	rdf:type owl:Class ;
	rdfs:subClassOf piero:ChemicalSubstructure .
kegg:COMPOUND
	rdf:type owl:Class ;
	rdfs:subClassOf piero:Molecule .
piero:GeneProduct
	rdf:type owl:Class ;
	rdfs:subClassOf piero:Molecule .
## Lv. 4
kcfs:ATOM
	rdf:type owl:Class ;
	rdfs:subClassOf piero:KCF-S .
kcfs:BOND
	rdf:type owl:Class ;
	rdfs:subClassOf piero:KCF-S .
kcfs:TRIPLET
	rdf:type owl:Class ;
	rdfs:subClassOf piero:KCF-S .
kcfs:VICINITY
	rdf:type owl:Class ;
	rdfs:subClassOf piero:KCF-S .
kcfs:RING
	rdf:type owl:Class ;
	rdfs:subClassOf piero:KCF-S .
kcfs:SKELETON
	rdf:type owl:Class ;
	rdfs:subClassOf piero:KCF-S .
kcfs:INORGANIC
	rdf:type owl:Class ;
	rdfs:subClassOf piero:KCF-S .

### Process
## Lv. 1
piero:Process
	rdf:type owl:Class ;
	rdfs:subClassOf owl:Thing .
## Lv. 2
kegg:RCLASS
	rdf:type owl:Class ;
	rdfs:subClassOf piero:Process .
kegg:RPAIR
	rdf:type owl:Class ;
	rdfs:subClassOf piero:Process .
kegg:REACTION 
	rdf:type owl:Class ;
	rdfs:subClassOf piero:Process .
piero:RDM
	rdf:type owl:Class ;
	rdfs:subClassOf piero:Process .
piero:FGC
	rdf:type owl:Class ;
	rdfs:subClassOf piero:Process .

### Molecular Function
## Lv. 1
piero:MolecularFunction
	rdf:type owl:Class ;
	rdfs:subClassOf owl:Thing .
## Lv. 2
kegg:ENZYME
	rdf:type owl:Class ;
	rdfs:subClassOf piero:MolecularFunction .
kegg:KO
	rdf:type owl:Class ;
	rdfs:subClassOf piero:MolecularFunction .
piero:ReactionTerm
	rdf:type owl:Class ;
	rdfs:subClassOf piero:MolecularFunction .
piero:TransformationTerm
	rdf:type owl:Class ;
	rdfs:subClassOf piero:MolecularFunction .
piero:EnzymeFunction
	rdf:type owl:Class ;
	rdfs:subClassOf piero:MolecularFunction .
piero:GO_MolecularFunction
	rdf:type owl:Class ;
	rdfs:subClassOf piero:MolecularFunction .
# }}}

# {{{   Object Properties

## fgc_old
piero:fgc_old rdf:type owl:AnnotationProperty .

## owl/ro
#ro:hasSynonym rdf:type owl:ObjectProperty .
#ro:hasURI rdf:type owl:ObjectProperty .
ro:has_part rdf:type owl:ObjectProperty .
ro:part_of rdf:type owl:ObjectProperty .

## RELATION
## In Object
# Lv. 1
piero:inCOMPOUND rdf:type owl:ObjectProperty ;
	rdfs:domain piero:KCF-S ;
	rdfs:range kegg:COMPOUND .
piero:inFGROUP rdf:type owl:ObjectProperty ;
	rdfs:domain piero:KCF-S ;
	rdfs:range piero:FGROUP .
piero:hasKCF-S rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:COMPOUND ;
	rdfs:domain piero:FGROUP ;
	rdfs:range piero:KCF-S .

## In Process
# Lv. 1
piero:hasRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:domain kegg:RCLASS ;
	rdfs:range kegg:RPAIR .
piero:inRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain piero:RDM ;
	rdfs:range kegg:RPAIR .
piero:inREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION .
piero:hasRCLASS rdf:type owl:ObjectProperty ;
	rdfs:domain piero:FGC ;
	rdfs:domain piero:TransformationTerm ;
	rdfs:range kegg:RCLASS .
piero:inRCLASS rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:domain piero:RDM ;
	rdfs:range kegg:RCLASS .
piero:hasRDM rdf:type owl:ObjectProperty ;
	rdfs:domain piero:FGC ;
	rdfs:domain kegg:RCLASS ;
	rdfs:range piero:RDM .
piero:inFGC rdf:type owl:ObjectProperty ;
	rdfs:domain piero:FGROUP ;
	rdfs:domain piero:RDM ;
	rdfs:range piero:FGC .
# Lv. 2
piero:ForwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inREACTION .
piero:BackwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inREACTION .
piero:MainInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inREACTION .
piero:CofacInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inREACTION .
piero:LeaveInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inREACTION .
piero:LigaseInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inREACTION .
piero:TransInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inREACTION .
piero:hasForwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:domain kegg:RCLASS ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasRPAIR .
piero:hasBackwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:domain kegg:RCLASS ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasRPAIR .
piero:hasMainRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasRPAIR .
piero:hasCofacRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasRPAIR .
piero:hasLeaveRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasRPAIR .
piero:hasLigaseRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasRPAIR .
piero:hasTransRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasRPAIR .
piero:ForwardInRCLASS rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:RCLASS ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inRCLASS .
piero:BackwardInRCLASS rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:RCLASS ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:inRCLASS .
# Lv. 3
piero:MainForwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:ForwardInREACTION ;
	rdfs:subPropertyOf piero:MainInREACTION .
piero:MainBackwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:BackwardInREACTION ;
	rdfs:subPropertyOf piero:MainInREACTION .
piero:hasMainForwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasForwardRPAIR ;
	rdfs:subPropertyOf piero:hasMainRPAIR .
piero:hasMainBackwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasBackwardRPAIR ;
	rdfs:subPropertyOf piero:hasMainRPAIR .
piero:CofacForwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:ForwardInREACTION ;
	rdfs:subPropertyOf piero:CofacInREACTION .
piero:CofacBackwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:BackwardInREACTION ;
	rdfs:subPropertyOf piero:CofacInREACTION .
piero:hasCofacForwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasForwardRPAIR ;
	rdfs:subPropertyOf piero:hasCofacRPAIR .
piero:hasCofacBackwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasBackwardRPAIR ;
	rdfs:subPropertyOf piero:hasCofacRPAIR .
piero:LeaveForwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:ForwardInREACTION ;
	rdfs:subPropertyOf piero:LeaveInREACTION .
piero:LeaveBackwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:BackwardInREACTION ;
	rdfs:subPropertyOf piero:LeaveInREACTION .
piero:hasLeaveForwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasForwardRPAIR ;
	rdfs:subPropertyOf piero:hasLeaveRPAIR .
piero:hasLeaveBackwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasBackwardRPAIR ;
	rdfs:subPropertyOf piero:hasLeaveRPAIR .
piero:LigaseForwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:ForwardInREACTION ;
	rdfs:subPropertyOf piero:LigaseInREACTION .
piero:LigaseBackwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:BackwardInREACTION ;
	rdfs:subPropertyOf piero:LigaseInREACTION .
piero:hasLigaseForwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasForwardRPAIR ;
	rdfs:subPropertyOf piero:hasLigaseRPAIR .
piero:hasLigaseBackwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasBackwardRPAIR ;
	rdfs:subPropertyOf piero:hasLigaseRPAIR .
piero:TransForwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:ForwardInREACTION ;
	rdfs:subPropertyOf piero:TransInREACTION .
piero:TransBackwardInREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:BackwardInREACTION ;
	rdfs:subPropertyOf piero:TransInREACTION .
piero:hasTransForwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasForwardRPAIR ;
	rdfs:subPropertyOf piero:hasTransRPAIR .
piero:hasTransBackwardRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:hasBackwardRPAIR ;
	rdfs:subPropertyOf piero:hasTransRPAIR .

## In MolecularFunction
piero:hasKEGG_ENZYME rdf:type owl:ObjectProperty ;
	rdfs:domain piero:EnzymeFunction ;
	rdfs:range kegg:ENZYME .
piero:inEnzymeFunction rdf:type owl:ObjectProperty ;
	rdfs:domain piero:MolecularFunction ;
	rdfs:range piero:EnzymeFunction .
piero:hasGO_MolecularFunction rdf:type owl:ObjectProperty ;
	rdfs:domain piero:EnzymeFunction ;
	rdfs:range piero:GO_MolecularFunction .

## Object <=> Process
# Lv. 1
piero:catalyzeProperty rdf:type owl:ObjectProperty .
piero:catalyzedBy rdf:type owl:AsymmetricProperty ,
		owl:ObjectProperty ,
		owl:TransitiveProperty ;
	owl:inverseOf piero:catalyzes ;
	rdfs:domain kegg:REACTION ;
	rdfs:range piero:GeneProduct ;
	rdfs:subPropertyOf piero:catalyzeProperty .
piero:catalyzes rdf:type owl:AsymmetricProperty ,
		owl:ObjectProperty ,
		owl:TransitiveProperty ;
	rdfs:domain piero:GeneProduct ;
	rdfs:range kegg:REACTION ;
	rdfs:subPropertyOf piero:catalyzeProperty .
piero:hasReactant rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:COMPOUND ;
	owl:inverseOf piero:inRPAIR .
piero:inRPAIR rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:COMPOUND ;
	rdfs:range kegg:RPAIR .
piero:hasReactantKCF-S rdf:type owl:ObjectProperty ;
	rdfs:domain piero:RDM ;
	rdfs:range piero:KCF-S ;
	owl:inverseOf piero:inRDM .
piero:inRDM rdf:type owl:ObjectProperty ;
	rdfs:domain piero:KCF-S ;
	rdfs:range piero:RDM .
piero:hasReactantFGROUP rdf:type owl:ObjectProperty ;
	rdfs:domain piero:FGC ;
	rdfs:range piero:FGROUP .
# Lv. 2
piero:hasReactantInSideA rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:COMPOUND ;
	owl:inverseOf piero:inRPAIR_InSideA ;
	rdfs:subPropertyOf piero:hasReactant .
piero:hasReactantInSideB rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RPAIR ;
	rdfs:range kegg:COMPOUND ;
	owl:inverseOf piero:inRPAIR_InSideB ;
	rdfs:subPropertyOf piero:hasReactant .
piero:inRPAIR_InSideA rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:COMPOUND ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:inRPAIR .
piero:inRPAIR_InSideB rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:COMPOUND ;
	rdfs:range kegg:RPAIR ;
	rdfs:subPropertyOf piero:inRPAIR .
piero:hasReactantKCF-S_InSideA rdf:type owl:ObjectProperty ;
	rdfs:domain piero:RDM ;
	rdfs:range piero:KCF-S ;
	owl:inverseOf piero:inRDM_InSideA ;
	rdfs:subPropertyOf piero:hasReactantKCF-S .
piero:hasReactantKCF-S_InSideB rdf:type owl:ObjectProperty ;
	rdfs:domain piero:RDM ;
	rdfs:range piero:KCF-S ;
	owl:inverseOf piero:inRDM_InSideB ;
	rdfs:subPropertyOf piero:hasReactantKCF-S .
piero:inRDM_InSideA rdf:type owl:ObjectProperty ;
	rdfs:domain piero:KCF-S ;
	rdfs:range piero:RDM ;
	rdfs:subPropertyOf piero:inRDM .
piero:inRDM_InSideB rdf:type owl:ObjectProperty ;
	rdfs:domain piero:KCF-S ;
	rdfs:range piero:RDM ;
	rdfs:subPropertyOf piero:inRDM .
piero:hasReactantFGROUP_InSideA rdf:type owl:ObjectProperty ;
	rdfs:domain piero:FGC ;
	rdfs:range piero:FGROUP ;
	rdfs:subPropertyOf piero:hasReactantFGROUP .
piero:hasReactantFGROUP_InSideB rdf:type owl:ObjectProperty ;
	rdfs:domain piero:FGC ;
	rdfs:range piero:FGROUP ;
	rdfs:subPropertyOf piero:hasReactantFGROUP .
piero:inFGC_InSideA rdf:type owl:ObjectProperty ;
	rdfs:domain piero:FGROUP ;
	rdfs:range piero:FGC ;
	rdfs:subPropertyOf piero:inFGC .
piero:inFGC_InSideB rdf:type owl:ObjectProperty ;
	rdfs:domain piero:FGROUP ;
	rdfs:range piero:FGC ;
	rdfs:subPropertyOf piero:inFGC .

## Object <=> MolecularFunction
# Lv. 1
piero:mediateProperty rdf:type owl:ObjectProperty .
piero:mediatedBy rdf:type owl:AsymmetricProperty ,
		owl:ObjectProperty ,
		owl:TransitiveProperty ;
	owl:inverseOf piero:mediates ;
	rdfs:domain piero:EnzymeFunction ;
	rdfs:range piero:GeneProduct ;
	rdfs:subPropertyOf piero:mediateProperty .
piero:mediates rdf:type owl:AsymmetricProperty ,
		owl:ObjectProperty ,
		owl:TransitiveProperty ;
	rdfs:domain piero:GeneProduct ;
	rdfs:range piero:EnzymeFunction ;
	rdfs:subPropertyOf piero:mediateProperty .
piero:hasFGROUP rdf:type owl:ObjectProperty ;
	rdfs:range piero:FGROUP .
piero:inReactionTerm rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range piero:ReactionTerm .
piero:hasGeneProduct rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:KO ;
	rdfs:range piero:GeneProduct .
piero:inKO rdf:type owl:ObjectProperty ;
	rdfs:domain piero:GeneProduct ;
	rdfs:range kegg:KO .

## Process <=> MolecularFunction
# Lv. 1
piero:hasREACTION rdf:type owl:ObjectProperty ;
	rdfs:domain piero:ReactionTerm ;
	rdfs:range kegg:REACTION .
piero:inTransformationTerm rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:RCLASS ;
	rdfs:domain piero:FGROUP ;
	rdfs:range piero:TransformationTerm .
piero:inReactionTerm rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:range piero:ReactionTerm .

## Backward RDM
piero:reverseRDM rdf:type owl:ObjectProperty ;
	rdfs:domain piero:RDM ;
	rdfs:range piero:RDM ;
	owl:inverseOf piero:reverseRDM ;
	rdfs:subPropertyOf owl:topObjectProperty .
piero:hasEquation rdf:type owl:ObjectProperty ;
	rdfs:domain kegg:REACTION ;
	rdfs:subPropertyOf owl:topObjectProperty .

# }}}

# {{{ Annotation Property
## ??? <=> Literal
piero:hasAnnotation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:ENZYME ;
	rdfs:domain kegg:REACTION ;
	rdfs:domain kegg:RPAIR ;
	rdfs:domain kegg:RCLASS ;
	rdfs:domain kegg:KO ;
	rdfs:domain kegg:COMPOUND ;
	rdfs:range rdfs:Literal ;
	rdfs:range xsd:integer ;
	rdfs:range rdfs:Container .
piero:hasCOMMENT_Annotation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:REACTION ;
	rdfs:domain kegg:ENZYME ;
	rdfs:range rdfs:Container ;
	rdfs:subPropertyOf piero:hasAnnotation .
piero:hasEQUATION_Annotation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:REACTION ;
	rdfs:range rdfs:Literal ;
	rdfs:subPropertyOf piero:hasAnnotation .
piero:hasDEFINITION_Annotation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:REACTION ;
	rdfs:domain kegg:KO ;
	rdfs:range rdfs:Literal ;
	rdfs:subPropertyOf piero:hasAnnotation .
piero:hasSYSNAME_Annotation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:ENZYME ;
	rdfs:range rdfs:Container ;
	rdfs:subPropertyOf piero:hasAnnotation .
piero:hasCLASS_Annotation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:ENZYME ;
	rdfs:range rdfs:Container ;
	rdfs:subPropertyOf piero:hasAnnotation .
piero:hasTYPE_Annotation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:RPAIR ;
	rdfs:range rdfs:Container ;
	rdfs:subPropertyOf piero:hasAnnotation .
piero:hasRDM_Annotation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:RPAIR ;
	rdfs:range rdfs:Container ;
	rdfs:subPropertyOf piero:hasAnnotation .
piero:hasRDM_Count rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:RPAIR ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf piero:hasAnnotation .
piero:standardRDM_Orientation rdf:type owl:AnnotationProperty;
	rdfs:domain kegg:ENZYME ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf piero:hasAnnotation .

## Parent <=> Child
piero:hasParent rdf:type owl:ObjectProperty ;
	rdfs:domain owl:Thing ;
	rdfs:range owl:Thing .
piero:hasChild rdf:type owl:ObjectProperty ;
	rdfs:domain owl:Thing ;
	rdfs:range owl:Thing .
## Level in TREE
piero:levelProperty rdf:type owl:AnnotationProperty ;
	rdfs:domain owl:Class ;
	rdfs:range xsd:integer .
piero:levelInFGROUP rdf:type owl:AnnotationProperty ;
	rdfs:domain piero:FGROUP ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf piero:levelProperty .
piero:levelInFGC rdf:type owl:AnnotationProperty ;
	rdfs:domain piero:FGC ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf piero:levelProperty .
piero:levelInKCF-S rdf:type owl:AnnotationProperty ;
	rdfs:domain piero:KCF-S ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf piero:levelProperty .
piero:levelInRDM rdf:type owl:AnnotationProperty ;
	rdfs:domain piero:RDM ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf piero:levelProperty .
piero:levelInReactionTerm rdf:type owl:AnnotationProperty ;
	rdfs:domain piero:ReactionTerm ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf piero:levelProperty .

# }}}
