@Override protected String getDataAllValuesFromName(OWLDataPropertyExpression p, OWLDataRange range) { DataRangeType type = range.getDataRangeType(); if (type == DataRangeType.DATATYPE) { String datatypeName = pm.getShortForm(range.asOWLDatatype()); if (fuzzyDatatypes.containsKey(datatypeName)) return "(all " + getDataPropertyName(p) + " " + datatypeName + ")"; } printError("Data all values restriction with range " + range + " not supported"); return null; }
@Override protected String getDataSomeValuesFromName(OWLDataPropertyExpression p, OWLDataRange range) { DataRangeType type = range.getDataRangeType(); if (type == DataRangeType.DATATYPE) { String datatypeName = pm.getShortForm(range.asOWLDatatype()); if (fuzzyDatatypes.containsKey(datatypeName)) return "(some " + getDataPropertyName(p) + " " + datatypeName + ")"; } else if (type == DataRangeType.DATA_ONE_OF) { OWLDataOneOf o = (OWLDataOneOf) range; Set<OWLLiteral> set = o.getValues(); if (!set.isEmpty()) { OWLLiteral lit = set.iterator().next(); return "(= " + getDataPropertyName(p) + " " + lit.getLiteral() + ")"; } } printError("Data some values restriction with range " + range + " not supported"); return null; }
@Override public void visit(OWLDataAllValuesFrom expr) { OWLDataRange range = expr.getFiller(); DataRangeType type = range.getDataRangeType(); if (type == DataRangeType.DATATYPE) { String datatypeName = fuzzyOwl2.getShortName(range.asOWLDatatype()); if (fuzzyOwl2.fuzzyDatatypes.containsKey(datatypeName)) fuzzyConcept = Concept.all(fuzzyOwl2.getDataPropertyName(expr.getProperty()), new Concept(datatypeName)); } }
if (def.getDataRange().getDataRangeType() == DataRangeType.DATA_INTERSECTION_OF) OWLDataRange r1 = it3.next(); OWLDataRange r2 = it3.next(); if ( (r1.getDataRangeType() == DataRangeType.DATATYPE_RESTRICTION) && (r2.getDataRangeType() == DataRangeType.DATATYPE_RESTRICTION) )
@Override public void visit(OWLDataSomeValuesFrom expr) { OWLDataRange range = expr.getFiller(); DataRangeType type = range.getDataRangeType(); if (type == DataRangeType.DATATYPE) { String datatypeName = fuzzyOwl2.getShortName(range.asOWLDatatype()); if (fuzzyOwl2.fuzzyDatatypes.containsKey(datatypeName)) fuzzyConcept = Concept.some(fuzzyOwl2.getDataPropertyName(expr.getProperty()), new Concept(datatypeName)); } else if (type == DataRangeType.DATA_ONE_OF) { OWLDataOneOf o = (OWLDataOneOf) range; Set<OWLLiteral> set = o.getValues(); if (!set.isEmpty()) { OWLLiteral lit = set.iterator().next(); fuzzyConcept = Concept.exactValue(fuzzyOwl2.getDataPropertyName(expr.getProperty()), lit.getLiteral()); } } }
.collect(Collectors.toCollection(TreeSet::new)); } else if (filler.getDataRangeType() == DataRangeType.DATA_ONE_OF) { OWLDataOneOf dataOneOf = (OWLDataOneOf) filler; Set<OWLLiteral> values = dataOneOf.getValues();
DataRangeType type = range.getDataRangeType(); if (dr2.getDataRangeType() == DataRangeType.DATATYPE_RESTRICTION)
} else if (filler.getDataRangeType() == DataRangeType.DATA_ONE_OF) { OWLDataOneOf dataOneOf = (OWLDataOneOf) filler; Set<OWLLiteral> values = dataOneOf.getValues();
private OWL2Datatype getCanonicalDatatype(OWL2Datatype dt0, OWLDataRange dr) throws TranslationException { switch (dr.getDataRangeType()) { case DATATYPE: OWLDatatype dtype = dr.asOWLDatatype(); if (dtype.isBuiltIn()) { OWL2Datatype dt1 = dtype.getBuiltInDatatype(); if (!DATATYPE_GROUP.containsKey(dt1)) throw new TranslationException("unsupported datatype: " + dt1); return getIntersection(dt0, dt1); } else { Set<OWLDatatypeDefinitionAxiom> defs = currentOWLOntology.getDatatypeDefinitions(dtype); if (defs == null) throw new TranslationException("undeclared datatype: " + dtype); for (OWLDatatypeDefinitionAxiom def : defs) dt0 = getCanonicalDatatype(dt0, def.getDataRange()); return dt0; } case DATA_INTERSECTION_OF: for (OWLDataRange d : ((OWLDataIntersectionOf)dr).getOperands()) dt0 = getCanonicalDatatype(dt0, d); return dt0; default: throw new TranslationException("unsupported OWLDataRange construct: " + dr); } }
private OWL2Datatype getCanonicalDatatype(OWL2Datatype dt0, OWLDataRange dr) throws TranslationException { switch (dr.getDataRangeType()) { case DATATYPE: OWLDatatype dtype = dr.asOWLDatatype(); if (dtype.isBuiltIn()) { OWL2Datatype dt1 = dtype.getBuiltInDatatype(); if (!DATATYPE_GROUP.containsKey(dt1)) throw new TranslationException("unsupported datatype: " + dt1); return getIntersection(dt0, dt1); } else { Set<OWLDatatypeDefinitionAxiom> defs = currentOWLOntology.getDatatypeDefinitions(dtype); if (defs == null) throw new TranslationException("undeclared datatype: " + dtype); for (OWLDatatypeDefinitionAxiom def : defs) dt0 = getCanonicalDatatype(dt0, def.getDataRange()); return dt0; } case DATA_INTERSECTION_OF: for (OWLDataRange d : ((OWLDataIntersectionOf)dr).getOperands()) dt0 = getCanonicalDatatype(dt0, d); return dt0; default: throw new TranslationException("unsupported OWLDataRange construct: " + dr); } }