Refine search
public void visit(OWLObjectProperty prop) { if ( prop.isOWLTopObjectProperty() ) { term = ATermUtils.TOP_OBJECT_PROPERTY; } else if ( prop.isOWLBottomObjectProperty() ) { term = ATermUtils.BOTTOM_OBJECT_PROPERTY; } else { term = ATermUtils.makeTermAppl( prop.getIRI().toString() ); if( addAxioms ) { kb.addObjectProperty( term ); } } }
protected void axiomatizeTopObjectProperty(OWLAxioms axioms) { // TransitiveObjectProperty( owl:topObjectProperty ) axioms.m_complexObjectPropertyInclusions.add(new OWLAxioms.ComplexObjectPropertyInclusion(m_topObjectProperty)); // SymmetricObjectProperty( owl:topObjectProperty ) axioms.m_simpleObjectPropertyInclusions.add(Arrays.asList(m_topObjectProperty,m_topObjectProperty.getInverseProperty())); // SubClassOf( owl:Thing ObjectSomeValuesFrom( owl:topObjectProperty ObjectOneOf( <internal:nam#topIndividual> ) ) ) OWLIndividual newIndividual=m_factory.getOWLNamedIndividual(IRI.create("internal:nam#","topIndividual")); OWLObjectOneOf oneOfNewIndividual=m_factory.getOWLObjectOneOf(newIndividual); OWLObjectSomeValuesFrom hasTopNewIndividual=m_factory.getOWLObjectSomeValuesFrom(m_topObjectProperty,oneOfNewIndividual); axioms.m_conceptInclusions.add(Arrays.asList(hasTopNewIndividual)); } protected void axiomatizeBottomObjectProperty(OWLAxioms axioms) {
@Override public void visit(OWLObjectInverseOf expr) { expr.getNamedProperty().accept(this); }
protected void reservedForObjectProperty(OWLObjectProperty property) { if (!property.isOWLTopObjectProperty() && !property.isOWLBottomObjectProperty() && property.getIRI().isReservedVocabulary()) { violations.add(new UseOfReservedVocabularyForObjectPropertyIRI(getCurrentOntology(), getCurrentAxiom(), property)); } }
OboFormatTag tagConstant = OBOFormatConstants.getTag(tag); if (tagConstant == OboFormatTag.TAG_IS_A) { ax = fac.getOWLSubObjectPropertyOfAxiom(p, trObjectProp((String) v), annotations); } else if (tagConstant == OboFormatTag.TAG_RELATIONSHIP) { IRI relId = oboIdToIRI((String) v); OWLAnnotationProperty metaProp = typedefToAnnotationProperty.get(relId.toString()); if (metaProp != null) { ax = fac.getOWLAnnotationAssertionAxiom(metaProp, p.getIRI(), oboIdToIRI((String) clause.getValue2()), annotations); cSet.add(p); cSet.add(trObjectProp((String) v)); ax = fac.getOWLDisjointObjectPropertiesAxiom(cSet, annotations); } else if (tagConstant == OboFormatTag.TAG_INVERSE_OF) { ax = fac.getOWLInverseObjectPropertiesAxiom(p, trObjectProp((String) v), annotations);
protected boolean isSubObjectPropertyExpressionOf(List<OWLObjectPropertyExpression> subPropertyChain,OWLObjectPropertyExpression superObjectPropertyExpression) { OWLObject[] objects=new OWLObject[subPropertyChain.size()+1]; for (int i=0;i<subPropertyChain.size();i++) objects[i]=subPropertyChain.get(i); objects[subPropertyChain.size()]=superObjectPropertyExpression; checkPreConditions(objects); if (!m_isConsistent || superObjectPropertyExpression.getNamedProperty().isOWLTopObjectProperty()) return true; else { OWLDataFactory factory=getDataFactory(); OWLClass pseudoNominal=factory.getOWLClass(IRI.create("internal:pseudo-nominal")); OWLClassExpression allSuperNotPseudoNominal=factory.getOWLObjectAllValuesFrom(superObjectPropertyExpression,pseudoNominal.getObjectComplementOf()); OWLAxiom[] additionalAxioms=new OWLAxiom[subPropertyChain.size()+2]; int axiomIndex=0; for (OWLObjectPropertyExpression subObjectPropertyExpression : subPropertyChain) { OWLIndividual first=factory.getOWLAnonymousIndividual("fresh-individual-"+axiomIndex); OWLIndividual second=factory.getOWLAnonymousIndividual("fresh-individual-"+(axiomIndex+1)); additionalAxioms[axiomIndex++]=factory.getOWLObjectPropertyAssertionAxiom(subObjectPropertyExpression,first,second); } OWLIndividual freshIndividual0=factory.getOWLAnonymousIndividual("fresh-individual-0"); OWLIndividual freshIndividualN=factory.getOWLAnonymousIndividual("fresh-individual-"+subPropertyChain.size()); additionalAxioms[axiomIndex++]=factory.getOWLClassAssertionAxiom(pseudoNominal,freshIndividualN); additionalAxioms[axiomIndex++]=factory.getOWLClassAssertionAxiom(allSuperNotPseudoNominal,freshIndividual0); Tableau tableau=getTableau(additionalAxioms); return !tableau.isSatisfiable(true,null,null,null,null,null,new ReasoningTaskDescription(true,"subproperty chain subsumption")); } } public NodeSet<OWLObjectPropertyExpression> getSuperObjectProperties(OWLObjectPropertyExpression propertyExpression,boolean direct) {
OWLObjectProperty me =factory.getOWLObjectProperty(getIRI()); OWLClass c = factory.getOWLClass(IRI.create(one.b.toString())); owlAPIOntologyCollector.addAxiom(factory.getOWLObjectPropertyRangeAxiom(me, c)); }else if(one.aPartContains(OWLVocabulary.RDFS_domain)){ OWLClass c = factory.getOWLClass(IRI.create(one.b.toString())); owlAPIOntologyCollector.addAxiom(factory.getOWLObjectPropertyDomainAxiom(me, c)); }else if(one.aPartContains(OWLVocabulary.RDFS_SUB_PROPERTY_OF)){ OWLObjectProperty p = factory.getOWLObjectProperty(IRI.create(one.b.toString())); owlAPIOntologyCollector.addAxiom(factory.getOWLSubObjectPropertyOfAxiom(me, p)); }else if(one.aPartContains(OWLVocabulary.OWL_inverseOf)){ OWLAnnotation annoLabel = factory.getOWLAnnotation(factory.getRDFSLabel(), factory.getOWLLiteral(one.b.toString())); OWLAxiom ax = factory.getOWLAnnotationAssertionAxiom(me.getIRI(), annoLabel); owlAPIOntologyCollector.addAxiom(ax); }else if(one.b.isLiteral()){
StringRenderer.setRenderer(StringRenderer.Rendering.DL_SYNTAX); OWLDataFactory df = new OWLDataFactoryImpl(); OWLLiteral min = df.getOWLLiteral(10); OWLLiteral max = df.getOWLLiteral(20); df.getOWLDatatypeRestriction( XSD.INTEGER, Collections.singleton(df.getOWLFacetRestriction( OWLFacet.MIN_INCLUSIVE, min))); OWLDataProperty dp = new OWLDataPropertyImpl(IRI.create("p1")); OWLObjectProperty op = df.getOWLObjectProperty(IRI.create("op1")); OWLFacet.MAX_INCLUSIVE, max))); OWLClass klass = df.getOWLClass(IRI.create("C")); df.getOWLDataHasValue(dp, df.getOWLLiteral(true)), df.getOWLObjectAllValuesFrom(op, df.getOWLThing()), df.getOWLObjectSomeValuesFrom(op.getInverseProperty(), df.getOWLThing()), df.getOWLObjectMaxCardinality(3, op, df.getOWLThing()), df.getOWLObjectMinCardinality(3, op, df.getOWLThing()),
OWLOntologyManager manager = ont.getOWLOntologyManager(); OWLDataFactory dataFactory = manager.getOWLDataFactory(); OWLClass nothing = dataFactory.getOWLNothing(); OWLClass thing = dataFactory.getOWLThing(); for (OWLObjectProperty p : ont.getObjectPropertiesInSignature(Imports.INCLUDED)) { UUID uuid = UUID.randomUUID(); IRI probeIRI = IRI.create(p.getIRI().toString() + "-" + uuid.toString()); OWLClass probe = dataFactory.getOWLClass(probeIRI); probeFor.put(probe, p); tempAxioms.add(dataFactory.getOWLDeclarationAxiom(probe)); OWLObjectProperty unsatP = probeFor.get(cls); unsatPs.add(unsatP); logger.error(" unsatisfiable property: " + unsatP.getIRI());
private void initialiseObjectPropertyFrameSections() { //@formatter:off initialiseSection(new AnnAxiom<OWLObjectProperty, OWLAnnotation>(x -> parseAnnotation(), ANNOTATIONS, (s, o, anns) -> df.getOWLAnnotationAssertionAxiom(s.getIRI(), o, anns)), objectPropertyFrameSections); initialiseSection(new AnnAxiom<OWLObjectProperty, OWLObjectPropertyExpression>(x -> parseObjectPropertyExpression(false), SUB_PROPERTY_OF, (s, o, anns) -> df.getOWLSubObjectPropertyOfAxiom(s, o, anns)), objectPropertyFrameSections); initialiseSection(new AnnAxiom<OWLObjectProperty, OWLObjectPropertyExpression>(x -> parseObjectPropertyExpression(false), EQUIVALENT_TO, (s, o, anns) -> df.getOWLEquivalentObjectPropertiesAxiom(s, o, anns)), objectPropertyFrameSections); initialiseSection(new AnnAxiom<OWLObjectProperty, OWLObjectPropertyExpression>(x -> parseObjectPropertyExpression(false), DISJOINT_WITH, (s, o, anns) -> df.getOWLDisjointObjectPropertiesAxiom(s, o, anns)), objectPropertyFrameSections); initialiseSection(new AnnAxiom<OWLObjectProperty, OWLClassExpression>(x -> parseUnion(), DOMAIN, (s, o, anns) -> df.getOWLObjectPropertyDomainAxiom(s, o, anns)), objectPropertyFrameSections); initialiseSection(new AnnAxiom<OWLObjectProperty, OWLClassExpression>(x -> parseUnion(), RANGE, (s, o, anns) -> df.getOWLObjectPropertyRangeAxiom(s, o, anns)), objectPropertyFrameSections); initialiseSection(new AnnAxiom<OWLObjectProperty, OWLObjectPropertyExpression>(x -> parseObjectPropertyExpression(false), INVERSE_OF, (s, o, anns) -> df.getOWLInverseObjectPropertiesAxiom(s, o, anns)), objectPropertyFrameSections); initialiseSection(new AnnAxiom<OWLObjectProperty, OWLObjectPropertyCharacteristicAxiom>(this::parseObjectPropertyCharacteristic, CHARACTERISTICS, (s, o, anns) -> o.getAnnotatedAxiom(anns)), objectPropertyFrameSections); initialiseSection(new AnnAxiom<OWLObjectProperty, List<OWLObjectPropertyExpression>>(x -> parseObjectPropertyChain(), SUB_PROPERTY_CHAIN, (s, o, anns) -> df.getOWLSubPropertyChainOfAxiom(o, s, anns)), objectPropertyFrameSections); // Extensions initialiseSection(new AnnAxiom<OWLObjectProperty, OWLObjectPropertyExpression>(x -> parseObjectPropertyExpression(false), SUPER_PROPERTY_OF, (s, o, anns) -> df.getOWLSubObjectPropertyOfAxiom(o, s, anns)), objectPropertyFrameSections); //@formatter:on }
@Override public OWLObjectPropertyExpression map(final ATermAppl term) { if (ATermUtils.TOP_OBJECT_PROPERTY.equals(term)) return _factory.getOWLTopObjectProperty(); if (ATermUtils.BOTTOM_OBJECT_PROPERTY.equals(term)) return _factory.getOWLBottomObjectProperty(); if (ATermUtils.isInv(term)) try { final IRI iri = IRI.create(((ATermAppl) term.getArgument(0)).getAFun().getName()); return _factory.getOWLObjectProperty(iri).getInverseProperty(); } catch (final Exception e) { e.printStackTrace(); } return _factory.getOWLObjectProperty(iri(term)); } }
protected void doInitialization() throws OWLOntologyCreationException { // init owl fields this.manager = OWLManager.createOWLOntologyManager(); if (getOntologyResource() != null) { getLog().info("Mapping ontology IRI from {} to {}", getOntologyIRI(), getOntologyResource()); this.manager.addIRIMapper(new SimpleIRIMapper(getOntologyIRI(), IRI.create(getOntologyResource()))); } if (getOntologyImportMappings() != null) { for (IRI from : getOntologyImportMappings().keySet()) { IRI to = getOntologyImportMappings().get(from); getLog().info("Mapping imported ontology IRI from " + from + " to " + to); this.manager.addIRIMapper(new SimpleIRIMapper(from, to)); } } this.factory = manager.getOWLDataFactory(); // collect things we want to ignore form OWL vocab owlVocabulary.add(factory.getOWLThing().getIRI()); owlVocabulary.add(factory.getOWLNothing().getIRI()); owlVocabulary.add(factory.getOWLTopObjectProperty().getIRI()); owlVocabulary.add(factory.getOWLBottomObjectProperty().getIRI()); // load the ontology this.ontology = loadOntology(); }
dlClauses.add(dlClause); if (axioms.m_dataPropertyInclusions.contains(factory.getOWLDataProperty(IRI.create(AtomicRole.BOTTOM_DATA_ROLE.getIRI())))) { Atom bodyAtom=Atom.create(AtomicRole.BOTTOM_DATA_ROLE,X,Y); dlClauses.add(DLClause.create(new Atom[] {},new Atom[] { bodyAtom })); Set<AtomicRole> atomicDataRoles=new HashSet<AtomicRole>(); for (OWLClass owlClass : axioms.m_classes) atomicConcepts.add(AtomicConcept.create(owlClass.getIRI().toString())); Set<Individual> individuals=new HashSet<Individual>(); for (OWLNamedIndividual owlIndividual : axioms.m_namedIndividuals) { Individual individual=Individual.create(owlIndividual.getIRI().toString()); individuals.add(individual); atomicObjectRoles.add(AtomicRole.create(objectProperty.getIRI().toString())); for (OWLObjectPropertyExpression objectPropertyExpression : axioms.m_complexObjectPropertyExpressions) complexObjectRoles.add(getRole(objectPropertyExpression));
private OWLObjectPropertyExpression getObjectPropertyExpression(Role role) { if (role instanceof AtomicRole) return factory.getOWLObjectProperty(IRI.create(((AtomicRole)role).getIRI())); return factory.getOWLObjectProperty(IRI.create(((InverseRole)role).getInverseOf().getIRI())).getInverseProperty(); }
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); OWLOntology ontology = manager.createOntology(IRI .create("http://www.semanticweb.org/owlapi/ontologies/ontology")); OWLDeclarationAxiom declarationAxiom = factory.getOWLDeclarationAxiom(data); manager.addAxiom(ontology, declarationAxiom); return jenamodel.getObjectProperty(data.getIRI().toString()); } catch (OWLOntologyCreationException eoc) { System.err.print("ObjPropOwlToJena::: ");
public ExistInverseDataPropertyAnnotatedPredicate( OWLDataProperty prop, OWLDataFactory fac) { super(fac.getOWLObjectSomeValuesFrom( fac.getOWLObjectProperty(prop.getIRI()).getInverseProperty().getSimplified(), fac.getOWLThing())); this.prop = prop; this.fac = fac; }
var, Node.createURI(RDFConstants.RDF_TYPE), Node.createURI(((OWLClass)lhsConcept).getIRI().toString())); } else if (lhsConcept.getClassExpressionType().equals(ClassExpressionType.OBJECT_SOME_VALUES_FROM) || lhsConcept.getClassExpressionType().equals(ClassExpressionType.DATA_SOME_VALUES_FROM)) { prop = ((OWLObjectPropertyExpression)prop).getSimplified(); assert propRange.equals(fac.getOWLThing()) || propRange.equals(fac.getTopDatatype()) : propRange; if (!prop.isAnonymous()) { OWLProperty p = (OWLProperty) prop; return new Triple( var, Node.createURI(p.getIRI().toString()), Node.createVariable(varGen.createNewVariable())); } else { return new Triple( Node.createVariable(varGen.createNewVariable()), Node.createURI(op.getIRI().toString()), var);
@Override public Object visit(OWLObjectProperty property) { return visit(property, () -> df.getOWLObjectProperty(t(property.getIRI()))); }
public boolean isDefined(OWLObjectProperty owlObjectProperty) { AtomicRole atomicRole=AtomicRole.create(owlObjectProperty.getIRI().toString()); return m_dlOntology.containsObjectRole(atomicRole) || AtomicRole.TOP_OBJECT_ROLE.equals(owlObjectProperty) || AtomicRole.BOTTOM_OBJECT_ROLE.equals(owlObjectProperty); } public boolean isDefined(OWLDataProperty owlDataProperty) {