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 2012/08/10 18:29:24 UTC
svn commit: r1371761 [1/3] - in /incubator/stanbol/trunk/ontologymanager:
ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/
ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/
ontonet/src/main/java/org/ap...
Author: alexdma
Date: Fri Aug 10 16:29:22 2012
New Revision: 1371761
URL: http://svn.apache.org/viewvc?rev=1371761&view=rev
Log:
STANBOL-426:
* Got rid of the placeholder OriginOrInputSource class. Switched back to simple OntologyInputSource for ontology addition methods, but now input sources without a root ontology object are tolerated, provided that they have a valid Origin.
STANBOL-571:
* First commit of the internal network structure OWL schema (in Turtle syntax), with the versionIRI set to match the revision in the trunk.
* Completed Vocabulary class, also with OWL API types.
Added:
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOntologyReferenceSource.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/StoredOntologySource.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/resources/ontologies/meta.owl
Removed:
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OriginOrInputSource.java
Modified:
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/NamedArtifact.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/Vocabulary.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollector.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractClerezzaGraphInputSource.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractGenericInputSource.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOWLOntologyInputSource.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologyInputSource.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologySpaceSource.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/Origin.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologyScopeFactory.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologySpaceFactory.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/AbstractOntologyCollectorImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/ClerezzaOntologyProvider.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/CoreSpaceImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/CustomSpaceImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/MGraphNetworkMultiplexer.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/OntologySpaceFactoryImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyScopeImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/renderers/ScopeSetRenderer.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/SessionImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/SessionManagerImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/TestOntologyNetworkPersistence.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/io/TestClerezzaInputSources.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/io/TestOWLAPIInputSources.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeResource.java
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java
incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/imports/inc_scope.ftl
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/NamedArtifact.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/NamedArtifact.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/NamedArtifact.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/NamedArtifact.java Fri Aug 10 16:29:22 2012
@@ -19,9 +19,9 @@ package org.apache.stanbol.ontologymanag
import org.semanticweb.owlapi.model.IRI;
/**
- * Denotes any API artifact that has an identifier. Both the identifier and the concatenation of the
- * namespace with the identifier should be unique in the system. Having both a non-null namespace and ID is
- * optional, but at least one of them should be non-null.
+ * Denotes any API artifact that has an identifier. Both the identifier and the concatenation of the namespace
+ * with the identifier should be unique in the system. Having both a non-null namespace and ID is optional,
+ * but at least one of them should be non-null.
*
* @author alexdma
*
@@ -45,7 +45,7 @@ public interface NamedArtifact {
* objects of different types cannot have the same ID. These aspects should be ensured by registries,
* indexers etc.<br>
* <br>
- * TODO check if a type other than String (e.g. URI, IRI, UriRef) should be used.
+ * XXX check if a type other than String (e.g. URI, IRI, UriRef) should be used.
*
* @return an identifier for this resource.
*/
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java Fri Aug 10 16:29:22 2012
@@ -18,7 +18,7 @@ package org.apache.stanbol.ontologymanag
import java.io.File;
-import org.apache.stanbol.ontologymanager.ontonet.api.io.OriginOrInputSource;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.scope.OntologyScope;
import org.apache.stanbol.ontologymanager.ontonet.api.scope.OntologyScopeFactory;
import org.apache.stanbol.ontologymanager.ontonet.api.scope.OntologySpaceFactory;
@@ -31,7 +31,7 @@ import org.apache.stanbol.ontologymanage
* <br>
* Note that since this object is both a {@link ScopeRegistry} and an {@link OntologyScopeFactory}, the call
* to {@link ScopeRegistry#registerScope(OntologyScope)} or its overloads after
- * {@link OntologyScopeFactory#createOntologyScope(String, OriginOrInputSource...)} is unnecessary, as the
+ * {@link OntologyScopeFactory#createOntologyScope(String, OntologyInputSource...)} is unnecessary, as the
* ONManager automatically registers newly created scopes.
*
* @author alexdma, anuzzolese
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/Vocabulary.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/Vocabulary.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/Vocabulary.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/Vocabulary.java Fri Aug 10 16:29:22 2012
@@ -17,9 +17,28 @@
package org.apache.stanbol.ontologymanager.ontonet.api;
import org.apache.clerezza.rdf.core.UriRef;
-
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLClass;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.OWLDataProperty;
+import org.semanticweb.owlapi.model.OWLIndividual;
+import org.semanticweb.owlapi.model.OWLObjectProperty;
+
+/**
+ * An internal representation of the vocabulary that Stanbol uses internally for representing stored
+ * ontologies and virtual ontology networks, and restoring them on startup. This vocabulary is not intended to
+ * be used for ontologies exposed to the public.
+ *
+ * TODO create the objects through reflection after parsing the corresponding OWL schema.
+ *
+ * @author alexdma
+ *
+ */
public class Vocabulary {
+ private static OWLDataFactory __df = OWLManager.getOWLDataFactory();
+
/**
* The default namespace for the Stanbol OntoNet metadata vocabulary
*/
@@ -34,124 +53,349 @@ public class Vocabulary {
*/
public static final String _NS_STANBOL_INTERNAL = "http://stanbol.apache.org/ontology/.internal/";
+ private static final String _SHORT_APPENDED_TO = "isAppendedTo";
+
+ private static final String _SHORT_ENTRY = "Entry";
+
+ private static final String _SHORT_GRAPH = "Graph";
+
+ private static final String _SHORT_HAS_APPENDED = "hasAppended";
+
+ private static final String _SHORT_HAS_ONTOLOGY_IRI = "hasOntologyIRI";
+
+ private static final String _SHORT_HAS_SPACE_CORE = "hasCoreSpace";
+
+ private static final String _SHORT_HAS_SPACE_CUSTOM = "hasCustomSpace";
+
+ private static final String _SHORT_HAS_STATUS = "hasStatus";
+
+ private static final String _SHORT_HAS_VERSION_IRI = "hasVersionIRI";
+
+ private static final String _SHORT_IS_MANAGED_BY = "isManagedBy";
+
+ private static final String _SHORT_IS_MANAGED_BY_CORE = "isManagedByCore";
+
+ private static final String _SHORT_IS_MANAGED_BY_CUSTOM = "isManagedByCustom";
+
+ private static final String _SHORT_IS_SPACE_CORE_OF = "isCoreSpaceOf";
+
+ private static final String _SHORT_IS_SPACE_CUSTOM_OF = "isCustomSpaceOf";
+
+ private static final String _SHORT_MANAGES = "manages";
+
+ private static final String _SHORT_MANAGES_IN_CORE = "managesInCore";
+
+ private static final String _SHORT_MANAGES_IN_CUSTOM = "managesInCustom";
+
+ private static final String _SHORT_MAPS_TO_GRAPH = "mapsToGraph";
+
+ private static final String _SHORT_RETRIEVED_FROM = "retrievedFrom";
+
+ private static final String _SHORT_SCOPE = "Scope";
+
+ private static final String _SHORT_SESSION = "Session";
+
+ private static final String _SHORT_SIZE_IN_AXIOMS = "hasSizeInAxioms";
+
+ private static final String _SHORT_SIZE_IN_TRIPLES = "hasSizeInTriples";
+
+ private static final String _SHORT_SPACE = "Space";
+
+ private static final String _SHORT_STATUS = "Status";
+
+ private static final String _SHORT_STATUS_ACTIVE = _SHORT_STATUS + ".ACTIVE";
+
+ private static final String _SHORT_STATUS_INACTIVE = _SHORT_STATUS + ".INACTIVE";
+
/**
* The OWL <b>object property</b> <tt>isAppendedTo</tt>.
*/
- public static final UriRef APPENDED_TO = new UriRef(_NS_ONTONET + "isAppendedTo");
+ public static final OWLObjectProperty APPENDED_TO = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_APPENDED_TO));
/**
- * The OWL <b>class</b> <tt>Scope</tt>.
+ * The OWL <b>object property</b> <tt>isAppendedTo</tt> (in UriRef form).
+ */
+ public static final UriRef APPENDED_TO_URIREF = new UriRef(_NS_ONTONET + _SHORT_APPENDED_TO);
+
+ /**
+ * The OWL <b>class</b> <tt>Entry</tt>.
+ */
+ public static final OWLClass ENTRY = __df.getOWLClass(IRI.create(_NS_ONTONET + _SHORT_ENTRY));
+
+ /**
+ * The OWL <b>class</b> <tt>Entry</tt> (in UriRef form).
+ */
+ public static final UriRef ENTRY_URIREF = new UriRef(_NS_ONTONET + _SHORT_ENTRY);
+
+ /**
+ * The OWL <b>class</b> <tt>Graph</tt>.
*/
- public static final UriRef ENTRY = new UriRef(_NS_ONTONET + "Entry");
+ public static final OWLClass GRAPH = __df.getOWLClass(IRI.create(_NS_ONTONET + _SHORT_GRAPH));
+
+ /**
+ * The OWL <b>class</b> <tt>Graph</tt> (in UriRef form).
+ */
+ public static final UriRef GRAPH_URIREF = new UriRef(_NS_ONTONET + _SHORT_GRAPH);
/**
* The OWL <b>object property</b> <tt>hasAppended</tt>.
*/
- public static final UriRef HAS_APPENDED = new UriRef(_NS_ONTONET + "hasAppended");
+ public static final OWLObjectProperty HAS_APPENDED = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_HAS_APPENDED));
+
+ /**
+ * The OWL <b>object property</b> <tt>hasAppended</tt> (in UriRef form).
+ */
+ public static final UriRef HAS_APPENDED_URIREF = new UriRef(_NS_ONTONET + _SHORT_HAS_APPENDED);
/**
* The OWL <b>datatype property</b> <tt>hasOntologyIRI</tt>.
*/
- public static final UriRef HAS_ONTOLOGY_IRI = new UriRef(_NS_ONTONET + "hasOntologyIRI");
+ public static final OWLDataProperty HAS_ONTOLOGY_IRI = __df.getOWLDataProperty(IRI
+ .create(_NS_ONTONET + _SHORT_HAS_ONTOLOGY_IRI));
/**
- * The OWL <b>object property</b> <tt>hasCoreSpace</tt>.
+ * The OWL <b>datatype property</b> <tt>hasOntologyIRI</tt> (in UriRef form).
*/
- public static final UriRef HAS_SPACE_CORE = new UriRef(_NS_ONTONET + "hasCoreSpace");
+ public static final UriRef HAS_ONTOLOGY_IRI_URIREF = new UriRef(_NS_ONTONET + _SHORT_HAS_ONTOLOGY_IRI);
/**
- * The OWL <b>object property</b> <tt>hasCustomSpace</tt>.
+ * The OWL <b>object property</b> <tt>isManagedBy</tt>.
*/
- public static final UriRef HAS_SPACE_CUSTOM = new UriRef(_NS_ONTONET + "hasCustomSpace");
+ public static final OWLObjectProperty HAS_SPACE_CORE = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_HAS_SPACE_CORE));
+
+ /**
+ * The OWL <b>object property</b> <tt>hasCoreSpace</tt> (in UriRef form).
+ */
+ public static final UriRef HAS_SPACE_CORE_URIREF = new UriRef(_NS_ONTONET + _SHORT_HAS_SPACE_CORE);
+
+ /**
+ * The OWL <b>object property</b> <tt>isManagedBy</tt>.
+ */
+ public static final OWLObjectProperty HAS_SPACE_CUSTOM = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_HAS_SPACE_CUSTOM));
+
+ /**
+ * The OWL <b>object property</b> <tt>hasCustomSpace</tt> (in UriRef form).
+ */
+ public static final UriRef HAS_SPACE_CUSTOM_URIREF = new UriRef(_NS_ONTONET + _SHORT_HAS_SPACE_CUSTOM);
+
+ /**
+ * The OWL <b>object property</b> <tt>hasStatus</tt> (in UriRef form).
+ */
+ public static final OWLObjectProperty HAS_STATUS = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_HAS_STATUS));
/**
* The OWL <b>object property</b> <tt>hasStatus</tt>.
*/
- public static final UriRef HAS_STATUS = new UriRef(_NS_ONTONET + "hasStatus");
+ public static final UriRef HAS_STATUS_URIREF = new UriRef(_NS_ONTONET + _SHORT_HAS_STATUS);
/**
* The OWL <b>datatype property</b> <tt>hasVersionIRI</tt>.
*/
- public static final UriRef HAS_VERSION_IRI = new UriRef(_NS_ONTONET + "hasVersionIRI");
+ public static final OWLDataProperty HAS_VERSION_IRI = __df.getOWLDataProperty(IRI
+ .create(_NS_ONTONET + _SHORT_HAS_VERSION_IRI));
+
+ /**
+ * The OWL <b>datatype property</b> <tt>hasVersionIRI</tt> (in UriRef form).
+ */
+ public static final UriRef HAS_VERSION_IRI_URIREF = new UriRef(_NS_ONTONET + _SHORT_HAS_VERSION_IRI);
/**
* The OWL <b>object property</b> <tt>isManagedBy</tt>.
*/
- public static final UriRef IS_MANAGED_BY = new UriRef(_NS_ONTONET + "isManagedBy");
+ public static final OWLObjectProperty IS_MANAGED_BY = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_IS_MANAGED_BY));
/**
* The OWL <b>object property</b> <tt>isManagedByCore</tt>.
*/
- public static final UriRef IS_MANAGED_BY_CORE = new UriRef(_NS_ONTONET + "isManagedByCore");
+ public static final OWLObjectProperty IS_MANAGED_BY_CORE = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_IS_MANAGED_BY_CORE));
+
+ /**
+ * The OWL <b>object property</b> <tt>isManagedByCore</tt> (in UriRef form).
+ */
+ public static final UriRef IS_MANAGED_BY_CORE_URIREF = new UriRef(_NS_ONTONET + _SHORT_IS_MANAGED_BY_CORE);
/**
* The OWL <b>object property</b> <tt>isManagedByCustom</tt>.
*/
- public static final UriRef IS_MANAGED_BY_CUSTOM = new UriRef(_NS_ONTONET + "isManagedByCustom");
+ public static final OWLObjectProperty IS_MANAGED_BY_CUSTOM = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_IS_MANAGED_BY_CUSTOM));
+
+ /**
+ * The OWL <b>object property</b> <tt>isManagedByCustom</tt> (in UriRef form).
+ */
+ public static final UriRef IS_MANAGED_BY_CUSTOM_URIREF = new UriRef(_NS_ONTONET
+ + _SHORT_IS_MANAGED_BY_CUSTOM);
+
+ /**
+ * The OWL <b>object property</b> <tt>isManagedBy</tt> (in UriRef form).
+ */
+ public static final UriRef IS_MANAGED_BY_URIREF = new UriRef(_NS_ONTONET + _SHORT_IS_MANAGED_BY);
/**
* The OWL <b>object property</b> <tt>isCoreSpaceOf</tt>.
*/
- public static final UriRef IS_SPACE_CORE_OF = new UriRef(_NS_ONTONET + "isCoreSpaceOf");
+ public static final OWLObjectProperty IS_SPACE_CORE_OF = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_IS_SPACE_CORE_OF));
+
+ /**
+ * The OWL <b>object property</b> <tt>isCoreSpaceOf</tt> (in UriRef form).
+ */
+ public static final UriRef IS_SPACE_CORE_OF_URIREF = new UriRef(_NS_ONTONET + _SHORT_IS_SPACE_CORE_OF);
/**
* The OWL <b>object property</b> <tt>isCustomSpaceOf</tt>.
*/
- public static final UriRef IS_SPACE_CUSTOM_OF = new UriRef(_NS_ONTONET + "isCustomSpaceOf");
+ public static final OWLObjectProperty IS_SPACE_CUSTOM_OF = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_IS_SPACE_CUSTOM_OF));
/**
- * The OWL <b>object property</b> <tt>manages</tt>.
+ * The OWL <b>object property</b> <tt>isCustomSpaceOf</tt> (in UriRef form).
*/
- public static final UriRef MANAGES = new UriRef(_NS_ONTONET + "manages");
+ public static final UriRef IS_SPACE_CUSTOM_OF_URIREF = new UriRef(_NS_ONTONET + _SHORT_IS_SPACE_CUSTOM_OF);
/**
+ * The OWL <b>object property</b> <tt>manages</tt>.
+ */
+ public static final OWLObjectProperty MANAGES = __df.getOWLObjectProperty(IRI.create(_NS_ONTONET
+ + _SHORT_MANAGES));
+ /**
* The OWL <b>object property</b> <tt>managesInCore</tt>.
*/
- public static final UriRef MANAGES_IN_CORE = new UriRef(_NS_ONTONET + "managesInCore");
+ public static final OWLObjectProperty MANAGES_IN_CORE = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_MANAGES_IN_CORE));
+
+ /**
+ * The OWL <b>object property</b> <tt>managesInCore</tt> (in UriRef form).
+ */
+ public static final UriRef MANAGES_IN_CORE_URIREF = new UriRef(_NS_ONTONET + _SHORT_MANAGES_IN_CORE);
/**
* The OWL <b>object property</b> <tt>managesInCustom</tt>.
*/
- public static final UriRef MANAGES_IN_CUSTOM = new UriRef(_NS_ONTONET + "managesInCustom");
+ public static final OWLObjectProperty MANAGES_IN_CUSTOM = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_MANAGES_IN_CUSTOM));
+
+ /**
+ * The OWL <b>object property</b> <tt>managesInCustom</tt> (in UriRef form).
+ */
+ public static final UriRef MANAGES_IN_CUSTOM_URIREF = new UriRef(_NS_ONTONET + _SHORT_MANAGES_IN_CUSTOM);
+
+ /**
+ * The OWL <b>object property</b> <tt>manages</tt> (in UriRef form).
+ */
+ public static final UriRef MANAGES_URIREF = new UriRef(_NS_ONTONET + _SHORT_MANAGES);
+
+ /**
+ * The OWL <b>object property</b> <tt>mapsToGraph</tt>.
+ */
+ public static final OWLObjectProperty MAPS_TO_GRAPH = __df.getOWLObjectProperty(IRI
+ .create(_NS_ONTONET + _SHORT_MAPS_TO_GRAPH));
+
+ /**
+ * The OWL <b>object property</b> <tt>mapsToGraph</tt> (in UriRef form).
+ */
+ public static final UriRef MAPS_TO_GRAPH_URIREF = new UriRef(_NS_ONTONET + _SHORT_MAPS_TO_GRAPH);
+
+ /**
+ * The OWL <b>datatype property</b> <tt>retrievedFrom</tt>.
+ */
+ public static final OWLDataProperty RETRIEVED_FROM = __df.getOWLDataProperty(IRI
+ .create(_NS_ONTONET + _SHORT_RETRIEVED_FROM));
+
+ /**
+ * The OWL <b>datatype property</b> <tt>retrievedFrom</tt> (in UriRef form).
+ */
+ public static final UriRef RETRIEVED_FROM_URIREF = new UriRef(_NS_ONTONET + _SHORT_RETRIEVED_FROM);
/**
* The OWL <b>class</b> <tt>Scope</tt>.
*/
- public static final UriRef SCOPE = new UriRef(_NS_ONTONET + "Scope");
+ public static final OWLClass SCOPE = __df.getOWLClass(IRI.create(_NS_ONTONET + _SHORT_SCOPE));
+
+ /**
+ * The OWL <b>class</b> <tt>Scope</tt> (in UriRef form).
+ */
+ public static final UriRef SCOPE_URIREF = new UriRef(_NS_ONTONET + _SHORT_SCOPE);
/**
* The OWL <b>class</b> <tt>Session</tt>.
*/
- public static final UriRef SESSION = new UriRef(_NS_ONTONET + "Session");
+ public static final OWLClass SESSION = __df.getOWLClass(IRI.create(_NS_ONTONET + _SHORT_SESSION));
+
+ /**
+ * The OWL <b>class</b> <tt>Session</tt> (in UriRef form).
+ */
+ public static final UriRef SESSION_URIREF = new UriRef(_NS_ONTONET + _SHORT_SESSION);
/**
* The OWL <b>datatype property</b> <tt>hasSizeInAxioms</tt>.
*/
- public static final UriRef SIZE_IN_AXIOMS = new UriRef(_NS_ONTONET + "hasSizeInAxioms");
+ public static final OWLDataProperty SIZE_IN_AXIOMS = __df.getOWLDataProperty(IRI
+ .create(_NS_ONTONET + _SHORT_SIZE_IN_AXIOMS));
+
+ /**
+ * The OWL <b>datatype property</b> <tt>hasSizeInAxioms</tt> (in UriRef form).
+ */
+ public static final UriRef SIZE_IN_AXIOMS_URIREF = new UriRef(_NS_ONTONET + _SHORT_SIZE_IN_AXIOMS);
/**
* The OWL <b>datatype property</b> <tt>hasSizeInTriples</tt>.
*/
- public static final UriRef SIZE_IN_TRIPLES = new UriRef(_NS_ONTONET + "hasSizeInTriples");
+ public static final OWLDataProperty SIZE_IN_TRIPLES = __df.getOWLDataProperty(IRI
+ .create(_NS_ONTONET + _SHORT_SIZE_IN_TRIPLES));
+
+ /**
+ * The OWL <b>datatype property</b> <tt>hasSizeInTriples</tt> (in UriRef form).
+ */
+ public static final UriRef SIZE_IN_TRIPLES_URIREF = new UriRef(_NS_ONTONET + _SHORT_SIZE_IN_TRIPLES);
/**
* The OWL <b>class</b> <tt>Space</tt>.
*/
- public static final UriRef SPACE = new UriRef(_NS_ONTONET + "Space");
+ public static final OWLClass SPACE = __df.getOWLClass(IRI.create(_NS_ONTONET + _SHORT_SPACE));
+
+ /**
+ * The OWL <b>class</b> <tt>Space</tt> (in UriRef form).
+ */
+ public static final UriRef SPACE_URIREF = new UriRef(_NS_ONTONET + _SHORT_SPACE);
/**
* The OWL <b>class</b> <tt>Status</tt>.
*/
- public static final UriRef STATUS = new UriRef(_NS_ONTONET + "Status");
+ public static final OWLClass STATUS = __df.getOWLClass(IRI.create(_NS_ONTONET + _SHORT_STATUS));
/**
* The OWL <b>individual</b> <tt>Status.ACTIVE</tt>.
*/
- public static final UriRef STATUS_ACTIVE = new UriRef(_NS_ONTONET + "Status.ACTIVE");
+ public static final OWLIndividual STATUS_ACTIVE = __df.getOWLNamedIndividual(IRI
+ .create(_NS_ONTONET + _SHORT_STATUS_ACTIVE));
+
+ /**
+ * The OWL <b>individual</b> <tt>Status.ACTIVE</tt> (in UriRef form).
+ */
+ public static final UriRef STATUS_ACTIVE_URIREF = new UriRef(_NS_ONTONET + _SHORT_STATUS_ACTIVE);
/**
* The OWL <b>individual</b> <tt>Status.INACTIVE</tt>.
*/
- public static final UriRef STATUS_INACTIVE = new UriRef(_NS_ONTONET + "Status.INACTIVE");
+ public static final OWLIndividual STATUS_INACTIVE = __df.getOWLNamedIndividual(IRI
+ .create(_NS_ONTONET + _SHORT_STATUS_INACTIVE));
+
+ /**
+ * The OWL <b>individual</b> <tt>Status.INACTIVE</tt> (in UriRef form).
+ */
+ public static final UriRef STATUS_INACTIVE_URIREF = new UriRef(_NS_ONTONET + _SHORT_STATUS_INACTIVE);
+
+ /**
+ * The OWL <b>class</b> <tt>Status</tt> (in UriRef form).
+ */
+ public static final UriRef STATUS_URIREF = new UriRef(_NS_ONTONET + _SHORT_STATUS);
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollector.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollector.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollector.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollector.java Fri Aug 10 16:29:22 2012
@@ -19,8 +19,8 @@ package org.apache.stanbol.ontologymanag
import java.util.Set;
import org.apache.stanbol.ontologymanager.ontonet.api.NamedArtifact;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSourceHandler;
-import org.apache.stanbol.ontologymanager.ontonet.api.io.OriginOrInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyProvider;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntologyID;
@@ -41,13 +41,11 @@ public interface OntologyCollector exten
* storage and does not have an OWL version IRI of its own, this ontology collector will 'claim ownership'
* of the ontology by setting its own logical ID as the version IRI of the new ontology.
*
- * TODO make this method return the public key as an {@link OWLOntologyID}.
- *
* @param ontology
* the ontology to be added
* @return the key that can be used for accessing the stored ontology directly
*/
- OWLOntologyID addOntology(OriginOrInputSource ontology);
+ OWLOntologyID addOntology(OntologyInputSource<?> ontology);
/**
* Returns the ontologies managed by this ontology space. This is a shortcut method for iterating
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractClerezzaGraphInputSource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractClerezzaGraphInputSource.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractClerezzaGraphInputSource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractClerezzaGraphInputSource.java Fri Aug 10 16:29:22 2012
@@ -16,18 +16,8 @@
*/
package org.apache.stanbol.ontologymanager.ontonet.api.io;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.apache.clerezza.rdf.core.NonLiteral;
-import org.apache.clerezza.rdf.core.Resource;
-import org.apache.clerezza.rdf.core.Triple;
import org.apache.clerezza.rdf.core.TripleCollection;
-import org.apache.clerezza.rdf.core.UriRef;
import org.apache.clerezza.rdf.core.access.TcManager;
-import org.apache.clerezza.rdf.ontologies.OWL;
-import org.apache.clerezza.rdf.ontologies.RDF;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,36 +41,4 @@ public abstract class AbstractClerezzaGr
super.bindRootOntology(ontology);
}
- @Override
- public Set<TripleCollection> getImports(boolean recursive) {
- return getImportedGraphs(rootOntology, recursive);
- }
-
- protected Set<TripleCollection> getImportedGraphs(TripleCollection g, boolean recursive) {
- Set<TripleCollection> result = new HashSet<TripleCollection>();
- UriRef u = null;
-
- Iterator<Triple> it = g.filter(null, RDF.type, OWL.Ontology);
- if (it.hasNext()) {
- NonLiteral subj = it.next().getSubject();
- if (it.hasNext()) log.warn(
- "RDF Graph has multiple OWL ontology definitions! Ignoring all but {}", subj);
- if (subj instanceof UriRef) u = (UriRef) subj;
- }
-
- it = g.filter(u, OWL.imports, null);
- while (it.hasNext()) {
- Resource r = it.next().getObject();
- if (r instanceof UriRef) {
- TripleCollection gr = TcManager.getInstance().getTriples((UriRef) r);
- // Avoid calls to getGraph() to save memory
- // if (gr instanceof Graph)
- result.add(/* (Graph) */gr);
- // else if (gr instanceof MGraph) result.add(((MGraph) gr).getGraph());
- if (recursive) result.addAll(getImportedGraphs(gr, true));
- }
- }
- return result;
- }
-
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractGenericInputSource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractGenericInputSource.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractGenericInputSource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractGenericInputSource.java Fri Aug 10 16:29:22 2012
@@ -34,17 +34,6 @@ public abstract class AbstractGenericInp
protected O rootOntology = null;
- @Override
- public OntologyInputSource<?> asInputSource() {
- return this;
- }
-
- @Override
- public Origin<?> asOrigin() {
- throw new UnsupportedOperationException("Unsupported conversion from " + getClass() + " to "
- + Origin.class);
- }
-
/**
* This method is used to remind developers to bind a physical reference to the
* {@link OntologyInputSource} if intending to do so.
@@ -99,16 +88,6 @@ public abstract class AbstractGenericInp
}
@Override
- public boolean isInputSource() {
- return true;
- }
-
- @Override
- public boolean isOrigin() {
- return false;
- }
-
- @Override
public abstract String toString();
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOWLOntologyInputSource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOWLOntologyInputSource.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOWLOntologyInputSource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOWLOntologyInputSource.java Fri Aug 10 16:29:22 2012
@@ -16,11 +16,8 @@
*/
package org.apache.stanbol.ontologymanager.ontonet.api.io;
-import java.util.Set;
-
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
-import org.semanticweb.owlapi.model.OWLOntologyManager;
/**
* Abstract OWL API implementation of {@link OntologyInputSource} with the basic methods for obtaining root
@@ -31,10 +28,4 @@ import org.semanticweb.owlapi.model.OWLO
*/
public abstract class AbstractOWLOntologyInputSource extends AbstractGenericInputSource<OWLOntology> {
- @Override
- public Set<OWLOntology> getImports(boolean recursive) {
- OWLOntologyManager mgr = rootOntology.getOWLOntologyManager();
- return (recursive ? mgr.getImportsClosure(rootOntology) : mgr.getDirectImports(rootOntology));
- }
-
}
Added: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOntologyReferenceSource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOntologyReferenceSource.java?rev=1371761&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOntologyReferenceSource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/AbstractOntologyReferenceSource.java Fri Aug 10 16:29:22 2012
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.ontologymanager.ontonet.api.io;
+
+/**
+ * Input sources that do not deliver an ontology object, but only a means for consumers to obtain one if they
+ * wish, should subclass this one.
+ *
+ * These input sources should be used whenever it is possible to avoid creating an ontology object, thereby
+ * saving resources. Examples include cases where the ontology is already stored in Stanbol, or whenever
+ * loading has to be deferred.
+ *
+ * @author alexdma
+ *
+ * @param <O>
+ * the ontology object
+ */
+@SuppressWarnings({"unchecked", "rawtypes"})
+public abstract class AbstractOntologyReferenceSource extends AbstractGenericInputSource {
+
+ public AbstractOntologyReferenceSource(Origin<?> origin) {
+ this.origin = origin;
+ this.rootOntology = null;
+ }
+
+}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologyInputSource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologyInputSource.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologyInputSource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologyInputSource.java Fri Aug 10 16:29:22 2012
@@ -16,8 +16,6 @@
*/
package org.apache.stanbol.ontologymanager.ontonet.api.io;
-import java.util.Set;
-
/**
* An ontology input source provides a point for loading an ontology. Currently it provides two ways of
* obtaining an ontology document:
@@ -36,15 +34,7 @@ import java.util.Set;
* @author alexdma
*
*/
-public interface OntologyInputSource<O> extends OriginOrInputSource {
-
- /**
- * Gets the ontology network resulting from the transitive closure of import statements on the root
- * ontology. Useful for implementations with a custom management of ontology loading.
- *
- * @return the import closure of the root ontology.
- */
- Set<O> getImports(boolean recursive);
+public interface OntologyInputSource<O> {
/**
* Returns a reference object that can be used for obtaining the supplied ontology. Depending on how the
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologySpaceSource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologySpaceSource.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologySpaceSource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/OntologySpaceSource.java Fri Aug 10 16:29:22 2012
@@ -56,11 +56,6 @@ public class OntologySpaceSource extends
}
@Override
- public Set<OWLOntology> getImports(boolean recursive) {
- return space.getManagedOntologies(OWLOntology.class, recursive);
- }
-
- @Override
public String toString() {
return "SCOPE_ONT_IRI<" + getOrigin() + ">";
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/Origin.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/Origin.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/Origin.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/Origin.java Fri Aug 10 16:29:22 2012
@@ -26,6 +26,7 @@ import org.semanticweb.owlapi.model.OWLO
* Currently the supported types are:
* <ul>
* <li> {@link IRI}, which is interpreted as the physical location of the resource.
+ * <li> {@link OWLOntologyID}, which is interpreted as the public key of an ontology already stored by Stanbol.
* <li> {@link UriRef}, which is interpreted as the name of a graph to be retrieved from an underlying Clerezza
* store (typically a {@link TcProvider}).
* </ul>
@@ -35,7 +36,7 @@ import org.semanticweb.owlapi.model.OWLO
* @param <R>
* the resource reference.
*/
-public class Origin<R> implements OriginOrInputSource {
+public class Origin<R> {
/**
* Creates a new Origin for a resource that can be retrieved by dereferencing the given IRI as an URL.
@@ -90,17 +91,6 @@ public class Origin<R> implements Origin
}
@Override
- public OntologyInputSource<?> asInputSource() {
- throw new UnsupportedOperationException("Unsupported conversion from " + getClass() + " to "
- + OntologyInputSource.class);
- }
-
- @Override
- public Origin<?> asOrigin() {
- return this;
- }
-
- @Override
public boolean equals(Object arg0) {
if (arg0 == null) return false;
if (!(arg0 instanceof Origin<?>)) return false;
@@ -117,16 +107,6 @@ public class Origin<R> implements Origin
}
@Override
- public boolean isInputSource() {
- return false;
- }
-
- @Override
- public boolean isOrigin() {
- return true;
- }
-
- @Override
public String toString() {
return "Origin(" + ref.toString() + ")";
}
Added: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/StoredOntologySource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/StoredOntologySource.java?rev=1371761&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/StoredOntologySource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/io/StoredOntologySource.java Fri Aug 10 16:29:22 2012
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.ontologymanager.ontonet.api.io;
+
+import org.semanticweb.owlapi.model.OWLOntologyID;
+
+/**
+ * An reference source for an ontology already stored by Stanbol with the given public key. Handlers are free
+ * to decide whether to obtain an ontology object from it , or simply pass the reference along.
+ *
+ * @author alexdma
+ *
+ */
+public class StoredOntologySource extends AbstractOntologyReferenceSource {
+
+ /**
+ * Creates a new instance of {@link StoredOntologySource}.
+ *
+ * @param publicKey
+ * the public key of the stored ontology.
+ */
+ public StoredOntologySource(OWLOntologyID publicKey) {
+ super(Origin.create(publicKey));
+ }
+
+ @Override
+ public String toString() {
+ return "PUBLIC-KEY" + origin.getReference();
+ }
+
+}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologyScopeFactory.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologyScopeFactory.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologyScopeFactory.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologyScopeFactory.java Fri Aug 10 16:29:22 2012
@@ -17,7 +17,7 @@
package org.apache.stanbol.ontologymanager.ontonet.api.scope;
import org.apache.stanbol.ontologymanager.ontonet.api.collector.DuplicateIDException;
-import org.apache.stanbol.ontologymanager.ontonet.api.io.OriginOrInputSource;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
/**
* An ontology scope factory is responsible for the creation of new ontology scopes from supplied ontology
@@ -44,5 +44,5 @@ public interface OntologyScopeFactory ex
* if an ontology scope with the given identifier is already <i>registered</i>. The exception
* is not thrown if another scope with the same ID has been created but not registered.
*/
- OntologyScope createOntologyScope(String scopeID, OriginOrInputSource... coreOntologies) throws DuplicateIDException;
+ OntologyScope createOntologyScope(String scopeID, OntologyInputSource<?>... coreOntologies) throws DuplicateIDException;
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologySpaceFactory.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologySpaceFactory.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologySpaceFactory.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/scope/OntologySpaceFactory.java Fri Aug 10 16:29:22 2012
@@ -17,7 +17,7 @@
package org.apache.stanbol.ontologymanager.ontonet.api.scope;
import org.apache.stanbol.ontologymanager.ontonet.api.NamedArtifact;
-import org.apache.stanbol.ontologymanager.ontonet.api.io.OriginOrInputSource;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.scope.OntologySpace.SpaceType;
/**
@@ -42,7 +42,7 @@ public interface OntologySpaceFactory ex
* the sources of the optional ontologies to be immediately loaded upon space creation.
* @return the generated ontology space.
*/
- CoreOntologySpace createCoreOntologySpace(String scopeId, OriginOrInputSource... coreOntologies);
+ CoreOntologySpace createCoreOntologySpace(String scopeId, OntologyInputSource<?>... coreOntologies);
/**
* Creates and sets up a default custom ontology space. Equivalent to calling
@@ -55,7 +55,7 @@ public interface OntologySpaceFactory ex
* the sources of the optional ontologies to be immediately loaded upon space creation.
* @return the generated ontology space.
*/
- CustomOntologySpace createCustomOntologySpace(String scopeId, OriginOrInputSource... customOntologies);
+ CustomOntologySpace createCustomOntologySpace(String scopeId, OntologyInputSource<?>... customOntologies);
/**
* Creates an ontology space of the specified type.
@@ -69,6 +69,8 @@ public interface OntologySpaceFactory ex
* the sources of the optional ontologies to be immediately loaded upon space creation.
* @return the generated ontology space.
*/
- OntologySpace createOntologySpace(String scopeId, SpaceType type, OriginOrInputSource... ontologySources);
+ OntologySpace createOntologySpace(String scopeId,
+ SpaceType type,
+ OntologyInputSource<?>... ontologySources);
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java Fri Aug 10 16:29:22 2012
@@ -46,9 +46,8 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.collector.UnmodifiableOntologyCollectorException;
import org.apache.stanbol.ontologymanager.ontonet.api.io.BlankOntologySource;
import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
-import org.apache.stanbol.ontologymanager.ontonet.api.io.Origin;
-import org.apache.stanbol.ontologymanager.ontonet.api.io.OriginOrInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.io.RootOntologyIRISource;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.StoredOntologySource;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyProvider;
import org.apache.stanbol.ontologymanager.ontonet.api.scope.CustomOntologySpace;
import org.apache.stanbol.ontologymanager.ontonet.api.scope.NoSuchScopeException;
@@ -407,7 +406,7 @@ public class ONManagerImpl extends Scope
}
@Override
- public OntologyScope createOntologyScope(String scopeID, OriginOrInputSource... coreOntologies) throws DuplicateIDException {
+ public OntologyScope createOntologyScope(String scopeID, OntologyInputSource<?>... coreOntologies) throws DuplicateIDException {
if (this.containsScope(scopeID)) throw new DuplicateIDException(scopeID,
"Scope registry already contains ontology scope with ID " + scopeID);
IRI prefix = IRI.create(getOntologyNetworkNamespace() + scopeRegistryId + "/");
@@ -511,13 +510,11 @@ public class ONManagerImpl extends Scope
long before = System.currentTimeMillis();
log.debug("Rebuilding scope with ID \"{}\".", scopeId);
Collection<OWLOntologyID> coreOnts = struct.getCoreOntologyKeysForScope(scopeId);
- Origin<?>[] srcs = new Origin<?>[coreOnts.size()];
+ OntologyInputSource<?>[] srcs = new OntologyInputSource<?>[coreOnts.size()];
int i = 0;
for (OWLOntologyID coreOnt : coreOnts) {
log.debug("Core ontology key : {}", coreOnts);
- srcs[i++] = Origin.create(coreOnt)
- // new GraphSource(coreOnt)
- ;
+ srcs[i++] = new StoredOntologySource(coreOnt);
}
OntologyScope scope;
try {
@@ -533,9 +530,7 @@ public class ONManagerImpl extends Scope
for (OWLOntologyID key : struct.getCustomOntologyKeysForScope(scopeId))
try {
log.debug("Custom ontology key : {}", key);
- custom.addOntology(Origin.create(key)
- // new GraphSource(key)
- );
+ custom.addOntology(new StoredOntologySource(key));
} catch (MissingOntologyException ex) {
log.error(
"Could not find an ontology with public key {} to be managed by scope \"{}\". Proceeding to next ontology.",
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/AbstractOntologyCollectorImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/AbstractOntologyCollectorImpl.java?rev=1371761&r1=1371760&r2=1371761&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/AbstractOntologyCollectorImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/clerezza/AbstractOntologyCollectorImpl.java Fri Aug 10 16:29:22 2012
@@ -50,11 +50,9 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSourceHandler;
import org.apache.stanbol.ontologymanager.ontonet.api.io.Origin;
-import org.apache.stanbol.ontologymanager.ontonet.api.io.OriginOrInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.io.RootOntologyIRISource;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OWLExportable;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyProvider;
-import org.apache.stanbol.ontologymanager.ontonet.api.scope.OntologySpace;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.OntologyUtils;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.model.AddImport;
@@ -121,87 +119,68 @@ public abstract class AbstractOntologyCo
supportedTypes.add(OWLOntology.class);
supportedTypes.add(TripleCollection.class);
setID(id);
- setNamespace(namespace);
+ setDefaultNamespace(namespace);
this.ontologyProvider = ontologyProvider;
this.managedOntologies = new HashSet<OWLOntologyID>();
}
@Override
- public OWLOntologyID addOntology(OriginOrInputSource ontology) {
- if (ontology.isInputSource()) return addOntology(ontology.asInputSource());
- if (ontology.isOrigin()) {
- addOntology(ontology.asOrigin());
- return null;
- }
- return null;
- }
-
- private synchronized OWLOntologyID addOntology(OntologyInputSource<?> ontologySource) throws UnmodifiableOntologyCollectorException {
-
- long before = System.currentTimeMillis();
+ public synchronized OWLOntologyID addOntology(OntologyInputSource<?> ontologySource) throws UnmodifiableOntologyCollectorException {
+ // Check for error conditions.
if (locked) throw new UnmodifiableOntologyCollectorException(this);
+ if (ontologySource == null) throw new IllegalArgumentException("Ontology source cannot be null.");
log.debug("Adding ontology to collector {}", getID());
- if (ontologySource == null || !ontologySource.hasRootOntology()) // No ontology to add
- throw new IllegalArgumentException(
- "Ontology source cannot be null and must provide an ontology object.");
-
- Object o = ontologySource.getRootOntology();
-
- // Now for the actual storage. We pass the ontology object directly.
OWLOntologyID key = null;
- // // FIXME restore ownership management, but maybe not by directly setting the versionIRI
- // if (ontologyProvider.hasOntology(id.getOntologyIRI())) if (o instanceof MGraph)
- // claimOwnership((MGraph) o);
- // else if (o instanceof OWLOntology) claimOwnership((OWLOntology) o);
-
- if (ontologySource.hasOrigin()) key = ontologyProvider.loadInStore(o, false,
- ontologySource.getOrigin());
- else key = ontologyProvider.loadInStore(o, false);
-
- /*
- * Actually we are not interested in knowing the key here (ontology collectors are not concerned with
- * them), but knowing it is non-null and non-empty indicates the operation was successful.
- */
- if (key != null) {
- // add to index
- managedOntologies.add(key);
- // // Always add sanitized version
- // managedOntologies.add(id.getVersionIRI() == null ? new OWLOntologyID(URIUtils.sanitizeID(id
- // .getOntologyIRI())) : new OWLOntologyID(URIUtils.sanitizeID(id.getOntologyIRI()),
- // URIUtils.sanitizeID(id.getVersionIRI())));
- // Note that imported ontologies are not considered as managed! TODO should we change this?
- log.debug("Add ontology completed in {} ms.", (System.currentTimeMillis() - before));
- // fire the event
- fireOntologyAdded(key);
- }
+ if (ontologySource.hasRootOntology()) {
+ long before = System.currentTimeMillis();
+ Object o = ontologySource.getRootOntology();
+ // // FIXME restore ownership management, but maybe not by directly setting the versionIRI
+ // if (ontologyProvider.hasOntology(id.getOntologyIRI())) if (o instanceof MGraph)
+ // claimOwnership((MGraph) o);
+ // else if (o instanceof OWLOntology) claimOwnership((OWLOntology) o);
+
+ // Check the origin anyhow, as it may be useful for setting aliases with physical locations etc.
+ if (ontologySource.hasOrigin()) key = ontologyProvider.loadInStore(o, false,
+ ontologySource.getOrigin());
+ else key = ontologyProvider.loadInStore(o, false);
+ if (key != null) {
+ managedOntologies.add(key);
+ // Note that imported ontologies are not considered as managed! TODO should we change this?
+ log.info("Add ontology completed in {} ms.", (System.currentTimeMillis() - before));
+ // Fire the event
+ fireOntologyAdded(key);
+ }
+ } else if (ontologySource.hasOrigin()) {
+ // Just the origin : see if it is satisfiable
+ log.debug("Checking origin satisfiability...");
+ Origin<?> origin = ontologySource.getOrigin();
+ Object ref = origin.getReference();
+ log.debug("Origin wraps a {}", ref.getClass().getCanonicalName());
+ if (ref instanceof IRI) try {
+ log.debug("Deferring addition to physical IRI {} (if available).", ref);
+ key = addOntology(new RootOntologyIRISource((IRI) ref));
+ } catch (OWLOntologyCreationException e) {
+ throw new RuntimeException(e);
+ }
+ else if (ref instanceof UriRef) {
+ log.debug("Deferring addition to stored Clerezza graph {} (if available).", ref);
+ key = addOntology(new GraphSource((UriRef) ref));
+ } else if (ref instanceof OWLOntologyID) {
+ OWLOntologyID idref = (OWLOntologyID) ref;
+ log.debug("Deferring addition to stored ontology with public key {} (if available).", ref);
+ if (!ontologyProvider.hasOntology(idref)) throw new MissingOntologyException(this, idref);
+ key = idref;
+ if (managedOntologies.add(idref)) fireOntologyAdded(idref);
+ } else throw new IllegalArgumentException("Invalid origin " + origin);
+ } else throw new IllegalArgumentException(
+ "Ontology source must provide either an ontology object, or a way to reference one (i.e. an origin).");
+ log.info("Public key : {}", key);
return key;
}
- private synchronized void addOntology(Origin<?> origin) throws UnmodifiableOntologyCollectorException {
- if (origin == null) throw new IllegalArgumentException("Origin cannot be null.");
- Object ref = origin.getReference();
- if (ref instanceof IRI) try {
- addOntology(new RootOntologyIRISource((IRI) ref));
- return;
- } catch (OWLOntologyCreationException e) {
- throw new RuntimeException(e);
- }
- if (ref instanceof UriRef) {
- addOntology(new GraphSource((UriRef) ref));
- return;
- }
- if (ref instanceof OWLOntologyID) {
- OWLOntologyID idref = (OWLOntologyID) ref;
- if (!ontologyProvider.hasOntology(idref)) throw new MissingOntologyException(this, idref);
- if (managedOntologies.add(idref)) fireOntologyAdded(idref);
- return;
- }
- throw new IllegalArgumentException("Invalid origin " + origin);
- }
-
@Override
public void addOntologyCollectorListener(OntologyCollectorListener listener) {
listeners.add(listener);
@@ -266,6 +245,21 @@ public abstract class AbstractOntologyCo
}
@Override
+ public boolean equals(Object arg0) {
+ if (arg0 == null) return false;
+ if (!(arg0 instanceof OntologyCollector)) return false;
+ if (this == arg0) return true;
+ log.warn(
+ "{} only implements weak equality, i.e. managed ontologies are only checked by public key, not by content.",
+ getClass());
+ OntologyCollector coll = (OntologyCollector) arg0;
+ return this.getID().equals(coll.getID())
+ && this.getDefaultNamespace().equals(coll.getDefaultNamespace())
+ && this.listManagedOntologies().equals(coll.listManagedOntologies())
+ && this.getSupportedOntologyTypes().equals(coll.getSupportedOntologyTypes());
+ }
+
+ @Override
public <O> O export(Class<O> returnType, boolean merge) {
return export(returnType, merge, getDefaultNamespace());
}
@@ -742,8 +736,6 @@ public abstract class AbstractOntologyCo
* only allows non-null and non-empty IRIs, with no query or fragment. Hash URIs are not
* allowed, slash URIs are preferred. If neither, a slash will be concatenated and a warning
* will be logged.
- *
- * @see OntologySpace#setNamespace(IRI)
*/
@Override
public void setDefaultNamespace(IRI namespace) {