import org.apache.any23.source.CSVSource;
import org.apache.any23.extractor.csv.CSVExtractor;
import org.apache.any23.extractor.csv.ColumnMatchingExtractionResultHandler;
import org.apache.any23.writer.TripleHandler;
import org.apache.any23.writer.TripleHandlerException;
import org.apache.any23.http.AcceptHeaderBuilder;
import org.apache.any23.extractor.ExtractionException;
import org.apache.any23.extractor.ExtractionParameters;
import org.apache.any23.extractor.ExtractionResult;
import org.apache.any23.extractor.ExtractionResultImpl;
import org.apache.any23.extractor.ExtractionContext;
import java.io.IOException;
import java.io.FileReader;
import java.util.List;
public class CSVExample {
public static void main(String[] args) {
try {
CSVSource source = new CSVSource(new FileReader("data.csv"), "data.csv");
CSVExtractor extractor = new CSVExtractor();
ExtractionResult result = new ExtractionResultImpl(
source,
extractor,
new TripleHandler() {
public AcceptHeaderBuilder.AcceptHeader getAcceptHeader() {
return null;
}
public void startDocument(ExtractionContext extractionContext) throws TripleHandlerException {
}
public void openContext(ExtractionContext extractionContext) throws TripleHandlerException {
}
public void receiveTriple(org.eclipse.rdf4j.model.Resource resource,
org.eclipse.rdf4j.model.IRI iri,
org.eclipse.rdf4j.model.Value value,
org.eclipse.rdf4j.model.IRI iri1,
ExtractionContext extractionContext) throws TripleHandlerException {
}
public void closeContext(ExtractionContext extractionContext) throws TripleHandlerException {
}
public void endDocument(ExtractionContext extractionContext) throws TripleHandlerException {
}
public void setContentLength(long contentLength) {
}
public void close() throws TripleHandlerException {
}
}
);
ColumnMatchingExtractionResultHandler handler = new ColumnMatchingExtractionResultHandler(result);
handler.handleFileStartPosition();
handler.receiveNamespace("", "http://example.org/data#");
ExtractionParameters params = new ExtractionParameters();
params.setFlag("rows", "3");
extractor.extract(source, handler, params);
List<String> triples = handler.getTriples();
for (String triple : triples) {
System.out.println(triple);
}
e.printStackTrace();
}
}
}