Add QuadGraphCountMapper for calculating graph sizes
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/963f9ce8 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/963f9ce8 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/963f9ce8 Branch: refs/heads/hadoop-rdf Commit: 963f9ce892fb047ba4306cab6d8468d7994f6146 Parents: 7ca24c0 Author: Rob Vesse <[email protected]> Authored: Tue Jan 6 15:26:04 2015 +0000 Committer: Rob Vesse <[email protected]> Committed: Tue Jan 6 15:26:04 2015 +0000 ---------------------------------------------------------------------- .../count/positional/QuadGraphCountMapper.java | 42 ++++++++++++++++++++ 1 file changed, 42 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/963f9ce8/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java ---------------------------------------------------------------------- diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java new file mode 100644 index 0000000..4afda44 --- /dev/null +++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.jena.hadoop.rdf.mapreduce.count.positional; + +import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer; +import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper; +import org.apache.jena.hadoop.rdf.types.NodeWritable; +import org.apache.jena.hadoop.rdf.types.QuadWritable; + +/** + * A mapper for counting graph node usages within quads designed primarily for + * use in conjunction with {@link NodeCountReducer}. This can be used to + * calculate the size of graphs. + * + * + * + * @param <TKey> + * Key type + */ +public class QuadGraphCountMapper<TKey> extends QuadNodeCountMapper<TKey> { + + @Override + protected NodeWritable[] getNodes(QuadWritable tuple) { + return new NodeWritable[] { new NodeWritable(tuple.get().getGraph()) }; + } +}
