Repository: marmotta Updated Branches: refs/heads/develop cf7149064 -> b32dd5d7f
add option to KiWi handler to ignore namespaces on import Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/b32dd5d7 Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/b32dd5d7 Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/b32dd5d7 Branch: refs/heads/develop Commit: b32dd5d7f7dd885feef19cf0afb85f1e369355bf Parents: cf71490 Author: Sebastian Schaffert <[email protected]> Authored: Mon Oct 6 18:54:59 2014 +0200 Committer: Sebastian Schaffert <[email protected]> Committed: Mon Oct 6 18:54:59 2014 +0200 ---------------------------------------------------------------------- .../kiwi/loader/KiWiLoaderConfiguration.java | 10 ++++++++++ .../marmotta/kiwi/loader/generic/KiWiHandler.java | 18 ++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/b32dd5d7/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java index e3a9b64..ac1fdd1 100644 --- a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java +++ b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java @@ -35,6 +35,8 @@ public class KiWiLoaderConfiguration { public static final String LOADER_DROP_INDEXES = "loader.dropIndexes"; public static final String LOADER_STATISTICS_ENABLED = "loader.statistics.enabled"; public static final String LOADER_STATISTICS_GRAPH = "loader.statistics.graph"; + public static final String IGNORE_NAMESPACES = "loader.namespaces.ignore"; + /** * the size of a batch insert into the database; only when this number of statements has been processed will @@ -111,5 +113,13 @@ public class KiWiLoaderConfiguration { config.setProperty(LOADER_DROP_INDEXES,v); } + public boolean isIgnoreNamespaces() { + return config.getBoolean(IGNORE_NAMESPACES, false); + } + + public void setIgnoreNamespaces(boolean v) { + config.setProperty(IGNORE_NAMESPACES,v); + } + } http://git-wip-us.apache.org/repos/asf/marmotta/blob/b32dd5d7/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java index 176b85e..3bf9728 100644 --- a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java +++ b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java @@ -223,10 +223,20 @@ public class KiWiHandler implements RDFHandler { */ @Override public void handleNamespace(String prefix, String uri) throws RDFHandlerException { - try { - connection.storeNamespace(new KiWiNamespace(prefix,uri)); - } catch (SQLException e) { - throw new RDFHandlerException(e); + if(!config.isIgnoreNamespaces()) { + try { + KiWiNamespace result = connection.loadNamespaceByPrefix(prefix); + if(result != null) { + if(!result.getUri().equals(uri)) { + connection.deleteNamespace(result); + connection.storeNamespace(new KiWiNamespace(prefix,uri)); + } + } else { + connection.storeNamespace(new KiWiNamespace(prefix,uri)); + } + } catch (SQLException e) { + throw new RDFHandlerException(e); + } } }
