private void translateState(State state, OWLNamedIndividual owlState) { this.stateToOWLMap.put(state, owlState); this.addClass(owlState, this.factory.getOWLClass(IRI.create(CDAO.STANDARD_STATE))); if (StringUtils.isNotBlank(state.getLabel())) { final OWLLiteral label = this.factory.getOWLLiteral(state.getLabel()); this.addAnnotation(OWLRDFVocabulary.RDFS_LABEL.getIRI(), owlState.getIRI(), label); } if (StringUtils.isNotBlank(state.getComment())) { final OWLLiteral comment = factory.getOWLLiteral(state.getComment()); this.addAnnotation(OWLRDFVocabulary.RDFS_COMMENT.getIRI(), owlState.getIRI(), comment); } int phenotypeIndex = 0; final OWLObjectProperty denotes = this.factory.getOWLObjectProperty(IRI.create(IAO.DENOTES)); for (Phenotype phenotype : state.getPhenotypes()) { phenotypeIndex++; final IRI phenotypeIRI = IRI.create(owlState.getIRI().toURI().toString() + "/phenotype/" + phenotypeIndex); final OWLClass owlPhenotype = this.factory.getOWLClass(phenotypeIRI); final OWLObjectAllValuesFrom denotesOnlyPhenotype = this.factory.getOWLObjectAllValuesFrom(denotes, owlPhenotype); this.ontologyManager.addAxiom( ontology, this.factory.getOWLClassAssertionAxiom(denotesOnlyPhenotype, owlState)); this.translatePhenotype(phenotype, owlPhenotype); } }