Package com.ontology2.bakemono.sumRDF

Source Code of com.ontology2.bakemono.sumRDF.SumRDFMapper

package com.ontology2.bakemono.sumRDF;

import com.ontology2.bakemono.primitiveTriples.PrimitiveTriple;
import com.ontology2.bakemono.primitiveTriples.PrimitiveTripleCodec;
import org.apache.hadoop.io.FloatWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

import java.io.IOException;

public class SumRDFMapper extends Mapper<LongWritable,Text,Text,FloatWritable> {
    PrimitiveTripleCodec ptc=new PrimitiveTripleCodec();
    private final String activePredicate="<http://www.yahoo.com/>";

    @Override
    protected void map(LongWritable key,Text value,Context context) throws IOException,InterruptedException {
        PrimitiveTriple t=ptc.decode(value.toString());
        if(t.getPredicate().equals("<http://rdf.basekb.com/public/subjectiveEye3D>")) {
            String number=getQuoteContents(t.getObject());
            if(number!=null) {
                float numericValue=Float.parseFloat(number);
                context.write(new Text(t.getSubject()),new FloatWritable(numericValue));
            }
        }
    }

    // Notably not smart about \ characters (which don't exist in the
    // numeric cases we're handling)

    public static String getQuoteContents(String q) {
        int leftQ=q.indexOf('"');
        if(leftQ!=0)
            return null;
        int rightQ=q.indexOf('"', leftQ+ 1);
        if(rightQ<0)
            return null;

        return q.substring(leftQ+1,rightQ-leftQ);
    }
}
TOP

Related Classes of com.ontology2.bakemono.sumRDF.SumRDFMapper

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.