Refine search
@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); } }
@Override public boolean isFloat() { return this.literal.getDatatype().isFloat(); }
protected boolean isBuiltin(OWLLiteral node) { return node.getDatatype().isBuiltIn() && !node.getDatatype().getBuiltInDatatype().isInLexicalSpace(node.getLiteral()); }
@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; } } }
/** * @param c C * @param n cardinality * @return true if #C^I > n */ private boolean isCardLargerThan(OWLObject c, int n) { if (n == 0) { return isBotDistinct(c); } if (c instanceof OWLDatatype) { return ((OWLDatatype) c).isBuiltIn() && !((OWLDatatype) c).getBuiltInDatatype() .isFinite(); } // FIXME!! try to be more precise return false; }
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; }
/** * Imports closure changed. */ protected final void importsClosureChanged() { // NOTE: This method only gets called when the ontology being parsed // adds a direct import. This is enough // for resolving the imports closure. // We cache IRIs of various entities here. // We also mop up any triples that weren't parsed and consumed in the // imports closure. ontology.annotationPropertiesInSignature(INCLUDED) .forEach(e -> annPropertyIRIs.add(e.getIRI())); ontology.dataPropertiesInSignature(INCLUDED).forEach(e -> dataPropertyIRIs.add(e.getIRI())); ontology.objectPropertiesInSignature(INCLUDED) .forEach(e -> objectPropertyIRIs.add(e.getIRI())); ontology.classesInSignature(INCLUDED).forEach(e -> classIRIs.add(e.getIRI())); ontology.datatypesInSignature(INCLUDED).forEach(e -> dataRangeIRIs.add(e.getIRI())); ontology.individualsInSignature(INCLUDED).forEach(e -> individualIRIs.add(e.getIRI())); }
@Override public void visit(OWLLiteral node) { // xsd:decimal is the default datatype for literal forms like "33.3" // with no specified datatype if (XSDVocabulary.DECIMAL.getIRI().equals(node.getDatatype().getIRI())) { write(node.getLiteral()); } else if (node.getDatatype().isFloat()) { write(node.getLiteral()); write("f"); } else if (node.getDatatype().isInteger()) { write(node.getLiteral()); } else if (node.getDatatype().isBoolean()) { write(node.getLiteral()); } else { pushTab(getIndent()); writeLiteral(node.getLiteral()); if (node.hasLang()) { write("@"); write(node.getLang()); } else if (!node.isRDFPlainLiteral() && !OWL2Datatype.XSD_STRING.matches(node.getDatatype())) { write("^^"); node.getDatatype().accept(this); } popTab(); } }
@Override protected org.openrdf.model.Literal getLiteralNode(OWLLiteral literal) { if (literal.isRDFPlainLiteral() && literal.getLang() != null) { return rdfFactory.createLiteral(literal.getLiteral(), literal.getLang()); } else if (literal.isRDFPlainLiteral()) { return rdfFactory.createLiteral(literal.getLiteral()); } else { return rdfFactory.createLiteral(literal.getLiteral(), rdfFactory.createURI(literal.getDatatype().getIRI().toString())); } }
@Override public void visit(OWLLiteral node) { String literal = node.getLiteral(); if (node.isInteger() || node.isBoolean() || node.isDouble()) { stringBuilder.append(literal); else if(!node.getDatatype().isString()) { stringBuilder.append("<span class=\"ms-lit-datatype\">"); if (literalStyle == LiteralStyle.BRACKETED) { stringBuilder.append(" [datatype: "); node.getDatatype().accept(this); stringBuilder.append("]"); node.getDatatype().accept(this);
@NonNull private String visit(@NonNull OWLLiteral literal) { OWLDatatype datatype = literal.getDatatype(); String value = literal.getLiteral(); if (datatype.isString()) return "\"" + value + "\""; else if (datatype.getIRI().equals(XSDVocabulary.DECIMAL.getIRI())) return value; else if (datatype.isBoolean()) return value; else if (datatype.getIRI().equals(XSDVocabulary.INTEGER.getIRI())) return value; else return "\"" + value + "\"^^" + visit(datatype); }
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; } }
private static String datatypeIRI(OWLDataRange r) { if(r.isOWLDatatype()) { return r.asOWLDatatype().getIRI().toString(); } return null; } @Override
private static OWLLiteralType getOWLLiteralType(OWLLiteral literal) if (literal.getDatatype().isString()) return new OWLLiteralType(XSD_STRING); else if (literal.getDatatype().isBoolean()) return new OWLLiteralType(XSD_BOOLEAN); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.BYTE.getIRI())) return new OWLLiteralType(XSD_BYTE); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.SHORT.getIRI())) return new OWLLiteralType(XSD_SHORT); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.INTEGER.getIRI())) return new OWLLiteralType(XSD_INTEGER); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.LONG.getIRI())) return new OWLLiteralType(XSD_LONG); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.FLOAT.getIRI())) return new OWLLiteralType(XSD_FLOAT); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.DOUBLE.getIRI())) return new OWLLiteralType(XSD_DOUBLE); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.DATE.getIRI())) return new OWLLiteralType(XSD_DATE); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.TIME.getIRI())) return new OWLLiteralType(XSD_TIME); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.DATE_TIME.getIRI())) return new OWLLiteralType(XSD_DATETIME); else if (literal.getDatatype().getIRI().equals(XSDVocabulary.DURATION.getIRI())) return new OWLLiteralType(XSD_DURATION); else if (literal.getDatatype().isRDFPlainLiteral()) { return new OWLLiteralType(RDF_PLAINLITERAL);
protected OWLLiteral parseSpecialCases(String lexicalValue, OWLDatatype datatype) { OWLLiteral literal; try { if (datatype.isString()) { literal = getOWLLiteral(lexicalValue); } else if (datatype.isBoolean()) { literal = getOWLLiteral(OWLLiteralImpl.asBoolean(lexicalValue.trim())); } else if (datatype.isFloat()) { literal = parseFloat(lexicalValue, datatype); } else if (datatype.isDouble()) { literal = getOWLLiteral(Double.parseDouble(lexicalValue)); } else if (datatype.isInteger()) { literal = parseInteger(lexicalValue, datatype); } else { literal = getBasicLiteral(lexicalValue, datatype); } } catch (@SuppressWarnings("unused") NumberFormatException e) { // some literal is malformed, i.e., wrong format literal = getBasicLiteral(lexicalValue, datatype); } return literal; }
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; }