package com.ontology2.bakemono.pse3;
import com.ontology2.bakemono.Main;
import com.ontology2.bakemono.MainBase.IncorrectUsageException;
import com.ontology2.bakemono.configuration.HadoopTool;
import com.ontology2.bakemono.jena.PartitionOnSubject;
import com.ontology2.bakemono.jena.RawTripleComparator;
import com.ontology2.bakemono.jena.SPOTripleOutputFormat;
import com.ontology2.bakemono.jena.SubjectTripleComparator;
import com.ontology2.bakemono.mapreduce.SelfAwareTool;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.io.RawComparator;
import org.apache.hadoop.mapreduce.OutputFormat;
import org.apache.hadoop.mapreduce.Partitioner;
import org.apache.hadoop.mapreduce.Reducer;
@HadoopTool("pse3")
public class PSE3Tool extends SelfAwareTool<PSE3Options> {
private static org.apache.commons.logging.Log logger = LogFactory.getLog(PSE3Tool.class);
@Override
protected Class<? extends Reducer> getReducerClass() {
return SubjectHashedUniq.class;
}
@Override
public Class<? extends OutputFormat> getOutputFormatClass() {
return SPOTripleOutputFormat.class;
}
private static void usage() throws IncorrectUsageException {
throw new Main.IncorrectUsageException("incorrect arguments");
}
@Override
public Class<? extends RawComparator> getGroupingComparatorClass() {
return SubjectTripleComparator.class;
}
@Override
public Class<? extends Partitioner> getPartitionerClass() {
return PartitionOnSubject.class;
}
@Override
public Class<? extends RawComparator> getSortComparatorClass() {
return RawTripleComparator.class;
}
}