All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aksw.rdfunit.io.reader.RdfReadAndCacheReader Maven / Gradle / Ivy

There is a newer version: 0.8.21
Show newest version
package org.aksw.rdfunit.io.reader;

import org.aksw.rdfunit.io.writer.RdfWriter;
import org.aksw.rdfunit.io.writer.RdfWriterException;
import org.apache.jena.query.Dataset;
import org.apache.jena.rdf.model.Model;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 

RDFReadAndCacheReader class.

* * @author Dimitris Kontokostas * reads from a RDFReader and caches result * @since 11/14/13 1:09 PM * @version $Id: $Id */ public class RdfReadAndCacheReader implements RdfReader { private static final Logger LOGGER = LoggerFactory.getLogger(RdfReadAndCacheReader.class); private final RdfReader reader; private final RdfWriter writer; /** *

Constructor for RDFReadAndCacheReader.

* * @param reader a {@link RdfReader} object. * @param writer a {@link RdfWriter} object. */ public RdfReadAndCacheReader(RdfReader reader, RdfWriter writer) { super(); this.reader = reader; this.writer = writer; } /** {@inheritDoc} */ @Override public void read(Model model) throws RdfReaderException { reader.read(model); //If read succeeds try to write try { writer.write(model); } catch (RdfWriterException e) { } } /** {@inheritDoc} */ @Override public void readDataset(Dataset dataset) throws RdfReaderException { reader.readDataset(dataset); //If read succeeds try to write try { //TODO change this writer.write(dataset.getDefaultModel()); } catch (RdfWriterException e) { LOGGER.warn("Could not cache RdfReader", e); } } /** {@inheritDoc} */ @Override public String toString() { return "RDFReadAndCacheReader{" + "reader=" + reader + ", writer=" + writer + '}'; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy