public Intersection<ClassExpression> getSubConcepts(Collection<Function> atoms) { Intersection<ClassExpression> subc = new Intersection<>(reasoner.classesDAG()); for (Function a : atoms) { Optional<IRI> optionalClassIRI = extractClassIRI(a); if (!optionalClassIRI.isPresent()) { subc.setToBottom(); // binary predicates R(x,x) cannot be matched to the anonymous part break; } IRI classIRI = optionalClassIRI.get(); if (reasoner.classes().contains(classIRI)) subc.intersectWith(reasoner.classes().get(classIRI)); else subc.setToBottom(); if (subc.isBottom()) break; } return subc; }
private void checkObjectOrAnnotationProperty(String predicateIRI, PPMappingAssertionProvenance provenance, Ontology ontology) throws MappingOntologyMismatchException { /* * Cannot be a data property (should be either an object or an annotation property) */ if (ontology.tbox().dataProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, DATA_PROPERTY_STR, OBJECT_PROPERTY_STR)); /* * Cannot be a class */ if (ontology.tbox().classes().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, CLASS_STR, OBJECT_PROPERTY_STR)); }
private static OClass getOClass(OWLClass clExpression, OntologyVocabularyCategory<OClass> voc) { String uri = clExpression.getIRI().toString(); return voc.get(uri); }
private void checkObjectOrAnnotationProperty(IRI predicateIRI, PPMappingAssertionProvenance provenance, Ontology ontology) throws MappingOntologyMismatchException { /* * Cannot be a data property (should be either an object or an annotation property) */ if (ontology.tbox().dataProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, DATA_PROPERTY_STR, OBJECT_PROPERTY_STR)); /* * Cannot be a class */ if (ontology.tbox().classes().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, CLASS_STR, OBJECT_PROPERTY_STR)); }
private static AnnotationProperty getPropertyExpression(OWLAnnotationProperty ap, OntologyVocabularyCategory<AnnotationProperty> voc) { return voc.get(ap.getIRI().toString()); }
Optional<IRI> optionalPropertyIRIString = extractPropertyIRI(a); if (optionalPropertyIRIString .filter(i -> reasoner.objectProperties().contains(i)) .isPresent()) { ObjectPropertyExpression prop = reasoner.objectProperties().get(optionalPropertyIRIString.get()); if (!root.equals(a.getTerm(0))) prop = prop.getInverse();
private void checkClass(String predicateIRI, PPMappingAssertionProvenance provenance, Ontology ontology) throws MappingOntologyMismatchException { /* * Cannot be an object property */ if (ontology.tbox().objectProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, OBJECT_PROPERTY_STR, CLASS_STR)); /* * Cannot be a data property */ else if (ontology.tbox().dataProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, DATA_PROPERTY_STR, CLASS_STR)); /* * Cannot be an annotation property */ if (ontology.annotationProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, ANNOTATION_PROPERTY_STR, DATA_PROPERTY_STR)); }
private static DataPropertyExpression getPropertyExpression(OWLDataPropertyExpression dpeExpression, OntologyVocabularyCategory<DataPropertyExpression> voc) { assert (dpeExpression instanceof OWLDataProperty); return voc.get(dpeExpression.asOWLDataProperty().getIRI().toString()); }
public Iterator<IRI> iEmptyConcepts() { return new EmptyEntitiesIterator(onto.classes().iterator(), conn); }
if (classIRI.isPresent() && reasoner.classes().contains(classIRI.get())) { OClass c = reasoner.classes().get(classIRI.get()); OClass equivalent = (OClass)reasoner.classesDAG().getCanonicalForm(c); if (equivalent != null && !equivalent.equals(c)) { else if (propertyIRI.isPresent() && reasoner.objectProperties().contains(propertyIRI.get())) { ObjectPropertyExpression ope = reasoner.objectProperties().get(propertyIRI.get()); ObjectPropertyExpression equivalent = reasoner.objectPropertiesDAG().getCanonicalForm(ope); if (equivalent != null && !equivalent.equals(ope)) { else if (propertyIRI.isPresent() && reasoner.dataProperties().contains(propertyIRI.get())) { DataPropertyExpression dpe = reasoner.dataProperties().get(propertyIRI.get()); DataPropertyExpression equivalent = reasoner.dataPropertiesDAG().getCanonicalForm(dpe); if (equivalent != null && !equivalent.equals(dpe)) {
private void checkClass(IRI predicateIRI, PPMappingAssertionProvenance provenance, Ontology ontology) throws MappingOntologyMismatchException { /* * Cannot be an object property */ if (ontology.tbox().objectProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, OBJECT_PROPERTY_STR, CLASS_STR)); /* * Cannot be a data property */ else if (ontology.tbox().dataProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, DATA_PROPERTY_STR, CLASS_STR)); /* * Cannot be an annotation property */ if (ontology.annotationProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, ANNOTATION_PROPERTY_STR, DATA_PROPERTY_STR)); }
/** * ObjectPropertyExpression := ObjectProperty | InverseObjectProperty * InverseObjectProperty := 'ObjectInverseOf' '(' ObjectProperty ')' */ private static ObjectPropertyExpression getPropertyExpression(OWLObjectPropertyExpression opeExpression, OntologyVocabularyCategory<ObjectPropertyExpression> voc) { if (opeExpression instanceof OWLObjectProperty) { return voc.get(opeExpression.asOWLObjectProperty().getIRI().toString()); } else { assert(opeExpression instanceof OWLObjectInverseOf); OWLObjectInverseOf aux = (OWLObjectInverseOf) opeExpression; return voc.get(aux.getInverse().asOWLObjectProperty().getIRI().toString()).getInverse(); } }
private void setIndex(String iri, int type, int idx) { if (type == CLASS_TYPE) { OClass c = reasonerDag.classes().get(iri); if (reasonerDag.classesDAG().getVertex(c) == null) throw new RuntimeException("UNKNOWN CLASS: " + iri); if (reasonerDag.objectProperties().contains(iri)) { ObjectPropertyExpression ope = reasonerDag.objectProperties().get(iri); if (cacheSI.getEntry(ope) != null) { DataPropertyExpression dpe = reasonerDag.dataProperties().get(iri); if (reasonerDag.dataPropertiesDAG().getVertex(dpe) != null) { if (cacheSI.getEntry(dpe) != null) DataPropertyExpression dpe = reasonerDag.dataProperties().get(iri); if (reasonerDag.dataPropertiesDAG().getVertex(dpe) != null) { if (cacheSI.getEntry(dpe) != null)
if (builder.dataProperties().contains(uri)) { punnedPredicates.add(uri); log.warn("Quest can become unstable with properties declared as both data and object. Offending property: " + uri); if (builder.objectProperties().contains(uri)) { punnedPredicates.add(uri); log.warn("Quest can become unstable with properties declared as both data and object. Offending property: " + uri);
if (ontology.tbox().objectProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, OBJECT_PROPERTY_STR, DATA_PROPERTY_STR)); if (ontology.tbox().classes().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, CLASS_STR, DATA_PROPERTY_STR));
if (ontology.tbox().objectProperties().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, OBJECT_PROPERTY_STR, DATA_PROPERTY_STR)); if (ontology.tbox().classes().contains(predicateIRI)) throw new MappingOntologyMismatchException(generatePropertyOrClassConflictMessage(predicateIRI, provenance, CLASS_STR, DATA_PROPERTY_STR));