All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.stanford.protege.webprotege.index.AnnotationAxiomsByIriReferenceIndex Maven / Gradle / Ivy

The newest version!
package edu.stanford.protege.webprotege.index;


import edu.stanford.protege.webprotege.inject.ProjectSingleton;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLAnnotationAxiom;
import org.semanticweb.owlapi.model.OWLOntologyID;

import javax.annotation.Nonnull;
import java.util.stream.Stream;

/**
 * Matthew Horridge
 * Stanford Center for Biomedical Informatics Research
 * 2019-08-07
 */
@ProjectSingleton
public interface AnnotationAxiomsByIriReferenceIndex extends Index {

    /**
     * Returns a stream of axiomsSource from the specified ontology, where:
     *   - The axiom is an AnnotationAssertion axiom that has a subject or object equal to the IRI
     *   - The axiom is a SubAnnotationPropertyOf axiom that has a sub-property or super-property
     *     equal to the specified IRI
     *   - The axiom is an AnnotationPropertyDomain axiom where the domain is equal to the specified IRI
     *   - The axiom is an AnnotationPropertyRange axiom where the range is equal to the specified IRI
     * @param iri The IRI
     * @param ontologyID The ontology identifier
     */
    Stream getReferencingAxioms(@Nonnull IRI iri,
                                                    @Nonnull OWLOntologyID ontologyID);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy