
C:\Python22\CWM>..\python cwm.py metab_intermed.n3 "--apply=rules.n3" --think  
#Processed by Id: cwm.py,v 1.126 2003/02/14 17:48:08 sandro Exp 
        #    using base file:/Python22/CWM/metab_intermed.n3
        
#  Notation3 generation by
#       notation3.py,v 1.133 2003/02/02 16:09:09 timbl Exp

#   Base was: file:/Python22/CWM/metab_intermed.n3
     @prefix : <http://www.bg.org/bio#> .
     @prefix daml: <http://www.daml.org/2001/03/daml+oil#> .
     @prefix log: <http://www.w3.org/2000/10/swap/log#> .
     @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
     @prefix rules: <http://infomesh.net/2001/05/rdflint/rules#> .
     @prefix v: <http://infomesh.net/2001/05/rdflint/vars#> .
    
    @forAll v:e,
                v:p,
                v:r,
                v:s .
    
    <#Fru62Fru1>     a :Reaction;
         :consumes <#fructose6P>;
         :produces <#fructose1P> .
    
    <#FruPIsomerase>     a :Enzyme;
         :catalyzes <#Fru62Fru1>;
         :metabolizes <#fructose6P>;
         :synthesizes <#fructose1P> .
    
    <#Glu2Fru>     a :Reaction;
         :consumes <#glucose6P>;
         :produces <#fructose6P> .
    
    <#GluIsomerase>     a :Enzyme;
         :catalyzes <#Glu2Fru>;
         :metabolizes <#glucose6P>;
         :synthesizes <#fructose6P> .
    
    <#fructose1P>     a :Compound;
         :isDownStream <#fructose6P>,
                <#glucose6P>;
         :isProducedBy <#Fru62Fru1> .
    
    <#fructose6P>     a :Compound;
         :isDownStream <#glucose6P>;
         :isProducedBy <#Glu2Fru>;
         :isUpStream <#fructose1P>;
         :reactsIn <#Fru62Fru1> .
    
    <#glucose6P>     a :Compound;
         :isUpStream <#fructose1P>,
                <#fructose6P>;
         :reactsIn <#Glu2Fru> .
    
    :BioChemical     a daml:Class;
         daml:hasProperty :isDownStream,
                :isUpStream .
    
    :Compound     a daml:Class;
         daml:subClassOf :BioChemical .
    
    :Enzyme     a daml:Class;
         daml:hasProperty :catalyzes;
         daml:subClassOf :Protein .
    
    :Product     a daml:Class;
         daml:hasProperty :isProducedBy;
         daml:subClassOf :BioChemical .
    
    :Protein     a daml:Class;
         daml:hasProperty :modification;
         daml:subClassOf :BioChemical .
    
    :Reaction     a daml:Class;
         daml:hasProperty :consumes,
                :produces .
    
    :Substrate     a daml:Class;
         daml:hasProperty :reactsIn;
         daml:subClassOf :BioChemical .
    
    :catalyzes     a daml:ObjectProperty;
         daml:minCardinality "1";
         daml:range :Reaction .
    
    :consumes     a daml:ObjectProperty;
         daml:inverseOf :reactsIn;
         daml:range :Substrate .
    
    :isDownStream     a daml:TransitiveProperty;
         daml:inverseOf :isUpStream;
         daml:range :BioChemical .
    
    :isProducedBy     a daml:ObjectProperty;
         daml:inverseOf :produces;
         daml:range :Reaction .
    
    :isUpStream     a daml:TransitiveProperty;
         daml:inverseOf :isDownStream;
         daml:range :BioChemical .
    
    :metabolizes     a daml:ObjectProperty .
    
    :modification     a daml:Property;
         daml:range rdfs:Literal .
    
    :produces     a daml:ObjectProperty;
         daml:inverseOf :isProducedBy;
         daml:range :Product .
    
    :reactsIn     a daml:ObjectProperty;
         daml:inverseOf :consumes;
         daml:range :Reaction .
    
    :synthesizes     a daml:ObjectProperty .
    {
        v:e     :catalyzes v:r .
        v:r     :consumes v:s .
        
        }     log:implies {v:e     :metabolizes v:s .
        } .
    {
        v:e     :catalyzes v:r .
        v:r     :produces v:p .
        
        }     log:implies {v:e     :synthesizes v:p .
        } .
    {
        v:r     :consumes v:s;
             :produces v:p .
        
        }     log:implies {v:p     :isDownStream v:s .
        v:s     :isUpStream v:p .
        } .
    
#ENDS
