@Override public OWLDataRange visit(OWLDataIntersectionOf node) { Stream<OWLDataRange> ops = node.operands().map(p -> p.accept(this)); if (negated) { return df.getOWLDataUnionOf(ops); } return df.getOWLDataIntersectionOf(ops); }
/** * @param expr data range to check * @return true iff EXPR is a top datatype or a built-in datatype; */ public boolean isTopOrBuiltInDataType(OWLDataRange expr) { return expr.isTopDatatype() || expr.isOWLDatatype() && expr.asOWLDatatype().isBuiltIn(); }
@Override public void visit(OWLDataPropertyRangeAxiom axiom) { isRL = axiom.getRange().isDatatype() || axiom.getRange() instanceof OWLDataIntersectionOf; } @Override
@Override public void handleChild(AbstractOWLDataRangeHandler handler) throws OWLXMLParserException { OWLDataRange handledDataRange = handler.getOWLObject(); if (handledDataRange.isDatatype() && datatype == null) { datatype = handledDataRange.asOWLDatatype(); } else { dataRange = handledDataRange; } }
@Override void handleChild(DataRangeEH<? extends OWLDataRange, ?> h) { OWLDataRange dr = h.getOWLObject(); if (dr.isOWLDatatype()) { builder.withDatatype(dr.asOWLDatatype()); } }
@Override public OWLDataRange visit(OWLDataUnionOf node) { List<OWLDataRange> ops = asList(node.operands().map(op -> op.accept(this))); return df.getOWLDataUnionOf(ops); }
/** * @param ontologies ontologies to inspect * @return datatypes declared in the ontologies (not including OWL 2 standard datatypes) */ public Stream<OWLDataPropertyRangeAxiom> datatypes(Collection<OWLOntology> ontologies) { return ontologies.stream().flatMap(ont -> ont.axioms(AxiomType.DATA_PROPERTY_RANGE)) .filter(ax -> ax.getRange() .isOWLDatatype()); }
public AttributeType<?> resourceType(OWLDataProperty property) { OWL2Datatype propertyType= eval(() -> { Optional<OWLDataPropertyRangeAxiom> ax = ontology.dataPropertyRangeAxioms(property) .filter(rangeAxiom -> rangeAxiom.getRange().isOWLDatatype() && rangeAxiom.getRange().asOWLDatatype().isBuiltIn()) .findFirst(); return ax.isPresent() ? ax.get().getRange().asOWLDatatype().getBuiltInDatatype() : null; }); AttributeType.DataType<?> graknType = propertyType == null ? AttributeType.DataType.STRING : owlBuiltInToGraknDatatype(propertyType); AttributeType<?> attributeType = tx.putAttributeType(namer.fromIri(property.getIRI()), graknType); return attributeType; }
@Override public OWLAxiom visit(OWLDataPropertyRangeAxiom axiom) { return df.getOWLDataPropertyRangeAxiom(axiom.getProperty(), axiom.getRange().accept(dataVisitor)); }
@Override public OWLClassExpression visit(OWLDataSomeValuesFrom ce) { OWLDataRange filler = ce.getFiller().accept(rangeVisitor); return df.getOWLDataSomeValuesFrom(ce.getProperty(), filler); }
private void handleRestriction(OWLQuantifiedRestriction<OWLDataRange, OWLDataPropertyExpression, OWLDataRange> r) { if (!r.getProperty().isAnonymous() && r.getFiller().isDatatype()){ p = r.getProperty().asOWLDataProperty(); f = r.getFiller().asOWLDatatype(); isAcceptable = true; } }
public void visit(OWLDataPropertyRangeAxiom axiom) { switch (localityCls) { case BOTTOM_BOTTOM: case TOP_BOTTOM: isLocal = !signature.contains(axiom.getProperty().asOWLDataProperty()) || axiom.getRange().isTopDatatype(); break; case TOP_TOP: isLocal = axiom.getRange().isTopDatatype(); break; } }
@Nonnull @Override public Set<PropertyValue> visit(OWLDataSomeValuesFrom desc) { if (desc.getFiller().isDatatype()) { return toSet(PropertyDatatypeValue.get(rm.getDataPropertyData(desc.getProperty().asOWLDataProperty()), rm.getDatatypeData(desc.getFiller().asOWLDatatype()), state)); } else { return null; } }
public OWLClassExpression visit(OWLDataAllValuesFrom d) { OWLDataRange filler=getSimplified(d.getFiller()); if (filler.isTopDatatype()) return m_factory.getOWLThing(); else return m_factory.getOWLDataAllValuesFrom(d.getProperty(),filler); } public OWLClassExpression visit(OWLDataHasValue d) {
public void visit(OWLDataAllValuesFrom desc) { switch (localityCls) { case BOTTOM_BOTTOM: case TOP_BOTTOM: isTopEquivalent = !signature.contains(desc.getProperty().asOWLDataProperty()) || desc.getFiller().isTopDatatype(); break; case TOP_TOP: isTopEquivalent = desc.getFiller().isTopDatatype(); break; } }
public OWLDataRange visit(OWLDataIntersectionOf range) { Set<OWLDataRange> newConjuncts=new HashSet<OWLDataRange>(); for (OWLDataRange dr : range.getOperands()) { OWLDataRange drSimplified=getSimplified(dr); if (drSimplified.isTopDatatype()) continue; else if (drSimplified instanceof OWLDataIntersectionOf) newConjuncts.addAll(((OWLDataIntersectionOf)drSimplified).getOperands()); else newConjuncts.add(drSimplified); } return m_factory.getOWLDataIntersectionOf(newConjuncts); } public OWLDataRange visit(OWLDataUnionOf range) {
public OWLDataRange visit(OWLDataUnionOf range) { Set<OWLDataRange> newDisjuncts=new HashSet<OWLDataRange>(); for (OWLDataRange dr : range.getOperands()) { OWLDataRange drSimplified=getSimplified(dr); if (drSimplified.isTopDatatype()) return m_factory.getTopDatatype(); else if (drSimplified instanceof OWLDataUnionOf) newDisjuncts.addAll(((OWLDataUnionOf)drSimplified).getOperands()); else newDisjuncts.add(drSimplified); } return m_factory.getOWLDataUnionOf(newDisjuncts); } }