<?xml version="1.0"?>


<!DOCTYPE rdf:RDF [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY dc "http://purl.org/dc/elements/1.1/" >
    <!ENTITY owl11 "http://www.w3.org/2006/12/owl11#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY dl "http://ontology.dumontierlab.com/" >
    <!ENTITY owl11xml "http://www.w3.org/2006/12/owl11-xml#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>


<rdf:RDF xmlns="http://ontology.dumontierlab.com/organic-compound-complex"
     xml:base="http://ontology.dumontierlab.com/organic-compound-complex"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:owl11="http://www.w3.org/2006/12/owl11#"
     xmlns:owl11xml="http://www.w3.org/2006/12/owl11-xml#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:dl="http://ontology.dumontierlab.com/">
    <owl:Ontology rdf:about="">
        <dc:title rdf:datatype="&xsd;string"
            >Organic Compound Ontology (complex)</dc:title>
        <owl:imports rdf:resource="&dl;organic-functional-group-complex"/>
        <dc:creator rdf:datatype="&xsd;string"
            >Michel Dumontier</dc:creator>
        <dc:description rdf:datatype="&xsd;string"
            >Complex class descriptions for the classification of organic compounds based on the presence of functional groups.</dc:description>
        <dc:language rdf:datatype="&xsd;string">en</dc:language>
        <dc:publisher rdf:datatype="&xsd;string">Dumontier Lab</dc:publisher>
        <owl:imports rdf:resource="&dl;organic-compound-primitive"/>
        <dc:date rdf:datatype="&xsd;date">2007-10-01</dc:date>
        <owl:imports rdf:resource="&dl;annotation"/>
        <dc:format rdf:datatype="&xsd;string"
            >application/rdf+xml</dc:format>
        <owl:versionInfo rdf:datatype="&xsd;string">2.0</owl:versionInfo>
    </owl:Ontology>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Annotation properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    <owl:AnnotationProperty rdf:about="&dc;date"/>
    <owl:AnnotationProperty rdf:about="&dc;publisher"/>
    <owl:AnnotationProperty rdf:about="&dc;title"/>
    <owl:AnnotationProperty rdf:about="&dc;language"/>
    <owl:AnnotationProperty rdf:about="&dc;description"/>
    <owl:AnnotationProperty rdf:about="&dc;format"/>
    <owl:AnnotationProperty rdf:about="&dc;creator"/>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Object Properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://ontology.dumontierlab.com/hasPart -->

    <owl:ObjectProperty rdf:about="&dl;hasPart"/>
    


    <!-- http://ontology.dumontierlab.com/isPartOf -->

    <owl:ObjectProperty rdf:about="&dl;isPartOf">
        <owl:inverseOf rdf:resource="&dl;hasPart"/>
    </owl:ObjectProperty>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://ontology.dumontierlab.com/AcylBromide -->

    <owl:Class rdf:about="&dl;AcylBromide">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AcylBromideGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;AcylHalide"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AcylBromideGroup -->

    <owl:Class rdf:about="&dl;AcylBromideGroup"/>
    


    <!-- http://ontology.dumontierlab.com/AcylChloride -->

    <owl:Class rdf:about="&dl;AcylChloride">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;AcylHalide"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AcylChlorideGroup"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AcylChlorideGroup -->

    <owl:Class rdf:about="&dl;AcylChlorideGroup"/>
    


    <!-- http://ontology.dumontierlab.com/AcylCompound -->

    <owl:Class rdf:about="&dl;AcylCompound">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AcylGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AcylFluoride -->

    <owl:Class rdf:about="&dl;AcylFluoride">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AcylFluorideGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;AcylHalide"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AcylFluorideGroup -->

    <owl:Class rdf:about="&dl;AcylFluorideGroup"/>
    


    <!-- http://ontology.dumontierlab.com/AcylGroup -->

    <owl:Class rdf:about="&dl;AcylGroup"/>
    


    <!-- http://ontology.dumontierlab.com/AcylHalide -->

    <owl:Class rdf:about="&dl;AcylHalide">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AcylHalideGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AcylHalideGroup -->

    <owl:Class rdf:about="&dl;AcylHalideGroup"/>
    


    <!-- http://ontology.dumontierlab.com/AcylIodide -->

    <owl:Class rdf:about="&dl;AcylIodide">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AcylIodideGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;AcylHalide"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AcylIodideGroup -->

    <owl:Class rdf:about="&dl;AcylIodideGroup"/>
    


    <!-- http://ontology.dumontierlab.com/Alcohol -->

    <owl:Class rdf:about="&dl;Alcohol">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;HydroxylGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/Aldehyde -->

    <owl:Class rdf:about="&dl;Aldehyde">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AldehydeGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AldehydeGroup -->

    <owl:Class rdf:about="&dl;AldehydeGroup"/>
    


    <!-- http://ontology.dumontierlab.com/Amide -->

    <owl:Class rdf:about="&dl;Amide">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AmideGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AmideGroup -->

    <owl:Class rdf:about="&dl;AmideGroup"/>
    


    <!-- http://ontology.dumontierlab.com/Amine -->

    <owl:Class rdf:about="&dl;Amine">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;AmineGroup"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/AmineGroup -->

    <owl:Class rdf:about="&dl;AmineGroup"/>
    


    <!-- http://ontology.dumontierlab.com/Atom -->

    <owl:Class rdf:about="&dl;Atom">
        <owl:disjointWith rdf:resource="&dl;OrganicCompound"/>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/CarbonAtom -->

    <owl:Class rdf:about="&dl;CarbonAtom"/>
    


    <!-- http://ontology.dumontierlab.com/CarbonGroup -->

    <owl:Class rdf:about="&dl;CarbonGroup"/>
    


    <!-- http://ontology.dumontierlab.com/CarbonylCompound -->

    <owl:Class rdf:about="&dl;CarbonylCompound">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;CarbonylGroup"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/CarbonylGroup -->

    <owl:Class rdf:about="&dl;CarbonylGroup"/>
    


    <!-- http://ontology.dumontierlab.com/CarboxylicAcid -->

    <owl:Class rdf:about="&dl;CarboxylicAcid">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;CarboxylicAcidGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/CarboxylicAcidGroup -->

    <owl:Class rdf:about="&dl;CarboxylicAcidGroup"/>
    


    <!-- http://ontology.dumontierlab.com/Compound -->

    <owl:Class rdf:about="&dl;Compound"/>
    


    <!-- http://ontology.dumontierlab.com/Ester -->

    <owl:Class rdf:about="&dl;Ester">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;EsterGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/EsterGroup -->

    <owl:Class rdf:about="&dl;EsterGroup"/>
    


    <!-- http://ontology.dumontierlab.com/Ether -->

    <owl:Class rdf:about="&dl;Ether">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;EtherGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/EtherGroup -->

    <owl:Class rdf:about="&dl;EtherGroup"/>
    


    <!-- http://ontology.dumontierlab.com/HalogenAtom -->

    <owl:Class rdf:about="&dl;HalogenAtom"/>
    


    <!-- http://ontology.dumontierlab.com/HalogenCompound -->

    <owl:Class rdf:about="&dl;HalogenCompound">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;HalogenAtom"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/Hydrocarbon -->

    <owl:Class rdf:about="&dl;Hydrocarbon">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;HydrogenAtom"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;CarbonAtom"/>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:allValuesFrom>
                            <owl:Class>
                                <owl:unionOf rdf:parseType="Collection">
                                    <rdf:Description rdf:about="&dl;HydrogenAtom"/>
                                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                                </owl:unionOf>
                            </owl:Class>
                        </owl:allValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/HydrogenAtom -->

    <owl:Class rdf:about="&dl;HydrogenAtom"/>
    


    <!-- http://ontology.dumontierlab.com/HydroxylGroup -->

    <owl:Class rdf:about="&dl;HydroxylGroup"/>
    


    <!-- http://ontology.dumontierlab.com/Imine -->

    <owl:Class rdf:about="&dl;Imine">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;ImineGroup"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/ImineGroup -->

    <owl:Class rdf:about="&dl;ImineGroup"/>
    


    <!-- http://ontology.dumontierlab.com/Ketone -->

    <owl:Class rdf:about="&dl;Ketone">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;KetoneGroup"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/KetoneGroup -->

    <owl:Class rdf:about="&dl;KetoneGroup"/>
    


    <!-- http://ontology.dumontierlab.com/OrganicCompound -->

    <owl:Class rdf:about="&dl;OrganicCompound">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;CarbonGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;Compound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/OrganicSulfurCompound -->

    <owl:Class rdf:about="&dl;OrganicSulfurCompound">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;OrganicSulfurGroup"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/OrganicSulfurGroup -->

    <owl:Class rdf:about="&dl;OrganicSulfurGroup"/>
    


    <!-- http://ontology.dumontierlab.com/PrimaryAmine -->

    <owl:Class rdf:about="&dl;PrimaryAmine">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;PrimaryAmineGroup"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/PrimaryAmineGroup -->

    <owl:Class rdf:about="&dl;PrimaryAmineGroup"/>
    


    <!-- http://ontology.dumontierlab.com/SecondaryAmine -->

    <owl:Class rdf:about="&dl;SecondaryAmine">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;SecondaryAmineGroup"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/SecondaryAmineGroup -->

    <owl:Class rdf:about="&dl;SecondaryAmineGroup"/>
    


    <!-- http://ontology.dumontierlab.com/TertiaryAmine -->

    <owl:Class rdf:about="&dl;TertiaryAmine">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicCompound"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasPart"/>
                        <owl:someValuesFrom rdf:resource="&dl;TertiaryAmineGroup"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/TertiaryAmineGroup -->

    <owl:Class rdf:about="&dl;TertiaryAmineGroup"/>
</rdf:RDF>
