Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 4331b2e471
Fetching contributors…

Cannot retrieve contributors at this time

309 lines (237 sloc) 10.523 kB

Pipes: A Lazy Data Flow Framework
http://pipes.tinkerpop.com

Pipes 2.y.z

Version 2.2.0 (NOT OFFICIALLY RELEASED YET)

```xml

com.tinkerpop
pipes
2.2.0-SNAPSHOT

```

  • Fixed a comparator bug in OrderPipe
  • Garbage collector optimized CycliePathFilterPipe to avoid newing a set each iteration


Version 2.1.0 (August 4, 2012)

```xml

com.tinkerpop
pipes
2.1.0

```

  • Added Travis continuous integration support
  • Added getters for getting the high and low end ranges of a RangeFilterPipe
  • Made exception handling faster with FastNoSuchElementException


Version 2.0.0 (May 23, 2012)

```xml

com.tinkerpop
pipes
2.0.0

```

  • GatherPipe no longer locks on looping and is semantically sound for depth-first traversing
  • Added GatherFunctionPipe for user provided function to transform the gathered list
  • Added Pipe.enablePath(boolean) method to support the turning on/off of path calculations (efficiency reasons)
  • Renamed Pipe.getPath() to Pipe.getCurrentPath()
  • SideEffectCapPipe moved to the transform package as it was wrongly organized in the sideeffect package
  • Fixed an indexing issue in ExhaustMergePipe that made itself apparent when two split/merges happened in the same pipeline
  • Added Tree and TreePipe to return a tree representation of a traversal
  • Merged PathPipe and PathFunctionPipe into one class called PathPipe
  • Added AbstractMetaPipe to encapsulate reused behavior in all MetaPipe implementations
  • The CopySplitPipe, FairMergePipe, and ExhaustMergePipe all have functioning path calculations
  • Removed unused extra methods for merging in PipesFluentPipeline interface (and updated respective implementations)
  • Added OrderPipe to do inline sorting of objects in a stream
  • Added numerous help methods to the Table data structure


Pipes 0.x

Version 1.0 (Pipes — February 28, 2012)

```xml

com.tinkerpop
pipes
1.0

```

  • Added SelectPipe to select the objects of named steps from a pipeline
  • Separated Row from Table so it can be reused by other pipes (e.g. SelectPipe)
  • Heavily reworked PipesFluentPipeline JavaDoc to make it a single point of reference
  • Updated LoopPipe semantics such that if there is an emit function, then the final object in a while isn’t returned
  • Updated GroupCountFunctionPipe semantics such that the value-function gets a Pair containing incoming object and last value for that object
  • Reorganized the com.tinkerpop.pipes.util package
  • Removed the objectFilter step from PipeFluentPipeline as retain and except can be used instead
  • EmptyIterator is now a singleton
  • ScatterPipe now scatters Map objects into Map.Entry streams
  • Added GroupByPipe which groups values under a provided key
  • Added GroupByReducePipe which groups reduced values under a provided key


Version 0.9 (Sink — December 7, 2011)

```xml

com.tinkerpop
pipes
0.9

```

  • Removed all Blueprints graph related dependencies
  • Renamed UniquePathFilterPipe to CyclicPathFilterPipe
  • Renamed and removed numerous methods in FluentPipeline to make DSL construction more concise
  • Updated LoopPipe to support emit functionality via PipeFunction
  • Added StorePipe to lazily save objects to provided collection
  • Added function support to DeduplicateFilterPipe


Version 0.8 (Cleaner — September 18, 2011)

```xml

com.tinkerpop
pipes
0.8

```

  • SideEffectPipe now has signature of <S,T> instead of <S,E,T>
  • GroupCountFunctionPipe has signature of <S,K> to denote the key of its Map<K,Number> side-effect
  • Removed ComparisonFilterPipe as it is confusing and now PipeHelper has comparison support
  • Added PipeHelper.makePipeString() to have a single point where all pipe toString()s are created
  • Optimized PipeHelper.counter() and PipeHelper.fillCollection() by respecting architecture of AbstractPipe
  • Added PipeHelper.iterate() to complete drain an iterator
  • Added FluentPipeline as a utility class for fluently constructing a pipeline
  • Added RetainFilterPipe, added ExceptFilterPipe, and abstracted CollectionFilterPipe
  • Added EdgesPipe, added VerticesPipe, and abstracted GraphElementPipe
  • Renamed AggregatorPipe to AggregatePipe
  • AndFilterPipe and OrFilterPipe will automatically wrap provided pipes in a HasNextPipe
  • Generalized GroupCountPipe to have a value of Map<Object,Number> instead of Long
  • Migrated TablePipe and Table from Gremlin
  • Simplified the semantics of HasNextPipe (use Pipe.hasNext() to accomplish previous behavior)
  • Added MemoizePipe to memoize the mapping of a particular pipe
  • Simplified PipeClosure to be purely functional and now named PipeFunction
    • Renamed XXXClosurePipe to XXXFunctionPipe
  • Fixed performance issue in RangeFilterPipe and provided long ranges

