/** make a new iterator which is the elementwise _map1_ of the base iterator. */ @Override public <U> ExtendedIterator<U> mapWith( Map1<T, U> map1 ) { return new Map1Iterator<T, U>( map1, this ); }
public StmtIterator asStatements( final Iterator<Triple> it ) { return new StmtIteratorImpl( new Map1Iterator<Triple, Statement>( mapAsStatement, it ) ); }
private static <T> Iterator<PairEntry<T, T>> pairEntry(Map.Entry<T, Set<T>> pair) { final T a = pair.getKey() ; Set<T> bs = pair.getValue() ; return new Map1Iterator<T, PairEntry<T, T>>(inner(a), bs.iterator()) ; }
/** * An Iterator over the pairs of the Relation. * Each pair is returned as a java.util.Map.Entry. * The first element is accessed through <code>getKey()</code>, * the second through <code>getValue()</code>. *@see java.util.Map.Entry */ public Iterator<PairEntry<T, T>> iterator() { Map1<Map.Entry<T, Set<T>>, Iterator<PairEntry<T, T>>> m1 = new Map1<Map.Entry<T, Set<T>>, Iterator<PairEntry<T, T>>>(){ @Override public Iterator<PairEntry<T, T>> map1(Entry<T, Set<T>> entry) { return pairEntry(entry) ; }} ; Map1Iterator<Map.Entry<T, Set<T>>,Iterator<PairEntry<T, T>>> iter1 = new Map1Iterator<Map.Entry<T, Set<T>>,Iterator<PairEntry<T, T>>>(m1 , rows.entrySet().iterator()) ; // And now flatten it. Iterator<PairEntry<T, T>> iter2 = WrappedIterator.createIteratorIterator(iter1) ; return iter2 ; } }
new Map1Iterator<Set<Resource>, Iterator<Resource>>(mapper, Arrays.asList(bucketArray).iterator()));
/** Perform a free text Lucene search and returns an iterator of graph Nodes. * Applications normally call searchModelByIndex. * @param queryString * @return Iterator of hits (Graph node and score) */ public Iterator<HitLARQ> search(String queryString) { try{ Searcher searcher = new IndexSearcher(reader); Query query = getLuceneQueryParser().parse(queryString) ; Hits hits = searcher.search(query) ; Map1<Hit,HitLARQ> converter = new Map1<Hit,HitLARQ>(){ public HitLARQ map1(Hit object) { return new HitLARQ(object) ; }} ; @SuppressWarnings("unchecked") Iterator<Hit> iterHits = hits.iterator() ; Iterator<HitLARQ> iter = new Map1Iterator<Hit, HitLARQ>(converter, iterHits) ; return iter ; } catch (Exception e) { throw new ARQLuceneException("search", e) ; } }
/** Perform a free text Lucene search and return a NodeIterator. The RDFNodes * in the iterator are associated with the model supplied. * * @param model * @param queryString * @param scoreLimit Minimum Lucene score * @return NodeIterator */ public NodeIterator searchModelByIndex(final Model model, String queryString, final float scoreLimit) { Map1<HitLARQ, RDFNode> converter = new Map1<HitLARQ, RDFNode>(){ public RDFNode map1(HitLARQ x) { return ModelUtils.convertGraphNodeToRDFNode(x.getNode(), model) ; }} ; Iterator<RDFNode> iter = new Map1Iterator<HitLARQ, RDFNode>(converter, search(queryString)) ; if ( scoreLimit > 0 ) iter = new IteratorTruncate<RDFNode>(new ScoreTest(scoreLimit), iter) ; NodeIterator nIter = new NodeIteratorImpl(iter, null) ; return nIter ; }
public QueryIterator varSubject(Binding binding, Var match, Var score, String searchString, long limit, float scoreLimit, ExecutionContext execCxt) { Iterator<HitLARQ> iter = getIndex(execCxt).search(searchString) ; if ( scoreLimit > 0 ) iter = new IteratorTruncate<HitLARQ>(new ScoreTest(scoreLimit), iter) ; HitConverter converter = new HitConverter(binding, match, score) ; Iterator<Binding> iter2 = new Map1Iterator<HitLARQ, Binding>(converter, iter) ; QueryIterator qIter = new QueryIterPlainWrapper(iter2, execCxt) ; if ( limit >= 0 ) qIter = new QueryIterSlice(qIter, 0, limit, execCxt) ; return qIter ; }