public void visit(OWLEquivalentObjectPropertiesAxiom axiom) { for (OWLObjectPropertyExpression propA : axiom.getProperties()) { for (OWLObjectPropertyExpression propB : axiom.getProperties()) { if (!propA.equals(propB)) { addChildParent(propA, propB, axiom); } } } }
public Set<OWLObjectProperty> getObjectPropertyEquivalents(OWLObjectProperty prop) { Set<OWLObjectProperty> propSet = new HashSet<OWLObjectProperty>(); for (OWLEquivalentObjectPropertiesAxiom eopa : _ontology.getEquivalentObjectPropertiesAxioms(prop)) { for (OWLObjectPropertyExpression ope : eopa.getObjectPropertiesInSignature()) { if (!ope.equals(prop)) propSet.add(ope.asOWLObjectProperty()); } } return propSet; }
@Override public void visit(OWLEquivalentObjectPropertiesAxiom axiom) { constructs.add(H); for (OWLObjectPropertyExpression prop : axiom.getProperties()) { prop.accept(this); } }
@Override public void visit(OWLEquivalentObjectPropertiesAxiom axiom) { for (Iterator<OWLObjectPropertyExpression> it = axiom.getProperties().iterator(); it.hasNext(); ) { it.next().accept(this); if (it.hasNext()) { writeSpace(); write(EQUIV); writeSpace(); } } }
public Set<OWLAxiom> write(OWLObjectPropertyExpression property) { Set<OWLAxiom> axioms = new HashSet<OWLAxiom>(); axioms.addAll(writeEntityStart(OBJECT_PROPERTY, property)); if (!isFiltered(AxiomType.SUB_OBJECT_PROPERTY)) { for (OWLOntology ontology : getOntologies()) { SectionMap properties = new SectionMap(); for (OWLSubObjectPropertyOfAxiom ax : ontology.getObjectSubPropertyAxiomsForSubProperty(property)) { if (isDisplayed(ax)) { properties.add(ax.getSuperProperty(), ax); axioms.add(ax); } } writeSection(SUB_PROPERTY_OF, properties, ",", true, ontology); } if (renderExtensions) { for (OWLOntology ontology : getOntologies()) { SectionMap properties = new SectionMap(); for (OWLSubObjectPropertyOfAxiom ax : ontology.getObjectSubPropertyAxiomsForSuperProperty(property)) { if (isDisplayed(ax)) { properties.add(ax.getSubProperty(), ax); axioms.add(ax); } } writeSection(SUPER_PROPERTY_OF, properties, ",", true, ontology); } } } if (!isFiltered(AxiomType.EQUIVALENT_OBJECT_PROPERTIES)) { for (OWLOntology ontology : getOntologies()) { SectionMap properties = new SectionMap(); for (OWLEquivalentObjectPropertiesAxiom ax : ontology.getEquivalentObjectPropertiesAxioms(property)) { if (isDisplayed(ax) && ax.getProperties().size() == 2) { Set<OWLObjectPropertyExpression> props = ax.getPropertiesMinus(property); properties.add(props.iterator().next(), ax); axioms.add(ax); } } writeSection(EQUIVALENT_TO, properties, ",", true, ontology); } } if (!isFiltered(AxiomType.DISJOINT_OBJECT_PROPERTIES)) { for (OWLOntology ontology : getOntologies()) { SectionMap properties = new SectionMap(); for (OWLDisjointObjectPropertiesAxiom ax : ontology.getDisjointObjectPropertiesAxioms(property)) { if (ax.getProperties().size() == 2 && isDisplayed(ax)) { Set<OWLObjectPropertyExpression> props = ax.getPropertiesMinus(property); properties.add(props.iterator().next(), ax); axioms.add(ax); } } writeSection(DISJOINT_WITH, properties, ",", true, ontology); } } if (!isFiltered(AxiomType.SUB_PROPERTY_CHAIN_OF)) { for (OWLOntology ontology : getOntologies()) { for (OWLSubPropertyChainOfAxiom ax : ontology.getAxioms(AxiomType.SUB_PROPERTY_CHAIN_OF)) { if (ax.getSuperProperty().equals(property)) { if (isDisplayed(ax)) { SectionMap map = new SectionMap(); map.add(ax.getPropertyChain(), ax); writeSection(SUB_PROPERTY_CHAIN, map, " o ", false, ontology); axioms.add(ax); } } } } } for (OWLOntology ontology : getOntologies()) { SectionMap characteristics = new SectionMap(); if (!isFiltered(AxiomType.FUNCTIONAL_OBJECT_PROPERTY)) { for (OWLFunctionalObjectPropertyAxiom ax : ontology.getFunctionalObjectPropertyAxioms(property)) { if (isDisplayed(ax)) { characteristics.add(FUNCTIONAL.toString(), ax); axioms.add(ax); } } } if (!isFiltered(AxiomType.INVERSE_FUNCTIONAL_OBJECT_PROPERTY)) { for (OWLAxiom ax : ontology.getInverseFunctionalObjectPropertyAxioms(property)) { if (isDisplayed(ax)) { characteristics.add(INVERSE_FUNCTIONAL.toString(), ax); axioms.add(ax); } } } if (!isFiltered(AxiomType.SYMMETRIC_OBJECT_PROPERTY)) { for (OWLAxiom ax : ontology.getSymmetricObjectPropertyAxioms(property)) { if (isDisplayed(ax)) { characteristics.add(SYMMETRIC.toString(), ax); axioms.add(ax); } } } if (!isFiltered(AxiomType.TRANSITIVE_OBJECT_PROPERTY)) { for (OWLAxiom ax : ontology.getTransitiveObjectPropertyAxioms(property)) { if (isDisplayed(ax)) { characteristics.add(TRANSITIVE.toString(), ax); axioms.add(ax); } } } if (!isFiltered(AxiomType.REFLEXIVE_OBJECT_PROPERTY)) { for (OWLAxiom ax : ontology.getReflexiveObjectPropertyAxioms(property)) { if (isDisplayed(ax)) { characteristics.add(REFLEXIVE.toString(), ax); axioms.add(ax); } } } if (!isFiltered(AxiomType.IRREFLEXIVE_OBJECT_PROPERTY)) { for (OWLAxiom ax : ontology.getIrreflexiveObjectPropertyAxioms(property)) { if (isDisplayed(ax)) { characteristics.add(IRREFLEXIVE.toString(), ax); axioms.add(ax); } } } if (!isFiltered(AxiomType.ASYMMETRIC_OBJECT_PROPERTY)) { for (OWLAxiom ax : ontology.getAsymmetricObjectPropertyAxioms(property)) { if (isDisplayed(ax)) { characteristics.add(ASYMMETRIC.toString(), ax); axioms.add(ax); } } } writeSection(CHARACTERISTICS, characteristics, ",", true, ontology); } if (!isFiltered(AxiomType.OBJECT_PROPERTY_DOMAIN)) { for (OWLOntology ontology : getOntologies()) { SectionMap expressions = new SectionMap(); for (OWLObjectPropertyDomainAxiom ax : ontology.getObjectPropertyDomainAxioms(property)) { if (isDisplayed(ax)) { expressions.add(ax.getDomain(), ax); axioms.add(ax); } } writeSection(DOMAIN, expressions, ",", true, ontology); } } if (!isFiltered(AxiomType.OBJECT_PROPERTY_RANGE)) { for (OWLOntology ontology : getOntologies()) { SectionMap expressions = new SectionMap(); for (OWLObjectPropertyRangeAxiom ax : ontology.getObjectPropertyRangeAxioms(property)) { if (isDisplayed(ax)) { expressions.add(ax.getRange(), ax); axioms.add(ax); } } writeSection(RANGE, expressions, ",", true, ontology); } } if (!isFiltered(AxiomType.INVERSE_OBJECT_PROPERTIES)) { for (OWLOntology ontology : getOntologies()) { Set<OWLObjectPropertyExpression> properties = new TreeSet<OWLObjectPropertyExpression>(); for (OWLInverseObjectPropertiesAxiom ax : ontology.getInverseObjectPropertyAxioms(property)) { if (isDisplayed(ax)) { if (ax.getFirstProperty().equals(property)) { properties.add(ax.getSecondProperty()); } else { properties.add(ax.getFirstProperty()); } axioms.add(ax); } } writeSection(INVERSE_OF, properties, ",", true, ontology); } } if (!isFiltered(AxiomType.SWRL_RULE)) { for (OWLOntology ontology : getOntologies()) { Set<OWLAxiom> rules = new HashSet<OWLAxiom>(); for (SWRLRule rule : ontology.getAxioms(AxiomType.SWRL_RULE)) { if (isDisplayed(rule)) { for (SWRLAtom atom : rule.getHead()) { if (atom.getPredicate().equals(property)) { rules.add(rule); // XXX attempted patching writeSection(RULE, rules, ",", true, ontology); break; } } } } } } writeEntitySectionEnd(OBJECT_PROPERTY.toString()); return axioms; }
public void writeOntology() throws OWLRendererException { if (ontologies.size() != 1) { throw new OWLRuntimeException("Can only render one ontology"); } OWLOntology ontology = getOntologies().iterator().next(); writePrefixMap(); writeNewLine(); writeOntologyHeader(ontology); for (OWLAnnotationProperty prop : ontology.getAnnotationPropertiesInSignature()) { write(prop); } for (OWLDatatype datatype : ontology.getDatatypesInSignature()) { write(datatype); } for (OWLObjectProperty prop : ontology.getObjectPropertiesInSignature()) { write(prop); OWLObjectPropertyExpression invProp = prop.getInverseProperty(); if (!ontology.getAxioms(invProp).isEmpty()) { write(invProp); } } for (OWLDataProperty prop : ontology.getDataPropertiesInSignature()) { write(prop); } for (OWLClass cls : ontology.getClassesInSignature()) { write(cls); } for (OWLNamedIndividual ind : ontology.getIndividualsInSignature()) { write(ind); } for (OWLAnonymousIndividual ind : ontology.getReferencedAnonymousIndividuals()) { write(ind); } // Nary disjoint classes axioms event = new RendererEvent(this, ontology); for (OWLDisjointClassesAxiom ax : ontology.getAxioms(AxiomType.DISJOINT_CLASSES)) { if (ax.getClassExpressions().size() > 2) { SectionMap map = new SectionMap(); map.add(ax.getClassExpressions(), ax); writeSection(DISJOINT_CLASSES, map, ",", false, ontology); } } // Nary equivalent classes axioms for (OWLEquivalentClassesAxiom ax : ontology.getAxioms(AxiomType.EQUIVALENT_CLASSES)) { if (ax.getClassExpressions().size() > 2) { SectionMap map = new SectionMap(); map.add(ax.getClassExpressions(), ax); writeSection(EQUIVALENT_CLASSES, map, ",", false, ontology); } } // Nary disjoint properties for (OWLDisjointObjectPropertiesAxiom ax : ontology.getAxioms(AxiomType.DISJOINT_OBJECT_PROPERTIES)) { if (ax.getProperties().size() > 2) { SectionMap map = new SectionMap(); map.add(ax.getProperties(), ax); writeSection(DISJOINT_PROPERTIES, map, ",", false, ontology); } } // Nary equivlant properties for (OWLEquivalentObjectPropertiesAxiom ax : ontology.getAxioms(AxiomType.EQUIVALENT_OBJECT_PROPERTIES)) { if (ax.getProperties().size() > 2) { SectionMap map = new SectionMap(); map.add(ax.getProperties(), ax); writeSection(EQUIVALENT_PROPERTIES, map, ",", false, ontology); } } // Nary disjoint properties for (OWLDisjointDataPropertiesAxiom ax : ontology.getAxioms(AxiomType.DISJOINT_DATA_PROPERTIES)) { if (ax.getProperties().size() > 2) { SectionMap map = new SectionMap(); map.add(ax.getProperties(), ax); writeSection(DISJOINT_PROPERTIES, map, ",", false, ontology); } } // Nary equivalent properties for (OWLEquivalentDataPropertiesAxiom ax : ontology.getAxioms(AxiomType.EQUIVALENT_DATA_PROPERTIES)) { if (ax.getProperties().size() > 2) { SectionMap map = new SectionMap(); map.add(ax.getProperties(), ax); writeSection(EQUIVALENT_PROPERTIES, map, ",", false, ontology); } } // Nary different individuals for (OWLDifferentIndividualsAxiom ax : ontology.getAxioms(AxiomType.DIFFERENT_INDIVIDUALS)) { if (ax.getIndividuals().size() > 2) { SectionMap map = new SectionMap(); map.add(ax.getIndividuals(), ax); writeSection(DIFFERENT_INDIVIDUALS, map, ",", false, ontology); } } for (SWRLRule rule : ontology.getAxioms(AxiomType.SWRL_RULE)) { writeSection(RULE, Collections.singleton(rule), ", ", false); } flush(); }
@Override public void visit(OWLEquivalentObjectPropertiesAxiom axiom) { Set<OWLObjectPropertyExpression> props = duplicateSet(axiom.getProperties()); obj = dataFactory.getOWLEquivalentObjectPropertiesAxiom(props, duplicateAxiomAnnotations(axiom)); }
@Override public void visit(OWLEquivalentObjectPropertiesAxiom axiom) { handleObject(axiom); process(axiom.getProperties()); }
public void visit(OWLEquivalentObjectPropertiesAxiom axiom) { type = AXIOM_TYPE_INDEX_BASE + axiom.getAxiomType().getIndex(); }
public void visit(OWLEquivalentObjectPropertiesAxiom axiom) { for (OWLObjectPropertyExpression prop : axiom.getProperties()) { prop.accept(this); } processAxiomAnnotations(axiom); }