else if (superProperty.isOWLTopDataProperty()) return true; else if (subProperty.isOWLBottomDataProperty()) return true; else { Set<OWLDataPropertyExpression> superPropertySubProperties = subPropertyAxioms.stream(). filter(sdpa -> sdpa.getSuperProperty().equals(superProperty)).map(sdpa -> sdpa.getSubProperty()) .filter(subP -> !subP.isOWLBottomDataProperty() && !subP.equals(subProperty) && !subP.equals(superProperty)) .collect(Collectors.toSet()); Set<OWLDataPropertyExpression> subPropertySuperProperties = subPropertyAxioms.stream()
@Override public void visit(OWLSubDataPropertyOfAxiom axiom) { OWLDataPropertyExpression subDataProperty=axiom.getSubProperty(); checkTopDataPropertyUse(subDataProperty,axiom); OWLDataPropertyExpression superDataProperty=axiom.getSuperProperty(); if (!subDataProperty.isOWLBottomDataProperty() && !superDataProperty.isOWLTopDataProperty()) addInclusion(subDataProperty,superDataProperty); } @Override
public void visit(OWLSubDataPropertyOfAxiom axiom) { OWLDataPropertyExpression subDataProperty=axiom.getSubProperty(); checkTopDataPropertyUse(subDataProperty,axiom); OWLDataPropertyExpression superDataProperty=axiom.getSuperProperty(); if (!subDataProperty.isOWLBottomDataProperty() && !superDataProperty.isOWLTopDataProperty()) addInclusion(subDataProperty,superDataProperty); } public void visit(OWLEquivalentDataPropertiesAxiom axiom) {
@Override public void visit(OWLDataSomeValuesFrom object) { if (!object.getProperty().isOWLBottomDataProperty()) { AtomicRole atomicRole=getAtomicRole(object.getProperty()); LiteralDataRange literalRange=m_dataRangeConverter.convertDataRange(object.getFiller()); AtLeastDataRange atLeastDataRange=AtLeastDataRange.create(1,atomicRole,literalRange); if (!atLeastDataRange.isAlwaysFalse()) m_headAtoms.add(Atom.create(atLeastDataRange,X)); } } @Override
/** * Gets a String representation of an OWL 2 data property. * * @param p An OWL 2 data property. * @return A String representation of p. */ public String getDataPropertyName(OWLDataPropertyExpression p) { if (p.isOWLTopDataProperty()) return getTopDataPropertyName(); else if (p.isOWLBottomDataProperty()) return getBottomDataPropertyName(); else return getAtomicDataPropertyName(p.asOWLDataProperty()); }
public void visit(OWLDataSomeValuesFrom object) { if (!object.getProperty().isOWLBottomDataProperty()) { AtomicRole atomicRole=getAtomicRole(object.getProperty()); LiteralDataRange literalRange=m_dataRangeConverter.convertDataRange(object.getFiller()); AtLeastDataRange atLeastDataRange=AtLeastDataRange.create(1,atomicRole,literalRange); if (!atLeastDataRange.isAlwaysFalse()) m_headAtoms.add(Atom.create(atLeastDataRange,X)); } } public void visit(OWLDataAllValuesFrom object) {
@Override public void visit(OWLDataMinCardinality object) { if (!object.getProperty().isOWLBottomDataProperty() || object.getCardinality()==0) { AtomicRole atomicRole=getAtomicRole(object.getProperty()); LiteralDataRange literalRange=m_dataRangeConverter.convertDataRange(object.getFiller()); AtLeastDataRange atLeast=AtLeastDataRange.create(object.getCardinality(),atomicRole,literalRange); if (!atLeast.isAlwaysFalse()) m_headAtoms.add(Atom.create(atLeast,X)); } } @Override
public void visit(OWLDataMinCardinality object) { if (!object.getProperty().isOWLBottomDataProperty() || object.getCardinality()==0) { AtomicRole atomicRole=getAtomicRole(object.getProperty()); LiteralDataRange literalRange=m_dataRangeConverter.convertDataRange(object.getFiller()); AtLeastDataRange atLeast=AtLeastDataRange.create(object.getCardinality(),atomicRole,literalRange); if (!atLeast.isAlwaysFalse()) m_headAtoms.add(Atom.create(atLeast,X)); } } public void visit(OWLDataMaxCardinality object) {
return dataPropertyHierarchyNodesToNodeSet(result); else if (propertyExpression.isOWLBottomDataProperty()) { HierarchyNode<AtomicRole> node=m_dataRoleHierarchy.getTopNode(); result.add(node); if (propertyExpression.isOWLTopDataProperty() && isConsistent()) return new OWLDataPropertyNodeSet(new OWLDataPropertyNode(factory.getOWLBottomDataProperty())); else if (propertyExpression.isOWLBottomDataProperty() && isConsistent()) return new OWLDataPropertyNodeSet(new OWLDataPropertyNode(factory.getOWLTopDataProperty())); else
return dataPropertyHierarchyNodesToNodeSet(result); else if (propertyExpression.isOWLBottomDataProperty()) { HierarchyNode<AtomicRole> node=m_dataRoleHierarchy.getTopNode(); result.add(node); if (propertyExpression.isOWLTopDataProperty() && isConsistent()) return new OWLDataPropertyNodeSet(new OWLDataPropertyNode(factory.getOWLBottomDataProperty())); else if (propertyExpression.isOWLBottomDataProperty() && isConsistent()) return new OWLDataPropertyNodeSet(new OWLDataPropertyNode(factory.getOWLTopDataProperty())); else