Repository: marmotta Updated Branches: refs/heads/develop ea7ed4a81 -> 71d5dd167
fix bug introduced in 9ee0cade67ac92c30c11ad773f2e863c60fd1e3d Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/71d5dd16 Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/71d5dd16 Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/71d5dd16 Branch: refs/heads/develop Commit: 71d5dd167598a811458570c690488ebfbcfb6d1a Parents: ea7ed4a Author: Sebastian Schaffert <[email protected]> Authored: Thu Oct 30 11:32:38 2014 +0100 Committer: Sebastian Schaffert <[email protected]> Committed: Thu Oct 30 11:32:38 2014 +0100 ---------------------------------------------------------------------- .../kiwi/loader/generic/KiWiHandler.java | 6 --- .../marmotta/kiwi/loader/KiWiHandlerTest.java | 42 +++++++++++++++++--- .../marmotta/kiwi/loader/demo-duplicates.ttl | 8 ++++ 3 files changed, 45 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/71d5dd16/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 ef338e7..38cb456 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 @@ -271,16 +271,10 @@ public class KiWiHandler implements RDFHandler { long tripleId = registry.lookupKey(cacheKey); if(tripleId >= 0) { - // the triple has already been stored - - /* // try getting id from registry result.setId(tripleId); registry.registerKey(cacheKey, connection.getTransactionId(), result.getId()); - - storeTriple(result); - */ } else { // not found in registry, try loading from database result.setId(connection.getTripleId(subject,predicate,object,context)); http://git-wip-us.apache.org/repos/asf/marmotta/blob/71d5dd16/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java b/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java index bfaadac..1f54a2a 100644 --- a/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java +++ b/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java @@ -16,6 +16,7 @@ */ package org.apache.marmotta.kiwi.loader; +import info.aduna.iteration.Iterations; import org.apache.marmotta.kiwi.config.KiWiConfiguration; import org.apache.marmotta.kiwi.loader.generic.KiWiHandler; import org.apache.marmotta.kiwi.loader.mysql.KiWiMySQLHandler; @@ -28,6 +29,9 @@ import org.junit.*; import org.junit.rules.TestWatcher; import org.junit.runner.Description; import org.junit.runner.RunWith; +import org.openrdf.model.Statement; +import org.openrdf.model.URI; +import org.openrdf.model.vocabulary.RDF; import org.openrdf.repository.Repository; import org.openrdf.repository.RepositoryConnection; import org.openrdf.repository.RepositoryException; @@ -39,6 +43,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.sql.SQLException; +import java.util.List; /** * Add file description here! @@ -89,18 +94,45 @@ public class KiWiHandlerTest { @Test public void testImportNoCheck() throws Exception { - testImport(new KiWiLoaderConfiguration()); + testImport(new KiWiLoaderConfiguration(),"demo-data.foaf", RDFFormat.RDFXML); } @Test public void testImportExistanceCheck() throws Exception { KiWiLoaderConfiguration cfg = new KiWiLoaderConfiguration(); cfg.setStatementExistanceCheck(true); - testImport(cfg); + testImport(cfg, "demo-duplicates.ttl", RDFFormat.TURTLE); + + // check for duplicates + URI R1 = repository.getValueFactory().createURI("http://localhost:8080/R1"); + URI R2 = repository.getValueFactory().createURI("http://localhost:8080/R2"); + URI T1 = repository.getValueFactory().createURI("http://localhost:8080/T1"); + + try { + RepositoryConnection con = repository.getConnection(); + try { + con.begin(); + + List<Statement> r1l = Iterations.asList(con.getStatements(R1, RDF.TYPE, T1, true)); + Assert.assertEquals(1, r1l.size()); + + List<Statement> r2l = Iterations.asList(con.getStatements(R2, null, null, true)); + Assert.assertEquals(1, r2l.size()); + + con.commit(); + } catch(RepositoryException ex) { + con.rollback(); + } finally { + con.close(); + } + } catch(RepositoryException ex) { + ex.printStackTrace(); // TODO: handle error + } + } - private void testImport(KiWiLoaderConfiguration c) throws RDFParseException, IOException, RDFHandlerException { + private void testImport(KiWiLoaderConfiguration c, String file, RDFFormat fmt) throws RDFParseException, IOException, RDFHandlerException { KiWiHandler handler; if(store.getPersistence().getDialect() instanceof PostgreSQLDialect) { handler = new KiWiPostgresHandler(store, c); @@ -113,9 +145,9 @@ public class KiWiHandlerTest { try { // bulk import long start = System.currentTimeMillis(); - RDFParser parser = Rio.createParser(RDFFormat.RDFXML); + RDFParser parser = Rio.createParser(fmt); parser.setRDFHandler(handler); - parser.parse(this.getClass().getResourceAsStream("demo-data.foaf"),""); + parser.parse(this.getClass().getResourceAsStream(file),""); logger.info("bulk import in {} ms", System.currentTimeMillis() - start); http://git-wip-us.apache.org/repos/asf/marmotta/blob/71d5dd16/libraries/kiwi/kiwi-loader/src/test/resources/org/apache/marmotta/kiwi/loader/demo-duplicates.ttl ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-loader/src/test/resources/org/apache/marmotta/kiwi/loader/demo-duplicates.ttl b/libraries/kiwi/kiwi-loader/src/test/resources/org/apache/marmotta/kiwi/loader/demo-duplicates.ttl new file mode 100644 index 0000000..f531741 --- /dev/null +++ b/libraries/kiwi/kiwi-loader/src/test/resources/org/apache/marmotta/kiwi/loader/demo-duplicates.ttl @@ -0,0 +1,8 @@ +@prefix ns: <http://localhost:8080/> . + +ns:R1 a ns:T1. +ns:R1 a ns:T1. +ns:R1 a ns:T1. + +ns:R2 ns:P "V". +ns:R2 ns:P "V".
