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

edu.stanford.protege.webprotege.owlapi.WebProtegeOWLManager Maven / Gradle / Ivy

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

import org.semanticweb.binaryowl.owlapi.BinaryOWLOntologyDocumentParserFactory;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import uk.ac.manchester.cs.owl.owlapi.OWLDataFactoryImpl;
import uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl;
import uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl;
import uk.ac.manchester.cs.owl.owlapi.concurrent.ConcurrentOWLOntologyBuilder;
import uk.ac.manchester.cs.owl.owlapi.concurrent.NoOpReadWriteLock;
import uk.ac.manchester.cs.owl.owlapi.concurrent.NonConcurrentOWLOntologyBuilder;

import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;

/**
 * Author: Matthew Horridge
* Stanford University
* Bio-Medical Informatics Research Group
* Date: 26/11/2012 */ public class WebProtegeOWLManager { public static OWLOntologyManager createConcurrentOWLOntologyManager() { var dataFactory = new OWLDataFactoryImpl(); var readWriteLock = new ReentrantReadWriteLock(); var manager = new OWLOntologyManagerImpl(dataFactory, readWriteLock); augmentManager(manager, readWriteLock); return manager; } public static OWLOntologyManager createOWLOntologyManager() { var manager = OWLManager.createOWLOntologyManager(); augmentManager(manager, new NoOpReadWriteLock()); return manager; } private static void augmentManager(OWLOntologyManager manager, ReadWriteLock readWriteLock) { var nonConcurrentBuilder = new NonConcurrentOWLOntologyBuilder(); var concurrentBuilder = new ConcurrentOWLOntologyBuilder(nonConcurrentBuilder, readWriteLock); var ontologyFactory = new OWLOntologyFactoryImpl(concurrentBuilder); manager.getOntologyFactories().add(ontologyFactory); manager.getOntologyParsers().add(new BinaryOWLOntologyDocumentParserFactory()); manager.getOntologyStorers().add(new BinaryOWLStorerFactory()); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy