From: Ignazio P. <ipa...@gm...> - 2013-10-31 07:42:20
|
On 30 October 2013 22:49, Alessandro Solimando <ale...@gm...> wrote: > Dear owl-api list, > in my project I need to load ontologies and alignments between them. > > In order to sanity check the mappings I need to check if the mapped > classes do exist in the pair of input ontologies. > > To this aim, I am iterating on ontology.getClassesInSignature(), but I > am missing some classes, here is the code snippet: > > // computes nodes from concepts > Set<OWLClass> classes = o.getClassesInSignature(); > Iterator<OWLClass> itr = classes.iterator(); > OWLClass cls; > while(itr.hasNext()){ > cls = itr.next(); > createVertex(cls); > } > > While trying OAEI 2012 alignments (anatomy track) on human and mouse > ontologies (available here: > http://oaei.ontologymatching.org/2012/anatomy/anatomy-dataset.zip) I > found that none of the declared classes > with IRI prefix equals to > "http://www.geneontology.org/formats/oboInOwl#" were loaded, for > instance "http://www.geneontology.org/formats/oboInOwl#ObsoleteClass" > (in mouse.owl ontology). I cannot reproduce your issue. The output I get is: TestAlessandro.main() <http://www.geneontology.org/formats/oboInOwl#DbXref> OntologyID(OntologyIRI(<http://mouse.owl>)) TestAlessandro.main() <http://www.geneontology.org/formats/oboInOwl#SynonymType> OntologyID(OntologyIRI(<http://mouse.owl>)) TestAlessandro.main() <http://www.geneontology.org/formats/oboInOwl#Definition> OntologyID(OntologyIRI(<http://mouse.owl>)) TestAlessandro.main() <http://www.geneontology.org/formats/oboInOwl#ObsoleteClass> OntologyID(OntologyIRI(<http://mouse.owl>)) TestAlessandro.main() <http://www.geneontology.org/formats/oboInOwl#Synonym> OntologyID(OntologyIRI(<http://mouse.owl>)) TestAlessandro.main() <http://www.geneontology.org/formats/oboInOwl#Subset> OntologyID(OntologyIRI(<http://mouse.owl>)) for this code: public static void main(String[] args) throws OWLOntologyCreationException { OWLOntology o = OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(new File("anatomy-dataset/mouse.owl")); for (OWLOntology ont : o.getImportsClosure()) { for (OWLClass c : ont.getClassesInSignature()) { if (c.toString().contains("obo")) { System.out.println("TestAlessandro.main() " + c + " \t" + ont.getOntologyID()); } } } } This is with the latest snapshot and with 3.4.3. > > Even if I do not think it is an imported class, I tried to check also > imported ontologies (using getImports() method of OWLOntologyManager), > but with no effect. > > I tried with Protege 4.2 and it is actually able to load the classes > (I was not able to find the bit of code performing this loading, > though), so I know that I am missing something, but I am not able to > fix this. > > Of course I checked loading configuration and all the other classes > that seemed related to me, but without any luck. > > I am using OWL-API version 3.4.3 (that I would like to stick to, at > least for the moment). Do you have any specific reason for this? There have been bug fixes in the meantime that you'll be missing :-) HTH I. > > Do you have any suggestion? > > Thanks in advance, > Alessandro > > ------------------------------------------------------------------------------ > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > _______________________________________________ > Owlapi-developer mailing list > Owl...@li... > https://lists.sourceforge.net/lists/listinfo/owlapi-developer |