package net.enilink.komma.internal.rdf4j.result;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.model.Statement;
import com.google.inject.Inject;
import net.enilink.komma.core.IGraphResult;
import net.enilink.komma.core.IReference;
import net.enilink.komma.core.IStatement;
import net.enilink.komma.rdf4j.RDF4JValueConverter;
public class RDF4JGraphResult extends RDF4JResult<Statement, IStatement>
implements IGraphResult {
protected RDF4JValueConverter valueConverter;
public RDF4JGraphResult(
CloseableIteration<Statement, ? extends Exception> result) {
super(result);
}
@Override
protected IStatement convert(Statement element) throws Exception {
return new net.enilink.komma.core.Statement(
(IReference) valueConverter.fromRdf4j(element.getSubject()), //
(IReference) valueConverter.fromRdf4j(element.getPredicate()), //
valueConverter.fromRdf4j(element.getObject()), //
(IReference) valueConverter.fromRdf4j(element.getContext()));
}
@Inject
public void setValueConverter(RDF4JValueConverter valueConverter) {
this.valueConverter = valueConverter;
}
}