/* Copyright 2014 hbz, Pascal Christoph. * Licensed under the Eclipse Public License 1.0 */ package org.lobid.lodmill; import java.io.File; import java.net.URISyntaxException; import org.culturegraph.mf.morph.Metamorph; import org.culturegraph.mf.stream.converter.xml.XmlDecoder; import org.culturegraph.mf.stream.source.FileOpener; import org.junit.Test; /** * Test storing URN's as URI's. * * @author Pascal Christoph (dr0i) * */ @SuppressWarnings("javadoc") public final class UrnAsUriTest { private static final String TARGET_PATH = "tmp"; private static final String TEST_FILENAME = "CT003012479.nt"; private static final String TARGET_SUBPATH = "/nt/"; @SuppressWarnings("static-method") @Test public void testFlow() throws URISyntaxException { final FileOpener opener = new FileOpener(); opener.setCompression("BZIP2"); final XmlDecoder xmlDecoder = new XmlDecoder(); final MabXmlHandler handler = new MabXmlHandler(); final Metamorph morph = new Metamorph("src/main/resources/morph-hbz01-to-lobid.xml"); final Triples2RdfModel triple2model = new Triples2RdfModel(); triple2model.setInput("N-TRIPLE"); RdfModelFileWriter modelWriter = createModelWriter(); modelWriter.setProperty("http://purl.org/lobid/lv#hbzID"); triple2model.setReceiver(modelWriter); PipeEncodeTriples encoder = new PipeEncodeTriples(); encoder.setStoreUrnAsUri("true"); encoder.setReceiver(triple2model); xmlDecoder.setReceiver(handler).setReceiver(morph); morph.setReceiver(encoder); opener.setReceiver(xmlDecoder); opener.process( new File("src/test/resources/CT003012479.bz2").getAbsolutePath()); opener.closeStream(); final File testFile = new File(TARGET_PATH + TARGET_SUBPATH + "00301/" + TEST_FILENAME); AbstractIngestTests.compareFilesDefaultingBNodes(testFile, new File(Thread.currentThread().getContextClassLoader() .getResource(TEST_FILENAME).toURI())); } private static RdfModelFileWriter createModelWriter() { RdfModelFileWriter modelWriter = new RdfModelFileWriter(); modelWriter.setProperty("http://lobid.org/vocab/lobid#hbzID"); modelWriter.setSerialization("N-TRIPLES"); modelWriter.setStartIndex(2); modelWriter.setEndIndex(7); modelWriter.setTarget(TARGET_PATH + TARGET_SUBPATH); return modelWriter; } }