public void visit(OWLObjectOneOf desc) { try { faCTPlusPlus.initArgList(); for (OWLIndividual ind : desc.getIndividuals()) { ind.accept(this); faCTPlusPlus.addArg(getLastIndividualPointer()); } faCTPlusPlus.closeArgList(); lastClassPointer = faCTPlusPlus.getOneOf(); } catch (Exception e) { throw new FaCTPlusPlusRuntimeException(e); } }
private void addSubClassAxiomForNominalSubstitute(OWLObjectOneOf desc, OWLClass nominalClass) { Set<OWLDescription> typesOfIndividuals = new HashSet<OWLDescription>(); for (OWLIndividual ind : desc.getIndividuals()) { typesOfIndividuals.addAll(ind.getTypes(this.ontologyCore)); } if (typesOfIndividuals.size() == 1) { OWLDescription typeOfIndividual = null; for (OWLDescription typeOfInd : typesOfIndividuals) { typeOfIndividual = typeOfInd; } OWLSubClassAxiom subClassAxiom = this.factory.getOWLSubClassAxiom(nominalClass, typeOfIndividual); this.rebuiltAxioms.add(subClassAxiom); } if (typesOfIndividuals.size() > 1) { OWLObjectUnionOf unionClass = this.factory.getOWLObjectUnionOf(typesOfIndividuals); OWLSubClassAxiom subClassAxiom = this.factory.getOWLSubClassAxiom(nominalClass, unionClass); this.rebuiltAxioms.add(subClassAxiom); } }