1) Not generating valid OWL for annotations - i've seen it for DbXref, Synonym, Definition

    <oboInOwl:hasRelatedSynonym>
      <oboInOwl:Synonym>
        <rdfs:label xml:lang="en">xylem mother cell</rdfs:label>
      </oboInOwl:Synonym>
    </oboInOwl:hasRelatedSynonym>

i see that you're asserting 
  <owl:Class rdf:about="http://www.geneontology.org/formats/oboInOwl#DbXref"/>
  <owl:Class rdf:about="http://www.geneontology.org/formats/oboInOwl#Definition"/>
  <owl:Class rdf:about="http://www.geneontology.org/formats/oboInOwl#Subset"/>
  <owl:Class rdf:about="http://www.geneontology.org/formats/oboInOwl#Synonym"/>
  <owl:Class rdf:about="http://www.geneontology.org/formats/oboInOwl#SynonymType"/>
  <owl:Class rdf:about="http://www.geneontology.org/formats/oboInOwl#ObsoleteClass"/>

but you'll have to name the individuals unless you make explicit class expressions, although i've never tried to build something with annotations, and not having looked into it, i don't know if it will work.


2) Do not include "Obsolete Class"/"Obsolete Property" in the OWL ontology. If you think it is necessary - then use the proper OWL class assertions

http://www.w3.org/TR/owl-ref/#Deprecation

-=Michel=-


--
Michel Dumontier
Assistant Professor of Bioinformatics
http://dumontierlab.com