public void visit(OWLObjectUnionOf owlOr) { try { // We can't do "nested" arg lists, so translate all operands // and put the pointers into a set first, then create the intersection Set<ClassPointer> operandPointers = new HashSet<ClassPointer>(); for (OWLDescription desc : owlOr.getOperands()) { desc.accept(this); operandPointers.add(getLastClassPointer()); } faCTPlusPlus.initArgList(); for (ClassPointer operandPointer : operandPointers) { faCTPlusPlus.addArg(operandPointer); } faCTPlusPlus.closeArgList(); lastClassPointer = faCTPlusPlus.getConceptOr(); } catch (Exception e) { throw new FaCTPlusPlusRuntimeException(e); } }
/** * A convenience method that translates an <code>OWLDescription</code> to the FaCT++ * representation of the description. * * @param description The description to be translated. * @return The corresponding FaCT++ representation of the description. */ public ClassPointer translate(OWLDescription description) throws OWLException { description.accept(this); return getLastClassPointer(); }