<?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 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#" >
    <!ENTITY dl "http://ontology.dumontierlab.com/" >
]>


<rdf:RDF xmlns="http://ontology.dumontierlab.com/organic-functional-group-complex"
     xml:base="http://ontology.dumontierlab.com/organic-functional-group-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:dl="http://ontology.dumontierlab.com/"
     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#">
    <owl:Ontology rdf:about="">
        <dc:description rdf:datatype="&xsd;string"
            >Complex class descriptions for the realization of organic functional groups.</dc:description>
        <dc:language rdf:datatype="&xsd;string">en</dc:language>
        <owl:versionInfo rdf:datatype="&xsd;string">2.0</owl:versionInfo>
        <dc:creator rdf:datatype="&xsd;string"
            >Michel Dumontier</dc:creator>
        <dc:title rdf:datatype="&xsd;string"
            >Organic Functional Group Ontology (complex)</dc:title>
        <dc:publisher rdf:datatype="&xsd;string">Dumontier Lab</dc:publisher>
        <dc:format rdf:datatype="&xsd;string"
            >application/rdf+xml</dc:format>
        <dc:date rdf:datatype="&xsd;date">2007-10-01</dc:date>
        <owl:imports rdf:resource="http://ontology.dumontierlab.com/annotation"/>
        <owl:imports rdf:resource="http://ontology.dumontierlab.com/atom-common"/>
        <owl:imports rdf:resource="http://ontology.dumontierlab.com/organic-functional-group-primitive"/>
    </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;creator"/>
    <owl:AnnotationProperty rdf:about="&dc;format"/>
    


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

    


    <!-- http://ontology.dumontierlab.com/atom-primitive#hasAromaticBondWith -->

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


    <!-- http://ontology.dumontierlab.com/atom-primitive#hasBondWith -->

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


    <!-- http://ontology.dumontierlab.com/atom-primitive#hasDoubleBondWith -->

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


    <!-- http://ontology.dumontierlab.com/atom-primitive#hasSingleBondWith -->

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


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

    


    <!-- http://ontology.dumontierlab.com/atom-primitive#BromineAtom -->

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


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

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


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

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


    <!-- http://ontology.dumontierlab.com/atom-primitive#HeteroAtom -->

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


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

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


    <!-- http://ontology.dumontierlab.com/atom-primitive#NitrogenAtom -->

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


    <!-- http://ontology.dumontierlab.com/atom-primitive#OxygenAtom -->

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


    <!-- http://ontology.dumontierlab.com/atom-primitive#PhosphorusAtom -->

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


    <!-- http://ontology.dumontierlab.com/atom-primitive#SulfurAtom -->

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


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#AcylBromideGroup -->

    <owl:Class rdf:about="&dl;AcylBromideGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;BromineAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OrganicGroup"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#AcylGroup -->

    <owl:Class rdf:about="&dl;AcylGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OrganicGroup"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#AcylHalideGroup -->

    <owl:Class rdf:about="&dl;AcylHalideGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OrganicGroup"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;HalogenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#AldehydeGroup -->

    <owl:Class rdf:about="&dl;AldehydeGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;HydrogenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#Alkyl -->

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


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#AmideGroup -->

    <owl:Class rdf:about="&dl;AmideGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;NitrogenAtom"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;OxygenAtom"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#AmineGroup -->

    <owl:Class rdf:about="&dl;AmineGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;NitrogenAtom"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;CarbonAtom"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#Aryl -->

    <owl:Class rdf:about="&dl;Aryl">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasAromaticBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;CarbonAtom"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#CarbonGroup -->

    <owl:Class rdf:about="&dl;CarbonGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;Aryl"/>
                    <rdf:Description rdf:about="&dl;Alkyl"/>
                </owl:unionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#CarbonylGroup -->

    <owl:Class rdf:about="&dl;CarbonylGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#CarboxylicAcidGroup -->

    <owl:Class rdf:about="&dl;CarboxylicAcidGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicGroup"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                        <owl:someValuesFrom>
                                            <owl:Class>
                                                <owl:intersectionOf rdf:parseType="Collection">
                                                    <owl:Restriction>
                                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                                        <owl:someValuesFrom rdf:resource="&dl;HydrogenAtom"/>
                                                    </owl:Restriction>
                                                    <rdf:Description rdf:about="&dl;OxygenAtom"/>
                                                </owl:intersectionOf>
                                            </owl:Class>
                                        </owl:someValuesFrom>
                                    </owl:Restriction>
                                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;OxygenAtom"/>
                                    </owl:Restriction>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#EsterGroup -->

    <owl:Class rdf:about="&dl;EsterGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class>
                        <owl:intersectionOf rdf:parseType="Collection">
                            <owl:Restriction>
                                <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                            </owl:Restriction>
                            <rdf:Description rdf:about="&dl;CarbonAtom"/>
                        </owl:intersectionOf>
                    </owl:Class>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#EtherGroup -->

    <owl:Class rdf:about="&dl;EtherGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;Alkyl"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OxygenAtom"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#HydroxylGroup -->

    <owl:Class rdf:about="&dl;HydroxylGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;HydrogenAtom"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OxygenAtom"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#ImineGroup -->

    <owl:Class rdf:about="&dl;ImineGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <rdf:Description rdf:about="&dl;CarbonAtom"/>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;NitrogenAtom"/>
                                    </owl:Restriction>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicGroup"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#KetoneGroup -->

    <owl:Class rdf:about="&dl;KetoneGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                    </owl:Restriction>
                    <owl:Class>
                        <owl:intersectionOf rdf:parseType="Collection">
                            <owl:Restriction>
                                <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                <owl11:onClass rdf:resource="&dl;Alkyl"/>
                                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
                            </owl:Restriction>
                            <rdf:Description rdf:about="&dl;CarbonAtom"/>
                        </owl:intersectionOf>
                    </owl:Class>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#MethylGroup -->

    <owl:Class rdf:about="&dl;MethylGroup">
        <rdfs:subClassOf rdf:resource="&dl;CarbonGroup"/>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#OrganicGroup -->

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


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#OrganicNitrogenGroup -->

    <owl:Class rdf:about="&dl;OrganicNitrogenGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;NitrogenAtom"/>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;OrganicGroup"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#OrganicPhosphateGroup -->

    <owl:Class rdf:about="&dl;OrganicPhosphateGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicGroup"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;PhosphorusAtom"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="&dl;OrganicGroup"/>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#OrganicSulfurGroup -->

    <owl:Class rdf:about="&dl;OrganicSulfurGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;OrganicGroup"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;SulfurAtom"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#PrimaryAmineGroup -->

    <owl:Class rdf:about="&dl;PrimaryAmineGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom rdf:resource="&dl;CarbonAtom"/>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;HydrogenAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;NitrogenAtom"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#SecondaryAmineGroup -->

    <owl:Class rdf:about="&dl;SecondaryAmineGroup">
        <rdfs:subClassOf rdf:resource="&dl;CarbonGroup"/>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#SulfinicAcidGeneralGroup -->

    <owl:Class rdf:about="&dl;SulfinicAcidGeneralGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;CarbonGroup"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <rdf:Description rdf:about="&dl;SulfurAtom"/>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;OxygenAtom"/>
                                    </owl:Restriction>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                                    </owl:Restriction>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#SulfonicAcidDerivativeGroup -->

    <owl:Class rdf:about="&dl;SulfonicAcidDerivativeGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;HeteroAtom"/>
                                    </owl:Restriction>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;OxygenAtom"/>
                                    </owl:Restriction>
                                    <owl:Class>
                                        <owl:intersectionOf rdf:parseType="Collection">
                                            <rdf:Description rdf:about="&dl;SulfurAtom"/>
                                            <owl:Restriction>
                                                <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                                <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                                                <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>
                                            </owl:Restriction>
                                        </owl:intersectionOf>
                                    </owl:Class>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;CarbonGroup"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#SulfonicAcidGroup -->

    <owl:Class rdf:about="&dl;SulfonicAcidGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                        <owl:someValuesFrom>
                                            <owl:Class>
                                                <owl:intersectionOf rdf:parseType="Collection">
                                                    <owl:Restriction>
                                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                                        <owl:someValuesFrom rdf:resource="&dl;HydrogenAtom"/>
                                                    </owl:Restriction>
                                                    <rdf:Description rdf:about="&dl;OxygenAtom"/>
                                                </owl:intersectionOf>
                                            </owl:Class>
                                        </owl:someValuesFrom>
                                    </owl:Restriction>
                                    <rdf:Description rdf:about="&dl;SulfurAtom"/>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;OxygenAtom"/>
                                    </owl:Restriction>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                                        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>
                                    </owl:Restriction>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;CarbonGroup"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#SulfonylHalideGroup -->

    <owl:Class rdf:about="&dl;SulfonylHalideGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;CarbonGroup"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;HalogenAtom"/>
                                    </owl:Restriction>
                                    <rdf:Description rdf:about="&dl;SulfurAtom"/>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;OxygenAtom"/>
                                    </owl:Restriction>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                                        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>
                                    </owl:Restriction>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#SulfoxideGroup -->

    <owl:Class rdf:about="&dl;SulfoxideGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;CarbonGroup"/>
                                    </owl:Restriction>
                                    <rdf:Description rdf:about="&dl;SulfurAtom"/>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;OxygenAtom"/>
                                    </owl:Restriction>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                        <owl11:onClass rdf:resource="&dl;CarbonGroup"/>
                                        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>
                                    </owl:Restriction>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasDoubleBondWith"/>
                                        <owl11:onClass rdf:resource="&dl;OxygenAtom"/>
                                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
                                    </owl:Restriction>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;CarbonGroup"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#TertiaryAmineGroup -->

    <owl:Class rdf:about="&dl;TertiaryAmineGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl11:onClass rdf:resource="&dl;CarbonAtom"/>
                        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">3</owl:cardinality>
                    </owl:Restriction>
                    <rdf:Description rdf:about="&dl;NitrogenAtom"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    


    <!-- http://ontology.dumontierlab.com/organic-functional-group-primitive#ThiolGroup -->

    <owl:Class rdf:about="&dl;ThiolGroup">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="&dl;CarbonGroup"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <rdf:Description rdf:about="&dl;SulfurAtom"/>
                                    <owl:Restriction>
                                        <owl:onProperty rdf:resource="&dl;hasSingleBondWith"/>
                                        <owl:someValuesFrom rdf:resource="&dl;HydrogenAtom"/>
                                    </owl:Restriction>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>
    
</rdf:RDF>
