private static boolean isRenderableAsNumber(@Nonnull OWLLiteral literal) { var datatypeIRI = literal.getDatatype().getIRI(); if(OWL2Datatype.isBuiltIn(datatypeIRI)) { var datatype = OWL2Datatype.getDatatype(datatypeIRI); return datatype.isNumeric(); } return false; }
public Set<OWLDatatype> getBuiltinDatatypes(){ Set<OWLDatatype> datatypes = new HashSet<>(); final OWLDataFactory df = mngr.getOWLDataFactory(); datatypes.add(df.getTopDatatype()); for (OWL2Datatype dt : OWL2Datatype.values()) { datatypes.add(df.getOWLDatatype(dt.getIRI())); } return datatypes; }
public static void main(String[] args) { for(OWL2Datatype v : OWL2Datatype.values()) { System.out.println(v); } boolean matches = OWL2Datatype.OWL_RATIONAL.getPattern().matcher("22/7").matches(); System.out.println("MATCH: " + matches); } }
private void loadOwl2Datatypes() { for(OWL2Datatype d : OWL2Datatype.values()) { shortFormCache.put(entityProvider.getOWLDatatype(d.getIRI()), d.getPrefixedName()); } }
@Override public void visit(OWLLiteral node) { String literal = EscapeUtils.escapeString(node.getLiteral()); if (node.isRDFPlainLiteral() || node.getDatatype().getIRI() .equals(OWL2Datatype.RDF_LANG_STRING.getIRI())) { // We can use a syntactic shortcut sb.append('"').append(literal).append('"'); if (node.hasLang()) { sb.append('@').append(node.getLang()); } } else { sb.append('"').append(literal).append("\"^^"); node.getDatatype().accept(this); } }
final OWLOntology ontology = manager.createOntology(IRI.create("http://example.org")); final OWLDatatype dataRange = factory.getOWLDatatype(OWL2Datatype.XSD_INTEGER.getIRI()); final OWLFacetRestriction dataRangeFacetRestriction = factory.getOWLFacetRestriction(OWLFacet.MIN_EXCLUSIVE, 1); final OWLDataRange dataRangeRestriction = factory.getOWLDatatypeRestriction(dataRange, dataRangeFacetRestriction); final OWLDataProperty p = factory.getOWLDataProperty(IRI.create("http://example#p")); final OWLDataSomeValuesFrom dataSomeRestriction = factory.getOWLDataSomeValuesFrom(p, dataRangeRestriction); final OWLClass c = factory.getOWLClass(IRI.create("http://example#c")); final OWLSubClassOfAxiom sc = factory.getOWLSubClassOfAxiom(c, dataSomeRestriction);
if (annVal instanceof OWLLiteral) { OWLLiteral owlLiteral = (OWLLiteral) annVal; clause.addValue(owlLiteral.getLiteral()); OWLDatatype datatype = owlLiteral.getDatatype(); IRI dataTypeIri = datatype.getIRI(); if (!OWL2Datatype.isBuiltIn(dataTypeIri)) { error("Untranslatable axiom due to unknown data type: " + annVal, true); return false; clause.addValue(dataTypeIri.prefixedBy("xsd:")); } else if (dataTypeIri.isPlainLiteral()) { clause.addValue("xsd:string"); } else { clause.addValue(dataTypeIri.toString());
public OWLLiteral rename(OWLLiteral literal){ OWLLiteral renamedLiteral = literal; OWLDatatype datatype = literal.getDatatype(); if(datatype.isRDFPlainLiteral()){ if(literal.hasLang()){ renamedLiteral = dataFactory.getOWLLiteral("plain", literal.getLang()); } else { renamedLiteral = dataFactory.getOWLLiteral("plain"); } } else { if(datatype.getIRI().equals(OWL2Datatype.XSD_STRING.getIRI())){ renamedLiteral = dataFactory.getOWLLiteral("string", datatype); } else if(datatype.getIRI().equals(OWL2Datatype.XSD_DOUBLE.getIRI()) || datatype.getIRI().equals(OWL2Datatype.XSD_DECIMAL.getIRI()) || datatype.getIRI().equals(OWL2Datatype.XSD_FLOAT.getIRI())){ renamedLiteral = dataFactory.getOWLLiteral("1.0", datatype); } else if(datatype.getIRI().equals(OWL2Datatype.XSD_INT.getIRI()) || datatype.getIRI().equals(OWL2Datatype.XSD_INTEGER.getIRI()) || datatype.getIRI().equals(OWL2Datatype.XSD_LONG.getIRI()) || datatype.getIRI().equals(OWL2Datatype.XSD_BYTE.getIRI()) || datatype.getIRI().equals(OWL2Datatype.XSD_SHORT.getIRI())){ renamedLiteral = dataFactory.getOWLLiteral("1", datatype); } } renamedLiteral = dataFactory.getOWLLiteral("", OWL2Datatype.RDF_PLAIN_LITERAL); return renamedLiteral; }
private void setupBuiltinObjectRenderings(OWLOntology rootOntology) { OWLDataFactory df = rootOntology.getOWLOntologyManager().getOWLDataFactory(); for(IRI iri : OWLRDFVocabulary.BUILT_IN_ANNOTATION_PROPERTY_IRIS) { delegate.add(df.getOWLAnnotationProperty(iri)); } delegate.add(df.getOWLThing()); delegate.add(df.getOWLNothing()); delegate.add(df.getOWLTopObjectProperty()); delegate.add(df.getOWLBottomObjectProperty()); delegate.add(df.getOWLBottomDataProperty()); delegate.add(df.getOWLBottomDataProperty()); for(OWL2Datatype datatype : OWL2Datatype.values()) { delegate.add(df.getOWLDatatype(datatype.getIRI())); } for(DublinCoreVocabulary vocabulary : DublinCoreVocabulary.values()) { delegate.add(df.getOWLAnnotationProperty(vocabulary.getIRI())); } for(OWLAnnotationProperty annotationProperty : SKOSVocabulary.getAnnotationProperties(df)) { delegate.add(annotationProperty); } }
clause.addValue(owlLiteral.getLiteral()); OWLDatatype datatype = owlLiteral.getDatatype(); IRI dataTypeIri = datatype.getIRI(); if (!OWL2Datatype.isBuiltIn(dataTypeIri)) { error("Untranslatable axiom due to unknown data type: "+annVal); return false; if (dataTypeIri.getStart().equals(Namespaces.XSD.toString())) { clause.addValue("xsd:"+dataTypeIri.getFragment()); } else if (dataTypeIri.isPlainLiteral()) { clause.addValue("xsd:string");
initialiseIndividualFrameSections(); for (XSDVocabulary v : XSDVocabulary.values()) { dataTypeNames.add(v.getIRI().toString()); dataTypeNames.add(v.getIRI().toQuotedString()); dataTypeNames.add(v.getPrefixedName()); for (OWL2Datatype v : OWL2Datatype.values()) { dataTypeNames.add(v.getIRI().toString()); dataTypeNames.add(v.getIRI().toQuotedString()); dataTypeNames.add(v.getPrefixedName());
@Override public boolean matches(@Nonnull OWLLiteral lit) { if (lit.getDatatype().isBuiltIn()) { OWL2Datatype datatype = lit.getDatatype().getBuiltInDatatype(); return !datatype.getPattern().matcher(lit.getLiteral()).matches(); } else { return false; } } }
protected boolean isNonNegativeIntegerLax(IRI mainNode, OWLRDFVocabulary predicate) { OWLLiteral literal = consumer.getLiteralObject(mainNode, predicate, false); if (literal == null) { return false; } return OWL2Datatype.XSD_INTEGER .isInLexicalSpace(verifyNotNull(literal.getLiteral().trim())); }
public static boolean isLiteralIsInLexicalSpace(OWLLiteral literal) { OWLDatatype d = literal.getDatatype(); if(d.isRDFPlainLiteral()) { return true; } if(d.isString()) { return true; } if(d.isBuiltIn()) { OWL2Datatype builtIn = d.getBuiltInDatatype(); if (builtIn.equals(OWL2Datatype.RDF_XML_LITERAL)) { return checkXMLLiteral(literal); } else { Pattern pattern = builtIn.getPattern(); return pattern.matcher(literal.getLiteral()).matches(); } } else { return true; } }
/** * @param datatypeIRI datatypeIRI */ public void writeDatatypeAttribute(IRI datatypeIRI) { checkNotNull(datatypeIRI, "datatypeIRI cannot be null"); if (OWL2Datatype.RDF_XML_LITERAL.getIRI().equals(datatypeIRI)) { writeParseTypeLiteralAttribute(); } else { writer.writeAttribute(RDF_DATATYPE, datatypeIRI.toString()); } }
protected boolean isBuiltin(OWLLiteral node) { return node.getDatatype().isBuiltIn() && !node.getDatatype().getBuiltInDatatype().isInLexicalSpace(node.getLiteral()); }
@Override public OWLDataRange getRangeImpl(OWLDataProperty datatypeProperty) { String query = String.format("SELECT ?range WHERE {" + "<%s> <%s> ?range. FILTER(isIRI(?range))" + "}", datatypeProperty.toStringID(), RDFS.range.getURI()); ResultSet rs = executeSelectQuery(query); QuerySolution qs; OWLDataRange range = null; while(rs.hasNext()){ qs = rs.next(); range = df.getOWLDatatype(IRI.create(qs.getResource("range").getURI())); } return range == null ? df.getOWLDatatype(OWL2Datatype.RDFS_LITERAL.getIRI()) : range; }
protected boolean isNonNegativeIntegerStrict(IRI mainNode, OWLRDFVocabulary p) { OWLLiteral literal = consumer.getLiteralObject(mainNode, p, false); if (literal == null) { return false; } return OWL2Datatype.XSD_NON_NEGATIVE_INTEGER.matches(literal.getDatatype()) && OWL2Datatype.XSD_NON_NEGATIVE_INTEGER.isInLexicalSpace(literal.getLiteral()); }