You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by al...@apache.org on 2011/03/19 17:55:27 UTC
svn commit: r1083230 [2/3] - in /incubator/stanbol/trunk/kres:
eu.iksproject.kres.jersey/
eu.iksproject.kres.jersey/src/main/java/eu/iksproject/kres/jersey/
eu.iksproject.kres.jersey/src/main/java/eu/iksproject/kres/jersey/manager/
eu.iksproject.kres.j...
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManager.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManager.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManager.java Sat Mar 19 16:55:26 2011
@@ -5,6 +5,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Dictionary;
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
@@ -30,11 +32,11 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyIndexImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyScopeFactoryImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologySpaceFactoryImpl;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.ScopeRegistryImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.registry.model.impl.RegistryLoader;
import org.apache.stanbol.ontologymanager.ontonet.impl.session.KReSSessionManagerImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.session.ScopeSessionSynchronizer;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
import org.osgi.service.component.ComponentContext;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.io.FileDocumentSource;
@@ -49,11 +51,9 @@ import org.semanticweb.owlapi.model.OWLO
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
/**
- * The running context of a KReS Ontology Network Manager instance. From this
- * object it is possible to obtain factories, indices, registries and what have
- * you.
+ * The running context of a KReS Ontology Network Manager instance. From this object it is possible to obtain
+ * factories, indices, registries and what have you.
*
* @author alessandro
*
@@ -63,523 +63,479 @@ import org.slf4j.LoggerFactory;
// @Property(name="service.ranking",intValue=5)
public class ONManager implements KReSONManager {
- public static final String _ALIAS_DEFAULT = "/ontology";
- public static final String _CONFIG_FILE_PATH_DEFAULT = "";
- public static final String _KRES_NAMESPACE_DEFAULT = "http://kres.iksproject.eu/";
-
- // @Property(value = _ALIAS_DEFAULT)
- public static final String ALIAS = "eu.iksproject.kres.manager.ontologyNetworkManager.alias";
-
- @Property(value = _CONFIG_FILE_PATH_DEFAULT)
- public static String CONFIG_FILE_PATH = "eu.iksproject.kres.manager.ontologyNetworkManager.config_ont";
-
- @Property(value = _KRES_NAMESPACE_DEFAULT)
- public static String KRES_NAMESPACE = "kres.namespace";
-
- @SuppressWarnings("unused")
- private String alias = _ALIAS_DEFAULT;
- private String configPath = _CONFIG_FILE_PATH_DEFAULT;
- private String kresNs = _KRES_NAMESPACE_DEFAULT;
-
- // private static ONManager me = new ONManager();
- //
- // public static ONManager get() {
- // return me;
- // }
-
- // private ComponentContext ce;
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private OntologyIndex oIndex;
-
- private OntologyScopeFactory ontologyScopeFactory;
-
- private OntologySpaceFactory ontologySpaceFactory;
-
- private OWLOntologyManager owlCacheManager;
-
- private OWLDataFactory owlFactory;
-
- private RegistryLoader registryLoader;
-
- private ScopeRegistry scopeRegistry;
-
- private KReSSessionManager sessionManager;
-
- @Reference
- private OntologyStorage storage;
-
- /*
- * The identifiers (not yet parsed as IRIs) of the ontology scopes that
- * should be activated.
- */
- private String[] toActivate = new String[] {};
-
- public ONManager() {
- super();
- owlFactory = OWLManager.getOWLDataFactory();
- owlCacheManager = OWLManager.createOWLOntologyManager();
-
- // These depend on one another
- scopeRegistry = new ScopeRegistryImpl();
- oIndex = new OntologyIndexImpl(this);
-
- // These may require the OWL cache manager
- ontologySpaceFactory = new OntologySpaceFactoryImpl(scopeRegistry,
- storage);
- ontologyScopeFactory = new OntologyScopeFactoryImpl(scopeRegistry,
- ontologySpaceFactory);
- ontologyScopeFactory.addScopeEventListener(oIndex);
-
- // This requires the OWL cache manager
- registryLoader = new RegistryLoader(this);
-
- // TODO : assign dynamically in case the FISE persistence store is not
- // available.
- // storage = new FISEPersistenceStorage();
-
- sessionManager = new KReSSessionManagerImpl(IRI
- .create("http://kres.iks-project.eu/"), getScopeRegistry(),
- getOntologyStore());
- sessionManager.addSessionListener(new ScopeSessionSynchronizer(this));
- }
-
- /**
- * Instantiates all the default providers.
- *
- * TODO : Felix component constraints prevent this constructor from being
- * private, find a way around...
- */
- public ONManager(OntologyStorage ontologyStorage,
- Dictionary<String, Object> configuration) {
- this();
- try {
- activate(configuration);
- } catch (IOException e) {
- log.error("Unable to access servlet context.", e);
- }
- }
-
- /**
- * Used to configure an instance within an OSGi container.
- *
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- @Activate
- protected void activate(ComponentContext context) throws IOException {
- log.info("in " + ONManager.class + " activate with context " + context);
- if (context == null) {
- throw new IllegalStateException("No valid" + ComponentContext.class
- + " parsed in activate!");
- }
- activate((Dictionary<String, Object>) context.getProperties());
- }
-
- protected void activate(Dictionary<String, Object> configuration)
- throws IOException {
-
- // log.debug("KReS :: activating main component...");
- //
- // me = this;
- // this.ce = ce;
-
- String tfile = (String) configuration.get(CONFIG_FILE_PATH);
- if (tfile != null)
- this.configPath = tfile;
- String tns = (String) configuration.get(KRES_NAMESPACE);
- if (tns != null)
- this.kresNs = tns;
-
- // configPath = (String) configuration.get(CONFIG_FILE_PATH);
-
- /*
- * If there is no configuration file, just start with an empty scope set
- */
- if (configPath != null && !configPath.trim().isEmpty()) {
- OWLOntology oConf = null;
- OWLOntologyManager tempMgr = OWLManager.createOWLOntologyManager();
- OWLOntologyDocumentSource oConfSrc = null;
-
- try {
- log
- .debug("Try to load the configuration ontology from a local bundle relative path");
- InputStream is = this.getClass()
- .getResourceAsStream(configPath);
- oConfSrc = new StreamDocumentSource(is);
- } catch (Exception e1) {
- try {
- log.debug("Cannot load from a local bundle relative path",
- e1);
- log
- .debug("Try to load the configuration ontology resolving the given IRI");
- IRI iri = IRI.create(configPath);
- if (!iri.isAbsolute())
- throw new Exception(
- "IRI seems to be not absolute! value was: "
- + iri.toQuotedString());
- oConfSrc = new IRIDocumentSource(iri);
- if (oConfSrc == null)
- throw new Exception("Cannot load from the IRI: "
- + iri.toQuotedString());
- } catch (Exception e) {
- try {
- log.debug("Cannot load from the web", e1);
- log
- .debug("Try to load the configuration ontology as full local file path");
- oConfSrc = new FileDocumentSource(new File(configPath));
- } catch (Exception e2) {
- log.error(
- "Cannot load the configuration ontology from parameter value: "
- + configPath, e2);
- }
- }
- }
-
- if (oConfSrc == null) {
- log
- .warn("KReS :: [NONFATAL] No ONM configuration file found at path "
- + configPath
- + ". Starting with blank scope set.");
- } else {
- try {
- oConf = tempMgr.loadOntologyFromOntologyDocument(oConfSrc);
- } catch (OWLOntologyCreationException e) {
- log.error("Cannot create the configuration ontology", e);
- }
- }
-
- // Create and populate the scopes from the config ontology.
- bootstrapOntologyNetwork(oConf);
-
- }
- log.debug("KReS :: ONManager activated.");
-
- }
-
- private void bootstrapOntologyNetwork(OWLOntology configOntology) {
- if (configOntology == null) {
- log
- .debug("KReS :: Ontology Network Manager starting with empty scope set.");
- return;
- }
- try {
-
- /**
- * We create and register the scopes before activating
- */
- for (String scopeIRI : ConfigurationManagement
- .getScopes(configOntology)) {
-
- String[] cores = ConfigurationManagement.getCoreOntologies(
- configOntology, scopeIRI);
- String[] customs = ConfigurationManagement.getCustomOntologies(
- configOntology, scopeIRI);
-
- // "Be a man. Use printf"
- log.debug("KReS :: Scope " + scopeIRI);
- for (String s : cores) {
- log.debug("\tKReS :: Core ontology " + s);
- }
- for (String s : customs) {
- log.debug("\tKReS :: Custom ontology " + s);
- }
-
- // Create the scope
- IRI iri = IRI.create(scopeIRI);
- OntologyScope sc = null;
- sc = ontologyScopeFactory.createOntologyScope(iri,
- new BlankOntologySource());
-
- // Populate the core space
- if (cores.length > 0) {
- OntologySpace corespc = sc.getCoreSpace();
- corespc.tearDown();
- for (int i = 0; i < cores.length; i++)
- try {
- corespc.addOntology(new RootOntologyIRISource(IRI
- .create(cores[i])));
- } catch (Exception ex) {
- log.warn("KReS :: failed to import ontology "
- + cores[i], ex);
- continue;
- }
- // TODO: this call should be automatic
- ((CustomOntologySpace) sc.getCustomSpace())
- .attachCoreSpace((CoreOntologySpace) corespc, false);
- }
-
- sc.setUp();
- scopeRegistry.registerScope(sc);
-
- // getScopeHelper().createScope(scopeIRI);
-// getScopeHelper().addToCoreSpace(scopeIRI, cores);
- getScopeHelper().addToCustomSpace(scopeIRI, customs);
- }
-
- /**
- * Try to get activation policies
- */
- toActivate = ConfigurationManagement
- .getScopesToActivate(configOntology);
-
- for (String scopeID : toActivate) {
- try {
- IRI scopeId = IRI.create(scopeID.trim());
- scopeRegistry.setScopeActive(scopeId, true);
- log.info("KReS :: Ontology scope " + scopeID
- + " activated.");
- } catch (NoSuchScopeException ex) {
- log.warn("Tried to activate unavailable scope " + scopeID
- + ".");
- } catch (Exception ex) {
- log.error("Exception caught while activating scope "
- + scopeID + " . Skipping.", ex);
- continue;
- }
- }
-
- } catch (Throwable e) {
- log.error("[NONFATAL] Invalid ONM configuration file found. "
- + "Starting with blank scope set.", e);
- }
-
- }
-
- /**
- * Deactivation of the ONManager resets all its resources.
- */
- @Deactivate
- protected void deactivate(ComponentContext context) {
- log.info("in " + ONManager.class + " deactivate with context "
- + context);
- }
-
- @Override
- public String getKReSNamespace() {
- return kresNs;
- }
-
- public OntologyIndex getOntologyIndex() {
- return oIndex;
- }
-
- /**
- * Returns the ontology scope factory that was created along with the
- * manager context.
- *
- * @return the ontology scope factory
- */
- public OntologyScopeFactory getOntologyScopeFactory() {
- return ontologyScopeFactory;
- }
-
- /**
- * Returns the ontology space factory that was created along with the
- * manager context.
- *
- * @return the ontology space factory
- */
- public OntologySpaceFactory getOntologySpaceFactory() {
- return ontologySpaceFactory;
- }
-
- @Override
- public OntologyStorage getOntologyStore() {
- return storage;
- }
-
- public OWLOntologyManager getOwlCacheManager() {
- // return OWLManager.createOWLOntologyManager();
- return owlCacheManager;
- }
-
- /**
- * Returns a factory object that can be used for obtaining OWL API objects.
- *
- * @return the default OWL data factory
- */
- public OWLDataFactory getOwlFactory() {
- return owlFactory;
- }
-
- /**
- * Returns the default ontology registry loader.
- *
- * @return the default ontology registry loader
- */
- public RegistryLoader getRegistryLoader() {
- return registryLoader;
- }
-
- /**
- * Returns the unique ontology scope registry for this context.
- *
- * @return the ontology scope registry
- */
- public ScopeRegistry getScopeRegistry() {
- return scopeRegistry;
- }
-
- public KReSSessionManager getSessionManager() {
- return sessionManager;
- }
-
- public String[] getUrisToActivate() {
- return toActivate;
- }
-
- private Helper helper = null;
-
- public Helper getScopeHelper() {
- if (helper == null) {
- helper = new Helper();
- }
- return helper;
- }
-
- public class Helper {
- private Helper() {
- }
-
- /**
- * Create an empty scope. The scope is created, registered and activated
- *
- * @param scopeID
- * @return
- * @throws DuplicateIDException
- */
- public synchronized OntologyScope createScope(String scopeID)
- throws DuplicateIDException {
- OntologyInputSource oisbase = new BlankOntologySource();
-
- IRI scopeIRI = IRI.create(scopeID);
-
- /*
- * The scope is created by the ScopeFactory or loaded to the scope
- * registry of KReS
- */
- OntologyScope scope;
- scope = ontologyScopeFactory.createOntologyScope(scopeIRI, oisbase);
-
- scope.setUp();
- scopeRegistry.registerScope(scope, true);
- log.debug("Created scope " + scopeIRI, this);
- return scope;
- }
-
- /**
- * Adds the ontology from the given iri to the core space of the given
- * scope
- *
- * @param scopeID
- * @param locationIri
- */
- public synchronized void addToCoreSpace(String scopeID,
- String[] locationIris) {
- OntologyScope scope = getScopeRegistry().getScope(
- IRI.create(scopeID));
- OntologySpace corespc = scope.getCoreSpace();
- scope.tearDown();
- corespc.tearDown();
- for (String locationIri : locationIris) {
- try {
- corespc.addOntology(new RootOntologyIRISource(IRI
- .create(locationIri)));
- //
- // corespc.addOntology(
- // createOntologyInputSource(locationIri));
- log.debug("Added " + locationIri + " to scope " + scopeID
- + " in the core space.", this);
- // OntologySpace cs = scope.getCustomSpace();
- // if (cs instanceof CustomOntologySpace) {
- // (
- // (CustomOntologySpace)cs).attachCoreSpace((CoreOntologySpace)corespc,
- // false);
- // }
- } catch (UnmodifiableOntologySpaceException e) {
- log.error("Core space for scope " + scopeID
- + " denied addition of ontology " + locationIri, e);
- } catch (OWLOntologyCreationException e) {
- log.error("Creation of ontology from source " + locationIri
- + " failed.", e);
- }
- }
- corespc.setUp();
- }
-
- /**
- * Adds the ontology fromt he given iri to the custom space of the given
- * scope
- *
- * @param scopeID
- * @param locationIri
- */
- public synchronized void addToCustomSpace(String scopeID,
- String[] locationIris) {
- OntologyScope scope = getScopeRegistry().getScope(
- IRI.create(scopeID));
-
- scope.getCustomSpace().tearDown();
- for (String locationIri : locationIris) {
- try {
- scope.getCustomSpace().addOntology(
- createOntologyInputSource(locationIri));
- log.debug("Added " + locationIri + " to scope " + scopeID
- + " in the custom space.", this);
- } catch (UnmodifiableOntologySpaceException e) {
- log.error(
- "An error occurred while trying to add the ontology from location: "
- + locationIri, e);
- }
- }
- scope.getCustomSpace().setUp();
- }
-
- private OntologyInputSource createOntologyInputSource(final String uri) {
- /*
- * The scope factory needs an OntologyInputSource as input for the
- * core ontology space. We want to use the dbpedia ontology as core
- * ontology of our scope.
- */
- OntologyInputSource ois = new OntologyInputSource() {
-
- @Override
- public boolean hasRootOntology() {
- return true;
- }
-
- @Override
- public boolean hasPhysicalIRI() {
- return false;
- }
-
- @Override
- public OWLOntology getRootOntology() {
-
- try {
-
- OWLOntologyManager manager = OWLManager
- .createOWLOntologyManager();
- return manager.loadOntologyFromOntologyDocument(IRI
- .create(uri));
- } catch (OWLOntologyCreationException e) {
- log.error("Cannot load the ontology " + uri, e);
- } catch (Exception e) {
- log.error("Cannot load the ontology " + uri, e);
- }
- /** If some errors occur **/
- return null;
- }
-
- @Override
- public IRI getPhysicalIRI() {
- return null;
- }
- };
-
- return ois;
- }
- }
+ public static final String _ALIAS_DEFAULT = "/ontology";
+ public static final String _CONFIG_FILE_PATH_DEFAULT = "";
+ public static final String _KRES_NAMESPACE_DEFAULT = "http://kres.iksproject.eu/";
+
+ // @Property(value = _ALIAS_DEFAULT)
+ public static final String ALIAS = "eu.iksproject.kres.manager.ontologyNetworkManager.alias";
+
+ @Property(value = _CONFIG_FILE_PATH_DEFAULT)
+ public static String CONFIG_FILE_PATH = "eu.iksproject.kres.manager.ontologyNetworkManager.config_ont";
+
+ @Property(value = _KRES_NAMESPACE_DEFAULT)
+ public static String KRES_NAMESPACE = "kres.namespace";
+
+ @SuppressWarnings("unused")
+ private String alias = _ALIAS_DEFAULT;
+ private String configPath = _CONFIG_FILE_PATH_DEFAULT;
+ private String kresNs = _KRES_NAMESPACE_DEFAULT;
+
+ // private static ONManager me = new ONManager();
+ //
+ // public static ONManager get() {
+ // return me;
+ // }
+
+ // private ComponentContext ce;
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+ private OntologyIndex oIndex;
+
+ private OntologyScopeFactory ontologyScopeFactory;
+
+ private OntologySpaceFactory ontologySpaceFactory;
+
+ private OWLOntologyManager owlCacheManager;
+
+ private OWLDataFactory owlFactory;
+
+ private RegistryLoader registryLoader;
+
+ private ScopeRegistry scopeRegistry;
+
+ private KReSSessionManager sessionManager;
+
+ @Reference
+ private TcManager tcm;
+
+ @Reference
+ private WeightedTcProvider wtcp;
+
+ private OntologyStorage storage;
+
+ /*
+ * The identifiers (not yet parsed as IRIs) of the ontology scopes that should be activated.
+ */
+ private String[] toActivate = new String[] {};
+
+ public ONManager() {
+ super();
+ owlFactory = OWLManager.getOWLDataFactory();
+ owlCacheManager = OWLManager.createOWLOntologyManager();
+
+ // These depend on one another
+ scopeRegistry = new ScopeRegistryImpl();
+ oIndex = new OntologyIndexImpl(this);
+
+ // These may require the OWL cache manager
+ ontologySpaceFactory = new OntologySpaceFactoryImpl(scopeRegistry, storage);
+ ontologyScopeFactory = new OntologyScopeFactoryImpl(scopeRegistry, ontologySpaceFactory);
+ ontologyScopeFactory.addScopeEventListener(oIndex);
+
+ // This requires the OWL cache manager
+ registryLoader = new RegistryLoader(this);
+
+ // TODO : assign dynamically in case the FISE persistence store is not
+ // available.
+ // storage = new FISEPersistenceStorage();
+
+ sessionManager = new KReSSessionManagerImpl(IRI.create("http://kres.iks-project.eu/"),
+ getScopeRegistry(), storage);
+ sessionManager.addSessionListener(new ScopeSessionSynchronizer(this));
+ }
+
+ /**
+ * Instantiates all the default providers.
+ *
+ * TODO : Felix component constraints prevent this constructor from being private, find a way around...
+ */
+ public ONManager(TcManager tcm, WeightedTcProvider wtcp, Dictionary<String,Object> configuration) {
+ this();
+ storage = new OntologyStorage(tcm, wtcp);
+ try {
+ activate(configuration);
+ } catch (IOException e) {
+ log.error("Unable to access servlet context.", e);
+ }
+ }
+
+ /**
+ * Used to configure an instance within an OSGi container.
+ *
+ * @throws IOException
+ */
+ @SuppressWarnings("unchecked")
+ @Activate
+ protected void activate(ComponentContext context) throws IOException {
+ log.info("in " + ONManager.class + " activate with context " + context);
+ if (context == null) {
+ throw new IllegalStateException("No valid" + ComponentContext.class + " parsed in activate!");
+ }
+ activate((Dictionary<String,Object>) context.getProperties());
+ }
+
+ protected void activate(Dictionary<String,Object> configuration) throws IOException {
+
+ // log.debug("KReS :: activating main component...");
+ //
+ // me = this;
+ // this.ce = ce;
+
+ if (storage == null) storage = new OntologyStorage(this.tcm, this.wtcp);
+
+ String tfile = (String) configuration.get(CONFIG_FILE_PATH);
+ if (tfile != null) this.configPath = tfile;
+ String tns = (String) configuration.get(KRES_NAMESPACE);
+ if (tns != null) this.kresNs = tns;
+
+ // configPath = (String) configuration.get(CONFIG_FILE_PATH);
+
+ /*
+ * If there is no configuration file, just start with an empty scope set
+ */
+ if (configPath != null && !configPath.trim().isEmpty()) {
+ OWLOntology oConf = null;
+ OWLOntologyManager tempMgr = OWLManager.createOWLOntologyManager();
+ OWLOntologyDocumentSource oConfSrc = null;
+
+ try {
+ log.debug("Try to load the configuration ontology from a local bundle relative path");
+ InputStream is = this.getClass().getResourceAsStream(configPath);
+ oConfSrc = new StreamDocumentSource(is);
+ } catch (Exception e1) {
+ try {
+ log.debug("Cannot load from a local bundle relative path", e1);
+ log.debug("Try to load the configuration ontology resolving the given IRI");
+ IRI iri = IRI.create(configPath);
+ if (!iri.isAbsolute()) throw new Exception("IRI seems to be not absolute! value was: "
+ + iri.toQuotedString());
+ oConfSrc = new IRIDocumentSource(iri);
+ if (oConfSrc == null) throw new Exception("Cannot load from the IRI: "
+ + iri.toQuotedString());
+ } catch (Exception e) {
+ try {
+ log.debug("Cannot load from the web", e1);
+ log.debug("Try to load the configuration ontology as full local file path");
+ oConfSrc = new FileDocumentSource(new File(configPath));
+ } catch (Exception e2) {
+ log.error("Cannot load the configuration ontology from parameter value: "
+ + configPath, e2);
+ }
+ }
+ }
+
+ if (oConfSrc == null) {
+ log.warn("KReS :: [NONFATAL] No ONM configuration file found at path " + configPath
+ + ". Starting with blank scope set.");
+ } else {
+ try {
+ oConf = tempMgr.loadOntologyFromOntologyDocument(oConfSrc);
+ } catch (OWLOntologyCreationException e) {
+ log.error("Cannot create the configuration ontology", e);
+ }
+ }
+
+ // Create and populate the scopes from the config ontology.
+ bootstrapOntologyNetwork(oConf);
+
+ }
+ log.debug("KReS :: ONManager activated.");
+
+ }
+
+ private void bootstrapOntologyNetwork(OWLOntology configOntology) {
+ if (configOntology == null) {
+ log.debug("KReS :: Ontology Network Manager starting with empty scope set.");
+ return;
+ }
+ try {
+
+ /**
+ * We create and register the scopes before activating
+ */
+ for (String scopeIRI : ConfigurationManagement.getScopes(configOntology)) {
+
+ String[] cores = ConfigurationManagement.getCoreOntologies(configOntology, scopeIRI);
+ String[] customs = ConfigurationManagement.getCustomOntologies(configOntology, scopeIRI);
+
+ // "Be a man. Use printf"
+ log.debug("KReS :: Scope " + scopeIRI);
+ for (String s : cores) {
+ log.debug("\tKReS :: Core ontology " + s);
+ }
+ for (String s : customs) {
+ log.debug("\tKReS :: Custom ontology " + s);
+ }
+
+ // Create the scope
+ IRI iri = IRI.create(scopeIRI);
+ OntologyScope sc = null;
+ sc = ontologyScopeFactory.createOntologyScope(iri, new BlankOntologySource());
+
+ // Populate the core space
+ if (cores.length > 0) {
+ OntologySpace corespc = sc.getCoreSpace();
+ corespc.tearDown();
+ for (int i = 0; i < cores.length; i++)
+ try {
+ corespc.addOntology(new RootOntologyIRISource(IRI.create(cores[i])));
+ } catch (Exception ex) {
+ log.warn("KReS :: failed to import ontology " + cores[i], ex);
+ continue;
+ }
+ // TODO: this call should be automatic
+ ((CustomOntologySpace) sc.getCustomSpace()).attachCoreSpace((CoreOntologySpace) corespc,
+ false);
+ }
+
+ sc.setUp();
+ scopeRegistry.registerScope(sc);
+
+ // getScopeHelper().createScope(scopeIRI);
+ // getScopeHelper().addToCoreSpace(scopeIRI, cores);
+ getScopeHelper().addToCustomSpace(scopeIRI, customs);
+ }
+
+ /**
+ * Try to get activation policies
+ */
+ toActivate = ConfigurationManagement.getScopesToActivate(configOntology);
+
+ for (String scopeID : toActivate) {
+ try {
+ IRI scopeId = IRI.create(scopeID.trim());
+ scopeRegistry.setScopeActive(scopeId, true);
+ log.info("KReS :: Ontology scope " + scopeID + " activated.");
+ } catch (NoSuchScopeException ex) {
+ log.warn("Tried to activate unavailable scope " + scopeID + ".");
+ } catch (Exception ex) {
+ log.error("Exception caught while activating scope " + scopeID + " . Skipping.", ex);
+ continue;
+ }
+ }
+
+ } catch (Throwable e) {
+ log.error("[NONFATAL] Invalid ONM configuration file found. " + "Starting with blank scope set.",
+ e);
+ }
+
+ }
+
+ /**
+ * Deactivation of the ONManager resets all its resources.
+ */
+ @Deactivate
+ protected void deactivate(ComponentContext context) {
+ log.info("in " + ONManager.class + " deactivate with context " + context);
+ }
+
+ @Override
+ public String getKReSNamespace() {
+ return kresNs;
+ }
+
+ public OntologyIndex getOntologyIndex() {
+ return oIndex;
+ }
+
+ /**
+ * Returns the ontology scope factory that was created along with the manager context.
+ *
+ * @return the ontology scope factory
+ */
+ public OntologyScopeFactory getOntologyScopeFactory() {
+ return ontologyScopeFactory;
+ }
+
+ /**
+ * Returns the ontology space factory that was created along with the manager context.
+ *
+ * @return the ontology space factory
+ */
+ public OntologySpaceFactory getOntologySpaceFactory() {
+ return ontologySpaceFactory;
+ }
+
+ public OntologyStorage getOntologyStore() {
+ return storage;
+ }
+
+ public OWLOntologyManager getOwlCacheManager() {
+ // return OWLManager.createOWLOntologyManager();
+ return owlCacheManager;
+ }
+
+ /**
+ * Returns a factory object that can be used for obtaining OWL API objects.
+ *
+ * @return the default OWL data factory
+ */
+ public OWLDataFactory getOwlFactory() {
+ return owlFactory;
+ }
+
+ /**
+ * Returns the default ontology registry loader.
+ *
+ * @return the default ontology registry loader
+ */
+ public RegistryLoader getRegistryLoader() {
+ return registryLoader;
+ }
+
+ /**
+ * Returns the unique ontology scope registry for this context.
+ *
+ * @return the ontology scope registry
+ */
+ public ScopeRegistry getScopeRegistry() {
+ return scopeRegistry;
+ }
+
+ public KReSSessionManager getSessionManager() {
+ return sessionManager;
+ }
+
+ public String[] getUrisToActivate() {
+ return toActivate;
+ }
+
+ private Helper helper = null;
+
+ public Helper getScopeHelper() {
+ if (helper == null) {
+ helper = new Helper();
+ }
+ return helper;
+ }
+
+ public class Helper {
+ private Helper() {}
+
+ /**
+ * Create an empty scope. The scope is created, registered and activated
+ *
+ * @param scopeID
+ * @return
+ * @throws DuplicateIDException
+ */
+ public synchronized OntologyScope createScope(String scopeID) throws DuplicateIDException {
+ OntologyInputSource oisbase = new BlankOntologySource();
+
+ IRI scopeIRI = IRI.create(scopeID);
+
+ /*
+ * The scope is created by the ScopeFactory or loaded to the scope registry of KReS
+ */
+ OntologyScope scope;
+ scope = ontologyScopeFactory.createOntologyScope(scopeIRI, oisbase);
+
+ scope.setUp();
+ scopeRegistry.registerScope(scope, true);
+ log.debug("Created scope " + scopeIRI, this);
+ return scope;
+ }
+
+ /**
+ * Adds the ontology from the given iri to the core space of the given scope
+ *
+ * @param scopeID
+ * @param locationIri
+ */
+ public synchronized void addToCoreSpace(String scopeID, String[] locationIris) {
+ OntologyScope scope = getScopeRegistry().getScope(IRI.create(scopeID));
+ OntologySpace corespc = scope.getCoreSpace();
+ scope.tearDown();
+ corespc.tearDown();
+ for (String locationIri : locationIris) {
+ try {
+ corespc.addOntology(new RootOntologyIRISource(IRI.create(locationIri)));
+ //
+ // corespc.addOntology(
+ // createOntologyInputSource(locationIri));
+ log.debug("Added " + locationIri + " to scope " + scopeID + " in the core space.", this);
+ // OntologySpace cs = scope.getCustomSpace();
+ // if (cs instanceof CustomOntologySpace) {
+ // (
+ // (CustomOntologySpace)cs).attachCoreSpace((CoreOntologySpace)corespc,
+ // false);
+ // }
+ } catch (UnmodifiableOntologySpaceException e) {
+ log.error("Core space for scope " + scopeID + " denied addition of ontology "
+ + locationIri, e);
+ } catch (OWLOntologyCreationException e) {
+ log.error("Creation of ontology from source " + locationIri + " failed.", e);
+ }
+ }
+ corespc.setUp();
+ }
+
+ /**
+ * Adds the ontology fromt he given iri to the custom space of the given scope
+ *
+ * @param scopeID
+ * @param locationIri
+ */
+ public synchronized void addToCustomSpace(String scopeID, String[] locationIris) {
+ OntologyScope scope = getScopeRegistry().getScope(IRI.create(scopeID));
+
+ scope.getCustomSpace().tearDown();
+ for (String locationIri : locationIris) {
+ try {
+ scope.getCustomSpace().addOntology(createOntologyInputSource(locationIri));
+ log
+ .debug("Added " + locationIri + " to scope " + scopeID + " in the custom space.",
+ this);
+ } catch (UnmodifiableOntologySpaceException e) {
+ log.error("An error occurred while trying to add the ontology from location: "
+ + locationIri, e);
+ }
+ }
+ scope.getCustomSpace().setUp();
+ }
+
+ private OntologyInputSource createOntologyInputSource(final String uri) {
+ /*
+ * The scope factory needs an OntologyInputSource as input for the core ontology space. We want to
+ * use the dbpedia ontology as core ontology of our scope.
+ */
+ OntologyInputSource ois = new OntologyInputSource() {
+
+ @Override
+ public boolean hasRootOntology() {
+ return true;
+ }
+
+ @Override
+ public boolean hasPhysicalIRI() {
+ return false;
+ }
+
+ @Override
+ public OWLOntology getRootOntology() {
+
+ try {
+
+ OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
+ return manager.loadOntologyFromOntologyDocument(IRI.create(uri));
+ } catch (OWLOntologyCreationException e) {
+ log.error("Cannot load the ontology " + uri, e);
+ } catch (Exception e) {
+ log.error("Cannot load the ontology " + uri, e);
+ }
+ /** If some errors occur **/
+ return null;
+ }
+
+ @Override
+ public IRI getPhysicalIRI() {
+ return null;
+ }
+ };
+
+ return ois;
+ }
+ }
}
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java Sat Mar 19 16:55:26 2011
@@ -16,7 +16,6 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.OntologyUtils;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;
import org.semanticweb.owlapi.io.StringDocumentSource;
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java Sat Mar 19 16:55:26 2011
@@ -3,7 +3,6 @@ package org.apache.stanbol.ontologymanag
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.CoreOntologySpace;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SpaceType;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntologyManager;
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java Sat Mar 19 16:55:26 2011
@@ -6,7 +6,6 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SpaceType;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyManager;
Copied: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/NoSuchStoreException.java (from r1083178, incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/api/NoSuchStoreException.java)
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/NoSuchStoreException.java?p2=incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/NoSuchStoreException.java&p1=incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/api/NoSuchStoreException.java&r1=1083178&r2=1083230&rev=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/api/NoSuchStoreException.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/NoSuchStoreException.java Sat Mar 19 16:55:26 2011
@@ -1,4 +1,4 @@
-package org.apache.stanbol.ontologymanager.store.api;
+package org.apache.stanbol.ontologymanager.ontonet.impl.ontology;
public class NoSuchStoreException extends Exception {
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java Sat Mar 19 16:55:26 2011
@@ -10,7 +10,6 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.ScopeRegistry;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SessionOntologySpace;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
import org.semanticweb.owlapi.model.IRI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Copied: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyStorage.java (from r1083178, incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/impl/ClerezzaStorage.java)
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyStorage.java?p2=incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyStorage.java&p1=incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/impl/ClerezzaStorage.java&r1=1083178&r2=1083230&rev=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/impl/ClerezzaStorage.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyStorage.java Sat Mar 19 16:55:26 2011
@@ -1,4 +1,4 @@
-package org.apache.stanbol.ontologymanager.store.impl;
+package org.apache.stanbol.ontologymanager.ontonet.impl.ontology;
import java.util.Dictionary;
import java.util.HashSet;
@@ -14,14 +14,6 @@ import org.apache.clerezza.rdf.core.impl
import org.apache.clerezza.rdf.core.sparql.ParseException;
import org.apache.clerezza.rdf.core.sparql.QueryParser;
import org.apache.clerezza.rdf.core.sparql.query.Query;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.stanbol.ontologymanager.store.api.NoSuchStoreException;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStoreProvider;
import org.osgi.service.component.ComponentContext;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
@@ -37,21 +29,14 @@ import com.hp.hpl.jena.util.FileManager;
import eu.iksproject.kres.shared.transformation.JenaToClerezzaConverter;
import eu.iksproject.kres.shared.transformation.JenaToOwlConvert;
-@Component(immediate = true, metatype = true)
-@Service(OntologyStorage.class)
-public class ClerezzaStorage implements OntologyStorage {
+public class OntologyStorage {
- private static Logger log = LoggerFactory.getLogger(ClerezzaStorage.class);
-
- @Reference
- OntologyStoreProvider ontologyStoreProvider;
+ private static Logger log = LoggerFactory.getLogger(OntologyStorage.class);
public static final String URI = "http://ontologydesignpatterns.org/ont/iks/oxml.owl";
- @Reference
TcManager tcManager;
- @Reference
WeightedTcProvider weightedTcProvider;
/**
@@ -64,7 +49,7 @@ public class ClerezzaStorage implements
* or its overloads, to parse the configuration and then initialise the rule
* store if running outside a OSGI environment.
*/
- public ClerezzaStorage() {
+ private OntologyStorage() {
}
@@ -76,19 +61,16 @@ public class ClerezzaStorage implements
* @param wtcProvider
* @param osProvider
*/
- public ClerezzaStorage(TcManager tcManager, WeightedTcProvider wtcProvider,
- OntologyStoreProvider osProvider) {
+ public OntologyStorage(TcManager tcManager, WeightedTcProvider wtcProvider) {
this();
this.tcManager = tcManager;
this.weightedTcProvider = wtcProvider;
- this.ontologyStoreProvider = osProvider;
activate(new Hashtable<String, Object>());
}
@SuppressWarnings("unchecked")
- @Activate
- protected void activate(ComponentContext context) {
- log.info("in " + ClerezzaStorage.class + " activate with context "
+ protected void activate(ComponentContext context) {
+ log.info("in " + OntologyStorage.class + " activate with context "
+ context);
if (context == null) {
throw new IllegalStateException("No valid" + ComponentContext.class
@@ -98,35 +80,28 @@ public class ClerezzaStorage implements
}
protected void activate(Dictionary<String, Object> configuration) {
- ontologyStoreProvider.registerOntologyStorage(this);
+
}
- @Override
public void clear() {
// TODO Auto-generated method stub
}
- @Deactivate
protected void deactivate(ComponentContext context) {
- log.info("in " + ClerezzaStorage.class + " deactivate with context "
+ log.info("in " + OntologyStorage.class + " deactivate with context "
+ context);
- ontologyStoreProvider.unregisterOntologyStorage(this.getClass());
tcManager = null;
weightedTcProvider = null;
- ontologyStoreProvider = null;
}
- @Override
public void delete(IRI ontologyId) {
// TODO Auto-generated method stub
}
- @Override
public void deleteAll(Set<IRI> ontologyIds) {
// TODO Auto-generated method stub
}
- @Override
public OWLOntology getGraph(IRI ontologyID) throws NoSuchStoreException {
OWLOntology ontology = null;
@@ -150,7 +125,6 @@ public class ClerezzaStorage implements
return ontology;
}
- @Override
public Set<IRI> listGraphs() {
Set<IRI> iris = null;
@@ -165,7 +139,6 @@ public class ClerezzaStorage implements
}
- @Override
public OWLOntology load(IRI ontologyId) {
MGraph triples = TcManager.getInstance().getMGraph(
new UriRef(ontologyId.toString()));
@@ -174,7 +147,6 @@ public class ClerezzaStorage implements
return converter.ModelJenaToOwlConvert(om, "RDF/XML");
}
- @Override
public OWLOntology sparqlConstruct(String sparql, String datasetURI) {
Query query;
@@ -199,7 +171,6 @@ public class ClerezzaStorage implements
return converter.ModelJenaToOwlConvert(om, "RDF/XML");
}
- @Override
public void store(OWLOntology o) {
JenaToOwlConvert converter = new JenaToOwlConvert();
@@ -211,7 +182,6 @@ public class ClerezzaStorage implements
mg2.addAll(mg);
}
- @Override
public void store(OWLOntology o, IRI ontologyID) {
JenaToOwlConvert converter = new JenaToOwlConvert();
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java Sat Mar 19 16:55:26 2011
@@ -7,7 +7,6 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SpaceType;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/KReSSessionManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/KReSSessionManagerImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/KReSSessionManagerImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/KReSSessionManagerImpl.java Sat Mar 19 16:55:26 2011
@@ -19,7 +19,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionListener;
import org.apache.stanbol.ontologymanager.ontonet.api.session.KReSSession.State;
import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionEvent.OperationType;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
import org.slf4j.Logger;
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/Namespace.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/Namespace.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/Namespace.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/Namespace.java Sat Mar 19 16:55:26 2011
@@ -16,7 +16,7 @@ public class Namespace {
@BeforeClass
public static void setUp() {
// An ONManager with no store and default settings
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
}
@Test
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java Sat Mar 19 16:55:26 2011
@@ -50,7 +50,7 @@ public class TestIndexing {
@BeforeClass
public static void setup() {
// An ONManager with no store and default settings
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
// Since it is registered, this scope must be unique, or subsequent
// tests will fail on duplicate ID exceptions!
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java Sat Mar 19 16:55:26 2011
@@ -59,7 +59,7 @@ public class TestOntologyScope {
@BeforeClass
public static void setup() {
// An ONManager with no store and default settings
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
factory = onm.getOntologyScopeFactory();
if (factory == null)
fail("Could not instantiate ontology space factory");
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologySpaces.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologySpaces.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologySpaces.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologySpaces.java Sat Mar 19 16:55:26 2011
@@ -57,7 +57,7 @@ public class TestOntologySpaces {
@BeforeClass
public static void setup() {
// An ONManager with no store and default settings
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
spaceFactory = onm.getOntologySpaceFactory();
if (spaceFactory == null)
fail("Could not instantiate ontology space factory");
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/registry/TestRegistry.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/registry/TestRegistry.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/registry/TestRegistry.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/registry/TestRegistry.java Sat Mar 19 16:55:26 2011
@@ -32,7 +32,7 @@ public class TestRegistry {
@BeforeClass
public static void setup() {
// An ONManager with no store and default settings
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
}
@Test
Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java Sat Mar 19 16:55:26 2011
@@ -55,7 +55,7 @@ public class TestSessions {
@BeforeClass
public static void setup() {
// An ONManager with no store and default settings
- KReSONManager onm = new ONManager(null, new Hashtable<String, Object>());
+ KReSONManager onm = new ONManager(null,null, new Hashtable<String, Object>());
sesmgr = onm.getSessionManager();
scopeFactory = onm.getOntologyScopeFactory();
spaceFactory = onm.getOntologySpaceFactory();
Modified: incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/api/SemionManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/api/SemionManager.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/api/SemionManager.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/api/SemionManager.java Sat Mar 19 16:55:26 2011
@@ -2,7 +2,7 @@ package org.apache.stanbol.reengineer.ba
import java.util.Collection;
-import org.apache.stanbol.ontologymanager.store.api.NoSuchOntologyInStoreException;
+import org.apache.stanbol.reengineer.base.impl.NoSuchOntologyInStoreException;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
Added: incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/NoSuchOntologyInStoreException.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/NoSuchOntologyInStoreException.java?rev=1083230&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/NoSuchOntologyInStoreException.java (added)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/NoSuchOntologyInStoreException.java Sat Mar 19 16:55:26 2011
@@ -0,0 +1,22 @@
+package org.apache.stanbol.reengineer.base.impl;
+
+import org.semanticweb.owlapi.model.IRI;
+
+public class NoSuchOntologyInStoreException extends Exception {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ private IRI ontologyIRI;
+
+ public NoSuchOntologyInStoreException(IRI ontologyIRI) {
+ this.ontologyIRI = ontologyIRI;
+ }
+
+ public IRI getOntologyIRI() {
+ return ontologyIRI;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/OntologyStorage.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/OntologyStorage.java?rev=1083230&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/OntologyStorage.java (added)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/OntologyStorage.java Sat Mar 19 16:55:26 2011
@@ -0,0 +1,201 @@
+package org.apache.stanbol.reengineer.base.impl;
+
+import java.util.Dictionary;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Set;
+
+import org.apache.clerezza.rdf.core.MGraph;
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
+import org.apache.clerezza.rdf.core.impl.SimpleGraph;
+import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
+import org.apache.clerezza.rdf.core.sparql.ParseException;
+import org.apache.clerezza.rdf.core.sparql.QueryParser;
+import org.apache.clerezza.rdf.core.sparql.query.Query;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.NoSuchStoreException;
+import org.osgi.service.component.ComponentContext;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.hp.hpl.jena.ontology.OntModel;
+import com.hp.hpl.jena.ontology.OntModelSpec;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.util.FileManager;
+
+import eu.iksproject.kres.shared.transformation.JenaToClerezzaConverter;
+import eu.iksproject.kres.shared.transformation.JenaToOwlConvert;
+
+/**
+ * Copied to avoid cross-dependencies
+ *
+ * @author alessandro
+ *
+ */
+public class OntologyStorage {
+
+ private static Logger log = LoggerFactory.getLogger(OntologyStorage.class);
+
+ public static final String URI = "http://ontologydesignpatterns.org/ont/iks/oxml.owl";
+
+ TcManager tcManager;
+
+ WeightedTcProvider weightedTcProvider;
+
+ /**
+ * This default constructor is <b>only</b> intended to be used by the OSGI
+ * environment with Service Component Runtime support.
+ * <p>
+ * DO NOT USE to manually create instances - the ClerezzaStorage instances
+ * do need to be configured! YOU NEED TO USE
+ * {@link #ClerezzaStorage(TcManager, WeightedTcProvider, OntologyStoreProvider)}
+ * or its overloads, to parse the configuration and then initialise the rule
+ * store if running outside a OSGI environment.
+ */
+ private OntologyStorage() {
+
+ }
+
+ /**
+ * Basic constructor to be used if outside of an OSGi environment. Invokes
+ * default constructor.
+ *
+ * @param tcManager
+ * @param wtcProvider
+ * @param osProvider
+ */
+ public OntologyStorage(TcManager tcManager, WeightedTcProvider wtcProvider) {
+ this();
+ this.tcManager = tcManager;
+ this.weightedTcProvider = wtcProvider;
+ activate(new Hashtable<String, Object>());
+ }
+
+ @SuppressWarnings("unchecked")
+ protected void activate(ComponentContext context) {
+ log.info("in " + OntologyStorage.class + " activate with context "
+ + context);
+ if (context == null) {
+ throw new IllegalStateException("No valid" + ComponentContext.class
+ + " parsed in activate!");
+ }
+ activate((Dictionary<String, Object>) context.getProperties());
+ }
+
+ protected void activate(Dictionary<String, Object> configuration) {
+
+ }
+
+ public void clear() {
+ // TODO Auto-generated method stub
+ }
+
+ protected void deactivate(ComponentContext context) {
+ log.info("in " + OntologyStorage.class + " deactivate with context "
+ + context);
+ tcManager = null;
+ weightedTcProvider = null;
+ }
+
+ public void delete(IRI ontologyId) {
+ // TODO Auto-generated method stub
+ }
+
+ public void deleteAll(Set<IRI> ontologyIds) {
+ // TODO Auto-generated method stub
+ }
+
+ public OWLOntology getGraph(IRI ontologyID) throws NoSuchStoreException {
+ OWLOntology ontology = null;
+
+ if (tcManager != null) {
+ MGraph mGraph = tcManager.getMGraph(new UriRef(ontologyID
+ .toString()));
+ JenaToOwlConvert jowl = new JenaToOwlConvert();
+ OntModel ontModel = ModelFactory.createOntologyModel(
+ OntModelSpec.OWL_DL_MEM, FileManager.get().loadModel(
+ URI));
+ ontModel.add(JenaToClerezzaConverter
+ .clerezzaMGraphToJenaModel(mGraph));
+ ontology = jowl.ModelJenaToOwlConvert(ontModel, "RDF/XML");
+ // ontology =
+ // OWLAPIToClerezzaConverter.clerezzaMGraphToOWLOntology(mGraph);
+
+ } else {
+ throw new NoSuchStoreException(
+ "No store registered or activated in the environment.");
+ }
+ return ontology;
+ }
+
+ public Set<IRI> listGraphs() {
+
+ Set<IRI> iris = null;
+ Set<UriRef> uriRefs = tcManager.listTripleCollections();
+ if (uriRefs != null) {
+ iris = new HashSet<IRI>();
+ for (UriRef uriRef : uriRefs) {
+ iris.add(IRI.create(uriRef.toString()));
+ }
+ }
+ return iris;
+
+ }
+
+ public OWLOntology load(IRI ontologyId) {
+ MGraph triples = TcManager.getInstance().getMGraph(
+ new UriRef(ontologyId.toString()));
+ Model om = JenaToClerezzaConverter.clerezzaMGraphToJenaModel(triples);
+ JenaToOwlConvert converter = new JenaToOwlConvert();
+ return converter.ModelJenaToOwlConvert(om, "RDF/XML");
+ }
+
+ public OWLOntology sparqlConstruct(String sparql, String datasetURI) {
+
+ Query query;
+
+ MGraph mGraph = new SimpleMGraph();
+ try {
+ query = QueryParser.getInstance().parse(sparql);
+
+ UriRef datasetUriRef = new UriRef(datasetURI);
+ MGraph dataset = weightedTcProvider.getMGraph(datasetUriRef);
+
+ mGraph.addAll((SimpleGraph) tcManager.executeSparqlQuery(query,
+ dataset));
+
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ Model om = JenaToClerezzaConverter.clerezzaMGraphToJenaModel(mGraph);
+ JenaToOwlConvert converter = new JenaToOwlConvert();
+ return converter.ModelJenaToOwlConvert(om, "RDF/XML");
+ }
+
+ public void store(OWLOntology o) {
+
+ JenaToOwlConvert converter = new JenaToOwlConvert();
+ OntModel om = converter.ModelOwlToJenaConvert(o, "RDF/XML");
+ MGraph mg = JenaToClerezzaConverter.jenaModelToClerezzaMGraph(om);
+ // MGraph mg = OWLAPIToClerezzaConverter.owlOntologyToClerezzaMGraph(o);
+ MGraph mg2 = tcManager.createMGraph(new UriRef(o.getOntologyID()
+ .getOntologyIRI().toString()));
+ mg2.addAll(mg);
+ }
+
+ public void store(OWLOntology o, IRI ontologyID) {
+
+ JenaToOwlConvert converter = new JenaToOwlConvert();
+ OntModel om = converter.ModelOwlToJenaConvert(o, "RDF/XML");
+ MGraph mg = JenaToClerezzaConverter.jenaModelToClerezzaMGraph(om);
+ // MGraph mg = OWLAPIToClerezzaConverter.owlOntologyToClerezzaMGraph(o);
+ MGraph mg2 = tcManager.createMGraph(new UriRef(ontologyID.toString()));
+ mg2.addAll(mg);
+ }
+}
Modified: incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/SemionManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/SemionManagerImpl.java?rev=1083230&r1=1083178&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/SemionManagerImpl.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/SemionManagerImpl.java Sat Mar 19 16:55:26 2011
@@ -1,4 +1,4 @@
-package org.apache.stanbol.reengineer.base.api.impl;
+package org.apache.stanbol.reengineer.base.impl;
import java.io.IOException;
import java.util.ArrayList;
@@ -7,14 +7,15 @@ import java.util.Dictionary;
import java.util.Hashtable;
import java.util.Iterator;
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.stanbol.ontologymanager.ontonet.api.KReSONManager;
-import org.apache.stanbol.ontologymanager.store.api.NoSuchOntologyInStoreException;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
import org.apache.stanbol.reengineer.base.api.DataSource;
import org.apache.stanbol.reengineer.base.api.ReengineeringException;
import org.apache.stanbol.reengineer.base.api.SemionManager;
@@ -40,8 +41,13 @@ public class SemionManagerImpl implement
private final Logger log = LoggerFactory.getLogger(getClass());
- @Reference
- KReSONManager onManager;
+ @Reference
+ private TcManager tcm;
+
+ @Reference
+ private WeightedTcProvider wtcp;
+
+ private OntologyStorage storage;
private ArrayList<SemionReengineer> reengineers;
//
@@ -67,9 +73,9 @@ public class SemionManagerImpl implement
*
* @param onm
*/
- public SemionManagerImpl(KReSONManager onManager) {
+ public SemionManagerImpl(TcManager tcm, WeightedTcProvider wtcp) {
this();
- this.onManager = onManager;
+ storage = new OntologyStorage(tcm, wtcp);
activate(new Hashtable<String, Object>());
}
@@ -91,6 +97,7 @@ public class SemionManagerImpl implement
}
protected void activate(Dictionary<String, Object> configuration) {
+ if (storage == null) storage = new OntologyStorage(this.tcm, this.wtcp);
reengineers = new ArrayList<SemionReengineer>();
}
@@ -153,9 +160,9 @@ public class SemionManagerImpl implement
OWLOntology reengineeredDataOntology = null;
- OntologyStorage ontologyStorage = onManager.getOntologyStore();
+// OntologyStorage ontologyStorage = onManager.getOntologyStore();
- OWLOntology schemaOntology = ontologyStorage.load(schemaOntologyIRI);
+ OWLOntology schemaOntology = storage.load(schemaOntologyIRI);
if(schemaOntology == null){
throw new NoSuchOntologyInStoreException(schemaOntologyIRI);
Modified: incubator/stanbol/trunk/kres/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/SemionManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/SemionManagerTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/SemionManagerTest.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/SemionManagerTest.java Sat Mar 19 16:55:26 2011
@@ -6,9 +6,9 @@ import org.apache.stanbol.reengineer.bas
import org.apache.stanbol.reengineer.base.api.ReengineeringException;
import org.apache.stanbol.reengineer.base.api.SemionManager;
import org.apache.stanbol.reengineer.base.api.SemionReengineer;
-import org.apache.stanbol.reengineer.base.api.impl.SemionManagerImpl;
import org.apache.stanbol.reengineer.base.api.util.ReengineerType;
import org.apache.stanbol.reengineer.base.api.util.UnsupportedReengineerException;
+import org.apache.stanbol.reengineer.base.impl.SemionManagerImpl;
import org.junit.BeforeClass;
import org.junit.Test;
import org.semanticweb.owlapi.model.IRI;
Modified: incubator/stanbol/trunk/kres/reengineer/db/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/db/pom.xml?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/db/pom.xml (original)
+++ incubator/stanbol/trunk/kres/reengineer/db/pom.xml Sat Mar 19 16:55:26 2011
@@ -177,6 +177,18 @@
<artifactId>org.apache.clerezza.rdf.jena.serializer</artifactId>
<version>0.9-incubating-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.jena.sparql</artifactId>
+ <version>0.5-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.simple.storage</artifactId>
+ <version>0.7-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
<!-- XML deps -->
<dependency>
Modified: incubator/stanbol/trunk/kres/reengineer/db/src/test/java/org/apache/stanbol/reengineer/db/DBExtractorTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/db/src/test/java/org/apache/stanbol/reengineer/db/DBExtractorTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/db/src/test/java/org/apache/stanbol/reengineer/db/DBExtractorTest.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/db/src/test/java/org/apache/stanbol/reengineer/db/DBExtractorTest.java Sat Mar 19 16:55:26 2011
@@ -4,9 +4,13 @@ import java.util.Dictionary;
import java.util.Hashtable;
import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
+import org.apache.clerezza.rdf.core.sparql.QueryEngine;
+import org.apache.clerezza.rdf.jena.sparql.JenaSparqlEngine;
+import org.apache.clerezza.rdf.simple.storage.SimpleTcProvider;
import org.apache.stanbol.ontologymanager.ontonet.api.KReSONManager;
import org.apache.stanbol.ontologymanager.ontonet.impl.ONManager;
-import org.apache.stanbol.reengineer.base.api.impl.SemionManagerImpl;
+import org.apache.stanbol.reengineer.base.impl.SemionManagerImpl;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -22,9 +26,24 @@ public class DBExtractorTest {
@BeforeClass
public static void setupClass() {
Dictionary<String, Object> emptyConf = new Hashtable<String, Object>();
- onManager = new ONManager(null, emptyConf);
- dbExtractor = new DBExtractor(new SemionManagerImpl(onManager),
- onManager, new TcManager(), null, emptyConf);
+ class SpecialTcManager extends TcManager {
+ public SpecialTcManager(QueryEngine qe, WeightedTcProvider wtcp) {
+ super();
+ bindQueryEngine(qe);
+ bindWeightedTcProvider(wtcp);
+ }
+ }
+
+ QueryEngine qe = new JenaSparqlEngine();
+ WeightedTcProvider wtcp = new SimpleTcProvider();
+ TcManager tcm = new SpecialTcManager(qe, wtcp);
+
+ // Two different ontology storagez, the same sparql engine and tcprovider
+
+
+ onManager = new ONManager(tcm, wtcp,emptyConf);
+ dbExtractor = new DBExtractor(new SemionManagerImpl(tcm, wtcp),
+ onManager, tcm, wtcp, emptyConf);
graphNS = "http://kres.iks-project.eu/reengineering/test";
outputIRI = IRI.create(graphNS);
}
Modified: incubator/stanbol/trunk/kres/reengineer/xml/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/xml/pom.xml?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/xml/pom.xml (original)
+++ incubator/stanbol/trunk/kres/reengineer/xml/pom.xml Sat Mar 19 16:55:26 2011
@@ -175,6 +175,18 @@
<artifactId>org.apache.clerezza.rdf.jena.serializer</artifactId>
<version>0.9-incubating-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.jena.sparql</artifactId>
+ <version>0.5-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.simple.storage</artifactId>
+ <version>0.7-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
<!-- XML deps -->
<dependency>
Modified: incubator/stanbol/trunk/kres/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java Sat Mar 19 16:55:26 2011
@@ -4,12 +4,17 @@ import java.io.InputStream;
import java.util.Dictionary;
import java.util.Hashtable;
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
+import org.apache.clerezza.rdf.core.sparql.QueryEngine;
+import org.apache.clerezza.rdf.jena.sparql.JenaSparqlEngine;
+import org.apache.clerezza.rdf.simple.storage.SimpleTcProvider;
import org.apache.stanbol.ontologymanager.ontonet.api.KReSONManager;
import org.apache.stanbol.ontologymanager.ontonet.impl.ONManager;
import org.apache.stanbol.reengineer.base.api.DataSource;
import org.apache.stanbol.reengineer.base.api.SemionReengineer;
-import org.apache.stanbol.reengineer.base.api.impl.SemionManagerImpl;
import org.apache.stanbol.reengineer.base.api.util.ReengineerType;
+import org.apache.stanbol.reengineer.base.impl.SemionManagerImpl;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -70,8 +75,22 @@ public class XMLReengineerTest {
@Before
public void setup() {
Dictionary<String, Object> emptyConf = new Hashtable<String, Object>();
- KReSONManager onManager = new ONManager(null, emptyConf);
- xmlExtractor = new XMLExtractor(new SemionManagerImpl(onManager),
+
+ class SpecialTcManager extends TcManager {
+ public SpecialTcManager(QueryEngine qe, WeightedTcProvider wtcp) {
+ super();
+ bindQueryEngine(qe);
+ bindWeightedTcProvider(wtcp);
+ }
+ }
+
+ QueryEngine qe = new JenaSparqlEngine();
+ WeightedTcProvider wtcp = new SimpleTcProvider();
+ TcManager tcm = new SpecialTcManager(qe, wtcp);
+
+ // Two different ontology storagez, the same sparql engine and tcprovider
+ KReSONManager onManager = new ONManager(tcm, wtcp ,emptyConf);
+ xmlExtractor = new XMLExtractor(new SemionManagerImpl(tcm, wtcp),
onManager, emptyConf);
}
Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRecipeTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRecipeTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRecipeTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRecipeTest.java Sat Mar 19 16:55:26 2011
@@ -50,7 +50,7 @@ public class KReSAddRecipeTest {
@Before
public void setUp() {
Dictionary<String, Object> configuration = new Hashtable<String, Object>();
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
}
Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRuleTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRuleTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRuleTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRuleTest.java Sat Mar 19 16:55:26 2011
@@ -47,7 +47,7 @@ public class KReSAddRuleTest {
@Before
public void setUp() {
Dictionary<String, Object> configuration = new Hashtable<String, Object>();
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
}
Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRecipeTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRecipeTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRecipeTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRecipeTest.java Sat Mar 19 16:55:26 2011
@@ -46,7 +46,7 @@ public class KReSGetRecipeTest {
@Before
public void setUp() {
Dictionary<String, Object> configuration = new Hashtable<String, Object>();
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
}
Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRuleTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRuleTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRuleTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRuleTest.java Sat Mar 19 16:55:26 2011
@@ -48,7 +48,7 @@ public class KReSGetRuleTest {
@Before
public void setUp() {
Dictionary<String, Object> configuration = new Hashtable<String, Object>();
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
}
Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSLoadRuleFileTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSLoadRuleFileTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSLoadRuleFileTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSLoadRuleFileTest.java Sat Mar 19 16:55:26 2011
@@ -69,12 +69,12 @@ public class KReSLoadRuleFileTest {
@Test
public void testKReSLoadRuleFile() throws OWLOntologyStorageException {
Dictionary<String, Object> configuration = new Hashtable<String, Object>();
- KReSONManager onm = new ONManager(null,configuration);
+ KReSONManager onm = new ONManager(null,null,configuration);
Dictionary<String, Object> configuration2 = new Hashtable<String, Object>();
// configuration2.put(KReSRuleStore.RULE_ONTOLOGY, "");
configuration2.put(KReSRuleStore.RULE_ONTOLOGY_NAMESPACE, "http://kres.iks-project.eu/ontology/meta/rmi.owl#");
RuleStore store = new KReSRuleStore(onm,configuration2,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
- RuleStore newstore = new KReSRuleStore(new ONManager(null,configuration),configuration2,store.getOntology());
+ RuleStore newstore = new KReSRuleStore(new ONManager(null,null,configuration),configuration2,store.getOntology());
//Load the example file
KReSLoadRuleFile load = new KReSLoadRuleFile("./src/main/resources/RuleOntology/TestRuleFileExample.txt",store);
OWLOntology result = load.getStore().getOntology();
Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRecipeTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRecipeTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRecipeTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRecipeTest.java Sat Mar 19 16:55:26 2011
@@ -46,7 +46,7 @@ public class KReSRemoveRecipeTest {
@Before
public void setUp() {
Dictionary<String, Object> configuration = new Hashtable<String, Object>();
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
}
Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRuleTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRuleTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRuleTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRuleTest.java Sat Mar 19 16:55:26 2011
@@ -46,7 +46,7 @@ public class KReSRemoveRuleTest {
@Before
public void setUp() {
Dictionary<String, Object> configuration = new Hashtable<String, Object>();
- onm = new ONManager(null, new Hashtable<String, Object>());
+ onm = new ONManager(null,null, new Hashtable<String, Object>());
store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
}
Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRuleStoreTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRuleStoreTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRuleStoreTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRuleStoreTest.java Sat Mar 19 16:55:26 2011
@@ -51,10 +51,10 @@ public class KReSRuleStoreTest {
@Before
public void setUp() {
Dictionary<String, Object> configuration = new Hashtable<String, Object>();
- store = new KReSRuleStore(new ONManager(null, configuration),
+ store = new KReSRuleStore(new ONManager(null,null, configuration),
configuration,
"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
- blankStore = new KReSRuleStore(new ONManager(null, configuration),
+ blankStore = new KReSRuleStore(new ONManager(null,null, configuration),
configuration, "");
}
Modified: incubator/stanbol/trunk/kres/rules/refactor/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/refactor/pom.xml?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/refactor/pom.xml (original)
+++ incubator/stanbol/trunk/kres/rules/refactor/pom.xml Sat Mar 19 16:55:26 2011
@@ -90,12 +90,14 @@
<version>${stanbol-version}</version>
<scope>provided</scope>
</dependency>
+ <!--
<dependency>
<groupId>org.apache.stanbol</groupId>
<artifactId>org.apache.stanbol.ontologymanager.store</artifactId>
<version>${stanbol-version}</version>
<scope>provided</scope>
</dependency>
+ -->
<dependency>
<groupId>org.apache.stanbol</groupId>
<artifactId>org.apache.stanbol.reasoners.base</artifactId>