Search in sources :

Example 31 with OWLOntologyManager

use of org.semanticweb.owlapi.model.OWLOntologyManager in project webprotege by protegeproject.

the class RevisionReverterChangeListGenerator method generateChanges.

@Override
public OntologyChangeList<Boolean> generateChanges(ChangeGenerationContext context) {
    Optional<Revision> revision = revisionManager.getRevision(revisionNumber);
    if (!revision.isPresent()) {
        return OntologyChangeList.<Boolean>builder().build(false);
    }
    List<OWLOntologyChange> changes = new ArrayList<>();
    for (OWLOntologyChangeRecord record : revision.get()) {
        OWLOntologyChangeData revertingChangeData = changeDataReverter.getRevertingChange(record);
        OWLOntologyChangeRecord revertingRecord = new OWLOntologyChangeRecord(record.getOntologyID(), revertingChangeData);
        OWLOntologyManager manager = rootOntology.getOWLOntologyManager();
        OWLOntologyChange change = revertingRecord.createOntologyChange(manager);
        changes.add(0, change);
    }
    return OntologyChangeList.<Boolean>builder().addAll(changes).build(true);
}
Also used : OWLOntologyChangeRecord(org.semanticweb.owlapi.change.OWLOntologyChangeRecord) Revision(edu.stanford.bmir.protege.web.server.revision.Revision) OWLOntologyChange(org.semanticweb.owlapi.model.OWLOntologyChange) ArrayList(java.util.ArrayList) OWLOntologyManager(org.semanticweb.owlapi.model.OWLOntologyManager) OWLOntologyChangeData(org.semanticweb.owlapi.change.OWLOntologyChangeData)

Example 32 with OWLOntologyManager

use of org.semanticweb.owlapi.model.OWLOntologyManager in project webprotege by protegeproject.

the class WebProtegeOWLManager method createOWLOntologyManager.

public static OWLOntologyManager createOWLOntologyManager() {
    OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
    augmentManager(manager);
    return manager;
}
Also used : OWLOntologyManager(org.semanticweb.owlapi.model.OWLOntologyManager)

Example 33 with OWLOntologyManager

use of org.semanticweb.owlapi.model.OWLOntologyManager in project webprotege by protegeproject.

the class WebProtegeOWLManager method createConcurrentOWLOntologyManager.

public static OWLOntologyManager createConcurrentOWLOntologyManager() {
    OWLOntologyManager manager = OWLManager.createConcurrentOWLOntologyManager();
    augmentManager(manager);
    return manager;
}
Also used : OWLOntologyManager(org.semanticweb.owlapi.model.OWLOntologyManager)

Example 34 with OWLOntologyManager

use of org.semanticweb.owlapi.model.OWLOntologyManager in project edammap by edamontology.

the class Edam method load.

public static Map<EdamUri, Concept> load(String edamPath) throws IOException {
    OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
    OWLOntology ontology;
    try {
        ontology = manager.loadOntologyFromOntologyDocument(new File(edamPath));
    } catch (OWLOntologyCreationException e) {
        throw new IOException(e);
    }
    String prefix = ontology.getOntologyID().getOntologyIRI().get().toString();
    return ontology.classesInSignature().filter(c -> EdamUri.isEdamUri(c.getIRI().toString(), prefix)).collect(Collectors.toMap(c -> new EdamUri(c.getIRI().toString(), prefix), c -> {
        Concept concept = new Concept();
        EntitySearcher.getAnnotations(c, ontology).forEachOrdered(a -> {
            if (a.getProperty().isLabel())
                concept.setLabel(a.getValue().asLiteral().get().getLiteral());
            else if (a.getProperty().isDeprecated())
                concept.setObsolete(true);
            else if (a.getProperty().toStringID().equals("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym") && a.getValue().asLiteral().isPresent())
                concept.addExactSynonym(a.getValue().asLiteral().get().getLiteral());
            else if (a.getProperty().toStringID().equals("http://www.geneontology.org/formats/oboInOwl#hasNarrowSynonym") && a.getValue().asLiteral().isPresent())
                concept.addNarrowSynonym(a.getValue().asLiteral().get().getLiteral());
            else if (a.getProperty().toStringID().equals("http://www.geneontology.org/formats/oboInOwl#hasBroadSynonym") && a.getValue().asLiteral().isPresent())
                concept.addBroadSynonym(a.getValue().asLiteral().get().getLiteral());
            else if (a.getProperty().toStringID().equals("http://www.geneontology.org/formats/oboInOwl#hasDefinition") && a.getValue().asLiteral().isPresent())
                concept.setDefinition(a.getValue().asLiteral().get().getLiteral());
            else if (a.getProperty().isComment() && a.getValue().asLiteral().isPresent())
                concept.setComment(a.getValue().asLiteral().get().getLiteral());
        });
        concept.setDirectParents(EntitySearcher.getSuperClasses(c, ontology).filter(a -> a.isOWLClass() && !a.asOWLClass().getIRI().toString().equals("http://www.w3.org/2002/07/owl#DeprecatedClass")).map(a -> new EdamUri(a.asOWLClass().getIRI().toString(), prefix)).collect(Collectors.toList()));
        concept.setDirectChildren(EntitySearcher.getSubClasses(c, ontology).filter(a -> a.isOWLClass()).map(a -> new EdamUri(a.asOWLClass().getIRI().toString(), prefix)).collect(Collectors.toList()));
        if (concept.getLabel() == null)
            throw new IllegalStateException(String.format("Label of concept %s is empty", c.getIRI()));
        return concept;
    }, (u, v) -> {
        throw new IllegalStateException(String.format("Duplicate key %s", u));
    }, LinkedHashMap::new));
}
Also used : LinkedHashMap(java.util.LinkedHashMap) EntitySearcher(org.semanticweb.owlapi.search.EntitySearcher) OWLOntology(org.semanticweb.owlapi.model.OWLOntology) EnumMap(java.util.EnumMap) Map(java.util.Map) OWLOntologyCreationException(org.semanticweb.owlapi.model.OWLOntologyCreationException) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) OWLOntologyManager(org.semanticweb.owlapi.model.OWLOntologyManager) File(java.io.File) OWLManager(org.semanticweb.owlapi.apibinding.OWLManager) OWLOntologyCreationException(org.semanticweb.owlapi.model.OWLOntologyCreationException) OWLOntology(org.semanticweb.owlapi.model.OWLOntology) OWLOntologyManager(org.semanticweb.owlapi.model.OWLOntologyManager) IOException(java.io.IOException) File(java.io.File)

Example 35 with OWLOntologyManager

use of org.semanticweb.owlapi.model.OWLOntologyManager in project goci by EBISPOT.

the class IRITreeBuilder method buildIRITree.

// OntologyLoader ontologyLoader;
// 
// @Autowired
// public IRITreeBuilder(OntologyLoader ontologyLoader){
// this.ontologyLoader = ontologyLoader;
// }
public IRITree buildIRITree(URL efoLocation) throws URISyntaxException, OWLOntologyCreationException {
    // load efo
    getLog().info("Loading efo...");
    OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
    OWLOntology efo = manager.loadOntology(IRI.create(efoLocation));
    owlNothingIRI = manager.getOWLDataFactory().getOWLNothing().getIRI().toString();
    // create a reasoner over efo
    getLog().info("Reasoning over efo...");
    OWLReasonerFactory factory = new Reasoner.ReasonerFactory();
    ConsoleProgressMonitor progressMonitor = new ConsoleProgressMonitor();
    OWLReasonerConfiguration config = new SimpleConfiguration(progressMonitor);
    OWLReasoner reasoner = factory.createReasoner(efo, config);
    getLog().info("Precomputing inferences...");
    reasoner.precomputeInferences();
    getLog().info("Checking ontology consistency...");
    reasoner.isConsistent();
    // get 'top' class
    OWLClass topClass = reasoner.getTopClassNode().getRepresentativeElement();
    getLog().info("Reasoner 'top class' element is " + topClass.getIRI());
    IRITree tree = new IRITree();
    // do one level deep manually - should only be experimental factor
    IRINode rootNode = null;
    OWLClass efClass = null;
    NodeSet<OWLClass> subclasses = reasoner.getSubClasses(topClass, true);
    for (Node<OWLClass> node : subclasses) {
        OWLClass cls = node.getRepresentativeElement();
        getLog().debug("Next child of " + topClass + " is " + cls);
        if (cls.getIRI().toString().equals(OntologyConstants.EXPERIMENTAL_FACTOR_CLASS_IRI)) {
            efClass = cls;
            rootNode = new IRINode(cls.getIRI(), getClassLabel(efo, cls));
        }
    }
    if (rootNode != null) {
        getLog().info("Building tree... walking ontology from " + rootNode.getLabel() + " down...");
        tree.setRootNode(rootNode);
        recurse(reasoner, efo, efClass, rootNode);
        getLog().info("...Tree build complete!");
    } else {
        throw new RuntimeException("Could not find Experimental Factor as a child of OWL:Thing");
    }
    return tree;
}
Also used : OWLReasonerFactory(org.semanticweb.owlapi.reasoner.OWLReasonerFactory) OWLReasoner(org.semanticweb.owlapi.reasoner.OWLReasoner) ConsoleProgressMonitor(org.semanticweb.owlapi.reasoner.ConsoleProgressMonitor) OWLReasonerConfiguration(org.semanticweb.owlapi.reasoner.OWLReasonerConfiguration) OWLOntology(org.semanticweb.owlapi.model.OWLOntology) SimpleConfiguration(org.semanticweb.owlapi.reasoner.SimpleConfiguration) OWLClass(org.semanticweb.owlapi.model.OWLClass) OWLOntologyManager(org.semanticweb.owlapi.model.OWLOntologyManager) OWLReasonerFactory(org.semanticweb.owlapi.reasoner.OWLReasonerFactory)

Aggregations

OWLOntologyManager (org.semanticweb.owlapi.model.OWLOntologyManager)82 OWLOntology (org.semanticweb.owlapi.model.OWLOntology)52 OWLOntologyCreationException (org.semanticweb.owlapi.model.OWLOntologyCreationException)41 OWLDataFactory (org.semanticweb.owlapi.model.OWLDataFactory)23 OWLOntologyID (org.semanticweb.owlapi.model.OWLOntologyID)21 OWLAxiom (org.semanticweb.owlapi.model.OWLAxiom)17 HashSet (java.util.HashSet)13 IRI (org.semanticweb.owlapi.model.IRI)13 AddImport (org.semanticweb.owlapi.model.AddImport)12 OWLClass (org.semanticweb.owlapi.model.OWLClass)12 Test (org.junit.Test)11 ReasoningServiceException (org.apache.stanbol.reasoners.servicesapi.ReasoningServiceException)10 OWLObjectProperty (org.semanticweb.owlapi.model.OWLObjectProperty)10 OntModel (com.hp.hpl.jena.ontology.OntModel)9 InputStream (java.io.InputStream)9 OWLDataProperty (org.semanticweb.owlapi.model.OWLDataProperty)9 OWLOntologyStorageException (org.semanticweb.owlapi.model.OWLOntologyStorageException)9 ArrayList (java.util.ArrayList)8 InconsistentInputException (org.apache.stanbol.reasoners.servicesapi.InconsistentInputException)8 OWLOntologyChange (org.semanticweb.owlapi.model.OWLOntologyChange)8