private void checkSignature(DataPropertyRangeExpression desc) { checkSignature(desc.getProperty()); }
private void checkSignature(DataPropertyRangeExpression desc) { checkSignature(desc.getProperty()); }
private Optional<IRI> getPredicateIRI(DataRangeExpression expression) { if (expression instanceof Datatype) { return Optional.of(((Datatype) expression).getIRI()); } if (expression instanceof DataPropertyRangeExpression) { return Optional.of(((DataPropertyRangeExpression) expression).getProperty().getIRI()); } return Optional.empty(); }
private Optional<Predicate> getPredicate(DataRangeExpression expression) { if (expression instanceof Datatype) { return Optional.of(((Datatype) expression).getPredicate()); } if (expression instanceof DataPropertyRangeExpression) { return Optional.of(((DataPropertyRangeExpression) expression).getProperty().getPredicate()); } return Optional.empty(); }
/** * Normalizes and adds a data property range axiom * <p> * DataPropertyRange := 'DataPropertyRange' '(' axiomAnnotations DataPropertyExpression DataRange ')' * <p> * Implements rule [D3]: * - ignore if the property is bot or the range is rdfs:Literal (top datatype) * - inconsistency if the property is top but the range is not rdfs:Literal * * @throws InconsistentOntologyException */ @Override public void addDataPropertyRangeAxiom(DataPropertyRangeExpression range, Datatype datatype) throws InconsistentOntologyException { checkSignature(range); checkSignature(datatype); if (datatype.equals(DatatypeImpl.rdfsLiteral)) return; // otherwise the datatype is not top if (range.getProperty().isBottom()) return; if (range.getProperty().isTop()) throw new InconsistentOntologyException(); BinaryAxiom<DataRangeExpression> ax = new BinaryAxiomImpl<>(range, datatype); subDataRangeAxioms.add(ax); }
/** * Normalizes and adds a data property range axiom * <p> * DataPropertyRange := 'DataPropertyRange' '(' axiomAnnotations DataPropertyExpression DataRange ')' * <p> * Implements rule [D3]: * - ignore if the property is bot or the range is rdfs:Literal (top datatype) * - inconsistency if the property is top but the range is not rdfs:Literal * * @throws InconsistentOntologyException */ @Override public void addDataPropertyRangeAxiom(DataPropertyRangeExpression range, Datatype datatype) throws InconsistentOntologyException { checkSignature(range); checkSignature(datatype); if (datatype.equals(DatatypeImpl.rdfsLiteral)) return; // otherwise the datatype is not top if (range.getProperty().isBottom()) return; if (range.getProperty().isTop()) throw new InconsistentOntologyException(); BinaryAxiom<DataRangeExpression> ax = new BinaryAxiomImpl<>(range, datatype); subDataRangeAxioms.add(ax); }
assert (first instanceof DataPropertyRangeExpression); DataPropertyRangeExpression firstp = (DataPropertyRangeExpression)first; DataPropertyExpression prop = firstp.getProperty(); Equivalences<DataPropertyExpression> vertex = dataPropertyDAG.getVertex(prop); if (vertex == null){
assert (first instanceof DataPropertyRangeExpression); DataPropertyRangeExpression firstp = (DataPropertyRangeExpression)first; DataPropertyExpression prop = firstp.getProperty(); Equivalences<DataPropertyExpression> vertex = dataPropertyDAG.getVertex(prop); if (vertex == null){