Version 0.7 (PVC — August 1, 2011)

```xml

com.tinkerpop
pipes
0.7

```

  • Added support for Vertex.getOutEdges(String...) and Vertex.getInEdges(String...)
  • Updated AggregatorPipe to be fully SideEffectPipe compliant and to respect getPath()
  • Added PipeClosure to support function-based pipes
  • Migrated all the Gremlin specific pipes to Pipes
  • Refactored package names to align with pipe semantics
  • Flipped the meaning of Filter, where true means pass, and false means filter
  • Added AggregatorPipe PipeClosure to process object prior to insertion into the aggregate collection
  • Added temporary fix for AggregatorPipe/LoopPipe phenomena
  • IfThenElsePipe now requires an elseFunction


Version 0.6 (Toilet — June 15, 2011)

```xml

com.tinkerpop
pipes
0.6

```

  • RangeFilterPipe max value is now inclusive
  • Added OptionalPipe which is like BackFilterPipe, but non-filtering.
  • Updated AggregatorPipe to support multiple setStarts()


Version 0.5 (Drain — May 8, 2011)

```xml

com.tinkerpop
pipes
0.5

```

  • Added OutPipe, InPipe, and BothPipe to allow for vertex-vertex hoping
  • Removed VertexEdgeLabelFilterPipe as it is now covered by more efficient pipes
  • Added the MetaPipe interface to allow pipes to acknowledge pipe wrapping
  • Added CopySplitPipe, ExhaustMergePipe, and FairMergePipe
  • Optimized PropertyPipe and UniquePathFilterPipe
  • Added support for Pipe.reset() and thus, pipe reuse


Version 0.4 (Spigot — April 4, 2011)

```xml

com.tinkerpop
pipes
0.4

```

  • Added StartPipe to aid in creating an Object-to-Pipe converter
  • Removed VertexEdge and EdgeVertex pipes for more low-level/faster pipes.
  • Supports new Blueprints packaging scheme.


Version 0.3.1 (Mario — March 2, 2011)

```xml

com.tinkerpop
pipes
0.3.1

```

  • Added VertexEdgeLabelFilterPipe to reflect Blueprints Vertex API update
  • Added UniquePathFilterPipe to filter paths that have visited the same object twice

Version 0.3 (Mario — January 22, 2011)

```xml

com.tinkerpop
pipes
0.3

```

  • Added a general toString() model to articulate pipe construction
  • Redesigned path-model to where enablePaths() no longer required
    • Added HistoryIterator to replace the enablePath() model
  • Renamed CountCombine to GroupCount
  • Added ExpandableIterator to support pipe looping
  • Removed many unused pipes for the sake of clarity and simplicity
  • Added GatherPipe as a composite of SideEffectCapPipe and AggregatorPipe
  • Removed EndSupportPipe as that is what ScatterPipe now accomplishes


Version 0.2 (Clogged — December 14, 2010)

```xml

com.tinkerpop
pipes
0.2

```

  • Added path functionality to get the path pipe traversed
    • Added PathSequence path utility
    • Added PathPipe to support using paths in a computation
  • Numerous test cases added


Version 0.1.1 (Leaky — October 28, 2010)

```xml

com.tinkerpop
pipes
0.1.1

```

  • Fixed ‘reset pipe’ issue in FutureFilterPipe

Version 0.1 (Leaky — September 22, 2010)

```xml

com.tinkerpop
pipes
0.1

```

  • Initial release as the core engine for Gremlin 0.5
Jump to Line
Something went wrong with that request. Please try again.