/** * Creates a composite change to split subclass axioms into multiple more * fine grained subclass axioms. * * @param ontologies The ontologies whose subclass axioms should be processed. * @param dataFactory The data factory which should be used to create new axioms. */ public SplitSubClassAxioms(Collection<OWLOntology> ontologies, OWLDataFactory dataFactory) { super(dataFactory); ontologies.forEach(o -> o.axioms(AxiomType.SUBCLASS_OF).forEach(ax -> split(o, ax))); }
protected void split(OWLOntology o, OWLSubClassOfAxiom ax) { ConjunctSplitter splitter = new ConjunctSplitter(); ax.getSuperClass().accept(splitter); if (splitter.result.size() > 1) { addChange(new RemoveAxiom(o, ax)); splitter.result .forEach(desc -> addChange( new AddAxiom(o, df.getOWLSubClassOfAxiom(ax.getSubClass(), desc)))); } }
public void actionPerformed(ActionEvent e) { SplitSubClassAxioms change = new SplitSubClassAxioms(getOWLModelManager().getActiveOntologies(), getOWLDataFactory()); getOWLModelManager().applyChanges(change.getChanges()); } }
protected void split(OWLOntology o, OWLSubClassOfAxiom ax) { ConjunctSplitter splitter = new ConjunctSplitter(); ax.getSuperClass().accept(splitter); if (splitter.result.size() > 1) { addChange(new RemoveAxiom(o, ax)); splitter.result .forEach(desc -> addChange( new AddAxiom(o, df.getOWLSubClassOfAxiom(ax.getSubClass(), desc)))); } }
public void actionPerformed(ActionEvent e) { SplitSubClassAxioms change = new SplitSubClassAxioms(getOWLModelManager().getActiveOntologies(), getOWLDataFactory()); getOWLModelManager().applyChanges(change.getChanges()); } }
protected void split(OWLOntology o, OWLSubClassOfAxiom ax) { ConjunctSplitter splitter = new ConjunctSplitter(); ax.getSuperClass().accept(splitter); if (splitter.result.size() > 1) { addChange(new RemoveAxiom(o, ax)); splitter.result .forEach(desc -> addChange( new AddAxiom(o, df.getOWLSubClassOfAxiom(ax.getSubClass(), desc)))); } }
/** * Creates a composite change to split subclass axioms into multiple more * fine grained subclass axioms. * * @param ontologies The ontologies whose subclass axioms should be processed. * @param dataFactory The data factory which should be used to create new axioms. */ public SplitSubClassAxioms(Collection<OWLOntology> ontologies, OWLDataFactory dataFactory) { super(dataFactory); ontologies.forEach(o -> o.axioms(AxiomType.SUBCLASS_OF).forEach(ax -> split(o, ax))); }
/** * Creates a composite change to split subclass axioms into multiple more * fine grained subclass axioms. * * @param ontologies The ontologies whose subclass axioms should be processed. * @param dataFactory The data factory which should be used to create new axioms. */ public SplitSubClassAxioms(Collection<OWLOntology> ontologies, OWLDataFactory dataFactory) { super(dataFactory); ontologies.forEach(o -> o.axioms(AxiomType.SUBCLASS_OF).forEach(ax -> split(o, ax))); }