Package com.ontology2.bakemono.rewriteSubject

Source Code of com.ontology2.bakemono.rewriteSubject.RewriteSubjectReducer

package com.ontology2.bakemono.rewriteSubject;

import com.ontology2.bakemono.joins.TaggedTextItem;
import com.ontology2.bakemono.primitiveTriples.PrimitiveTriple;
import com.ontology2.bakemono.primitiveTriples.PrimitiveTripleCodec;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

import java.io.IOException;

public class RewriteSubjectReducer extends Reducer<TaggedTextItem,TaggedTextItem,Text,Text> {
    PrimitiveTripleCodec ptc=new PrimitiveTripleCodec();
    Log LOG= LogFactory.getLog(RewriteSubjectReducer.class);
    @Override
    public void reduce(TaggedTextItem key, Iterable<TaggedTextItem> values, Context context) throws IOException, InterruptedException {
        String newSubject=null;
        for(TaggedTextItem value:values) {
            int tag=value.getTag().get();
            PrimitiveTriple t=ptc.decode(value.getKey().toString());
            switch(tag) {
                case 1:
                    if(t.getPredicate().equals("<http://www.w3.org/2002/07/owl#sameAs>"))
                        newSubject=t.getObject();
                break;
                default:
                    if(newSubject!=null)
                        context.write(
                                new Text(newSubject),
                                new Text(t.getPredicate()+"\t"+t.getObject()+"\t.")
                        );
            }
        }
    }
}
TOP

Related Classes of com.ontology2.bakemono.rewriteSubject.RewriteSubjectReducer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.