changepolarity.java
来自「Semantic Web Ontology Editor」· Java 代码 · 共 273 行
JAVA
273 行
package org.mindswap.swoop.utils.owlapi.diff;import java.net.URI;import java.util.Collection;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Vector;import org.semanticweb.owl.model.OWLException;import org.semanticweb.owl.model.change.AddAnnotationInstance;import org.semanticweb.owl.model.change.AddClassAxiom;import org.semanticweb.owl.model.change.AddDataPropertyInstance;import org.semanticweb.owl.model.change.AddDataPropertyRange;import org.semanticweb.owl.model.change.AddDataType;import org.semanticweb.owl.model.change.AddDomain;import org.semanticweb.owl.model.change.AddEntity;import org.semanticweb.owl.model.change.AddEnumeration;import org.semanticweb.owl.model.change.AddEquivalentClass;import org.semanticweb.owl.model.change.AddForeignEntity;import org.semanticweb.owl.model.change.AddImport;import org.semanticweb.owl.model.change.AddIndividualAxiom;import org.semanticweb.owl.model.change.AddIndividualClass;import org.semanticweb.owl.model.change.AddInverse;import org.semanticweb.owl.model.change.AddObjectPropertyInstance;import org.semanticweb.owl.model.change.AddObjectPropertyRange;import org.semanticweb.owl.model.change.AddPropertyAxiom;import org.semanticweb.owl.model.change.AddSuperClass;import org.semanticweb.owl.model.change.AddSuperProperty;import org.semanticweb.owl.model.change.ChangeVisitor;import org.semanticweb.owl.model.change.OntologyChange;import org.semanticweb.owl.model.change.RemoveAnnotationInstance;import org.semanticweb.owl.model.change.RemoveClassAxiom;import org.semanticweb.owl.model.change.RemoveDataPropertyInstance;import org.semanticweb.owl.model.change.RemoveDataPropertyRange;import org.semanticweb.owl.model.change.RemoveDataType;import org.semanticweb.owl.model.change.RemoveDomain;import org.semanticweb.owl.model.change.RemoveEntity;import org.semanticweb.owl.model.change.RemoveEnumeration;import org.semanticweb.owl.model.change.RemoveEquivalentClass;import org.semanticweb.owl.model.change.RemoveForeignEntity;import org.semanticweb.owl.model.change.RemoveImport;import org.semanticweb.owl.model.change.RemoveIndividualAxiom;import org.semanticweb.owl.model.change.RemoveIndividualClass;import org.semanticweb.owl.model.change.RemoveInverse;import org.semanticweb.owl.model.change.RemoveObjectPropertyInstance;import org.semanticweb.owl.model.change.RemoveObjectPropertyRange;import org.semanticweb.owl.model.change.RemovePropertyAxiom;import org.semanticweb.owl.model.change.RemoveSuperClass;import org.semanticweb.owl.model.change.RemoveSuperProperty;import org.semanticweb.owl.model.change.SetDeprecated;import org.semanticweb.owl.model.change.SetFunctional;import org.semanticweb.owl.model.change.SetInverseFunctional;import org.semanticweb.owl.model.change.SetLinkTarget;import org.semanticweb.owl.model.change.SetLogicalURI;import org.semanticweb.owl.model.change.SetOneToOne;import org.semanticweb.owl.model.change.SetSymmetric;import org.semanticweb.owl.model.change.SetTransitive;public class ChangePolarity implements ChangeVisitor { List changes; private ChangePolarity() { changes = new Vector(); } public static List invert(Collection changes) throws OWLException { ChangePolarity changer = new ChangePolarity(); for (Iterator iter = changes.iterator(); iter.hasNext(); ) { OntologyChange change = (OntologyChange) iter.next(); change.accept(changer); } return changer.changes; } public void visit(AddAnnotationInstance event) throws OWLException { changes.add(new RemoveAnnotationInstance(event.getOntology(), event.getSubject(), event.getProperty(), event.getContent(), event.getCause())); } public void visit(AddEntity event) throws OWLException { changes.add(new RemoveEntity(event.getOntology(), event.getEntity(), event.getCause())); } public void visit(AddDataType event) throws OWLException { changes.add(new RemoveDataType(event.getOntology(), event.getDatatype(), event.getCause())); } public void visit(RemoveEntity event) throws OWLException { changes.add(new AddEntity(event.getOntology(), event.getEntity(), event.getCause())); } public void visit(AddImport event) throws OWLException { changes.add(new RemoveImport(event.getOntology(), event.getImportOntology(), event.getCause())); } public void visit(AddIndividualAxiom event) throws OWLException { changes.add(new RemoveIndividualAxiom(event.getOntology(), event.getAxiom(), event.getCause())); } public void visit(AddClassAxiom event) throws OWLException { changes.add(new RemoveClassAxiom(event.getOntology(), event.getAxiom(), event.getCause())); } public void visit(AddPropertyAxiom event) throws OWLException { changes.add(new RemovePropertyAxiom(event.getOntology(), event.getAxiom(), event.getCause())); } public void visit(AddSuperClass event) throws OWLException { changes.add(new RemoveSuperClass(event.getOntology(), event.getOWLClass(), event.getDescription(), event.getCause())); } public void visit(AddSuperProperty event) throws OWLException { changes.add(new RemoveSuperProperty(event.getOntology(), event.getProperty(), event.getSuperProperty(), event.getCause())); } public void visit(AddIndividualClass event) throws OWLException { changes.add(new RemoveIndividualClass(event.getOntology(), event.getIndividual(), event.getDescription(), event.getCause())); } public void visit(AddEquivalentClass event) throws OWLException { changes.add(new RemoveEquivalentClass(event.getOntology(), event.getOWLClass(), event.getDescription(), event.getCause())); } public void visit(AddEnumeration event) throws OWLException { changes.add(new RemoveEnumeration(event.getOntology(), event.getOWLClass(), event.getEnumeration(), event.getCause())); } public void visit(AddDomain event) throws OWLException { changes.add(new RemoveDomain(event.getOntology(), event.getProperty(), event.getDomain(), event.getCause())); } public void visit(AddDataPropertyRange event) throws OWLException { changes.add(new RemoveDataPropertyRange(event.getOntology(), event.getProperty(), event.getRange(), event.getCause())); } public void visit(AddObjectPropertyRange event) throws OWLException { changes.add(new RemoveObjectPropertyRange(event.getOntology(), event.getProperty(), event.getRange(), event.getCause())); } public void visit(AddInverse event) throws OWLException { changes.add(new RemoveInverse(event.getOntology(), event.getProperty(), event.getInverse(), event.getCause())); } public void visit(SetFunctional event) throws OWLException { changes.add(new SetFunctional(event.getOntology(), event.getProperty(), !event.isFunctional(), event.getCause())); } public void visit(SetTransitive event) throws OWLException { changes.add(new SetTransitive(event.getOntology(), event.getProperty(), !event.isTransitive(), event.getCause())); } public void visit(SetSymmetric event) throws OWLException { changes.add(new SetSymmetric(event.getOntology(), event.getProperty(), !event.isSymmetric(), event.getCause())); } public void visit(SetInverseFunctional event) throws OWLException { changes.add(new SetInverseFunctional(event.getOntology(), event.getProperty(), !event.isInverseFunctional(), event.getCause())); } public void visit(SetOneToOne event) throws OWLException { changes.add(new SetOneToOne(event.getOntology(), event.getProperty(), !event.isOneToOne(), event.getCause())); } public void visit(SetDeprecated event) throws OWLException { changes.add(new SetDeprecated(event.getOntology(), event.getObject(), !event.isDeprecated(), event.getCause())); } public void visit(AddObjectPropertyInstance event) throws OWLException { changes.add(new RemoveObjectPropertyInstance(event.getOntology(), event.getSubject(), event.getProperty(), event.getObject(), event.getCause())); } public void visit(AddDataPropertyInstance event) throws OWLException { changes.add(new RemoveDataPropertyInstance(event.getOntology(), event.getSubject(), event.getProperty(), event.getObject(), event.getCause())); } public void visit(RemoveClassAxiom event) throws OWLException { changes.add(new AddClassAxiom(event.getOntology(), event.getAxiom(), event.getCause())); } public void visit(RemoveSuperClass event) throws OWLException { changes.add(new AddSuperClass(event.getOntology(), event.getOWLClass(), event.getDescription(), event.getCause())); } public void visit(RemoveEquivalentClass event) throws OWLException { changes.add(new AddEquivalentClass(event.getOntology(), event.getOWLClass(), event.getDescription(), event.getCause())); } public void visit(RemoveEnumeration event) throws OWLException { changes.add(new AddEnumeration(event.getOntology(), event.getOWLClass(), event.getEnumeration(), event.getCause())); } public void visit(SetLogicalURI event) throws OWLException { // Err, no reverse of this. changes.add(event); } public void visit(RemoveDomain event) throws OWLException { changes.add(new AddDomain(event.getOntology(), event.getProperty(), event.getDomain(), event.getCause())); } public void visit(RemoveDataPropertyRange event) throws OWLException { changes.add(new AddDataPropertyRange(event.getOntology(), event.getProperty(), event.getRange(), event.getCause())); } public void visit(RemoveObjectPropertyRange event) throws OWLException { changes.add(new AddObjectPropertyRange(event.getOntology(), event.getProperty(), event.getRange(), event.getCause())); } public void visit(RemovePropertyAxiom event) throws OWLException { changes.add(new AddPropertyAxiom(event.getOntology(), event.getAxiom(), event.getCause())); } public void visit(RemoveIndividualAxiom event) throws OWLException { changes.add(new AddIndividualAxiom(event.getOntology(), event.getAxiom(), event.getCause())); } public void visit(RemoveDataPropertyInstance event) throws OWLException { changes.add(new AddDataPropertyInstance(event.getOntology(), event.getSubject(), event.getProperty(), event.getObject(), event.getCause())); } public void visit(RemoveObjectPropertyInstance event) throws OWLException { changes.add(new AddObjectPropertyInstance(event.getOntology(), event.getSubject(), event.getProperty(), event.getObject(), event.getCause())); } public void visit(RemoveSuperProperty event) throws OWLException { changes.add(new AddSuperProperty(event.getOntology(), event.getProperty(), event.getSuperProperty(), event.getCause())); } public void visit(RemoveAnnotationInstance event) throws OWLException { changes.add(new AddAnnotationInstance(event.getOntology(), event.getSubject(), event.getProperty(), event.getContent(), event.getCause())); } public void visit(RemoveImport event) throws OWLException { changes.add(new AddImport(event.getOntology(), event.getImportOntology(), event.getCause())); } public void visit(RemoveIndividualClass event) throws OWLException { changes.add(new AddIndividualClass(event.getOntology(), event.getIndividual(), event.getDescription(), event.getCause())); } public void visit(RemoveInverse event) throws OWLException { changes.add(new AddInverse(event.getOntology(), event.getProperty(), event.getInverse(), event.getCause())); } public void visit(SetLinkTarget target) throws OWLException { // No inverse changes.add(target); } public void visit(AddForeignEntity entity) throws OWLException { changes.add(new RemoveForeignEntity(entity.getOntology(), entity.getForeignEntity(), entity.getCause())); } public void visit(RemoveForeignEntity entity) throws OWLException { for (Iterator iter = entity.getOntology().getForeignEntities().entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry) iter.next(); if (entity.getForeignEntity().equals(entry.getValue())) { changes.add(new AddForeignEntity(entity.getOntology(), entity.getForeignEntity(), (URI) entry.getKey(), entity.getCause())); } } } public void visit(RemoveDataType event) throws OWLException { changes.add(new AddDataType(event.getOntology(), event.getDatatype(), event.getCause())); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?