graph
graph copied to clipboard
TRACKING: Track TinkerPop 3.3.x, 3.4.x, 3.5.x, and 3.6.x changes
TinkerPop 3.4, 3.5, and 3.6 are all now released; 3.7 is pending. The manuscript needs updating to reflect the latest changes and possibly needs some deprecation warnings as well. This Epic level issue is to track key changes and make sure they do not get forgotten. Many of the items will also have their own issue (linked below).
The TinkerPop changelog is located at: https://github.com/apache/tinkerpop/blob/master/CHANGELOG.asciidoc
Key changes include: (A ~~strikethrough~~ indicates the item has been completed)
- ~~New index() step~~
- ~~New with() modulator [done for
indexandvalueMap]~~ - ~~New TextP predicates (
startingWith,endingWith,containing, ...)~~ - ~~Nested 'repeat' steps~~
- ~~Named 'repeat steps~~
- ~~elementMap() added in 3.4.4 #156~~
- ~~valueMap() now has by() and with() modulators. valueMap(true) deprecated~~
- ~~Increased GLV coverage (.Net etc.)~~ these are really entire sections of the book
- ~~Read and Write steps from traversals:
g.io()~~ #259 - ~~min() and max() will work for any comparable type~~
- ~~New
none()step.~~ - ~~The
store()step was replaced byaggregate(local)~~ #187 - ~~Improved
nullsupport (3.5.0)~~ #171 - ~~
incranddecrremoved (3.5.0) #228~~ - ~~Tornado replaced (3.5.0) by AIOHTTP~~
- ~~HashableDict (3.5.0) - only relevant to the Python GLV~~
- ~~Additional Translators (3.5.0)~~
- ~~Allow predicates and traversals to be used as options in BranchStep. (3.4.3) #173~~
- ~~GLV
scriptEvaluationTimeoutsetting (since renamed evaluationTimeout)~~ - ~~New
sparql()step~~ - won't do - ~~
EmptyGraph.instance().traversal()now deprecated~~ #172 #259 #201 - ~~New Graph Binary serialization format~~
- The steps
hasKey()andhasValue()are now usable on Edges and Meta Properties (3.4.5) - ~~A by(String) can now be used after a map generating step (project etc.) (3.4.5)~~ #171
- ~~
g.V('3').valueMap().project('x').by('name')~~ - ~~
{'x':null}is returned if 'x' does not exist.~~
- ~~
~~TinkerPop 3.3.4 deprecated some things.~~
~~Key changes include:~~
- ~~Introduces
ascanddescand deprecatesincranddecrfrom Order.~~
Specific to 3.5.x
- ~~Null changes~~
- ~~
g.V()mid traversal no longer allowed. Must just beV()~~ - ~~datetime() function now in the grammar~~
- ~~
g.addV().property('date',datetime('2022-05-01:15:15:00'))~~
- ~~
- g.tx()
- ~~
foldcan now merge maps usingaddAll~~ #218 - ~~Translators~~
- ~~AIO HTTP in Python GLV~~
- Per traverser "bags of anything" using
sack - Improvements to comparable. Can compare lists etc. (as in
order...by)
g.V(3).valueMap('city').sack(assign).by(fold()).V(4).sack(addAll).by(fold()).sack()
==>[[city:[Austin]],v[4]]
Specific to 3.6.x
- ~~
byfiltering changes~~ - ~~
mergeVandmergeE~~ #268 - ~~
TextP.regex~~ #269 - ~~
propertycan take a map~~ #273 - ~~New
failstep~~ #270 - New
callstep #272 - ~~New
elementstep~~ #271
Specific to 3.7.0
- ~~New
concat()step~~ - ~~
unionis now a start step~~ - ~~
mergeVandpropertyimproved cardinality support~~ #268 - TinkerGraph transactions (TinkerTransactionGraph)
- Properties on elements (vs reference elements)
- ~~Mid traversal
E()is now supported~~
Specific to 3.7.1
- ~~String functions~~
- ~~
asString()~~ - ~~
length()~~ - ~~
toLower()~~ - ~~
toUpper()~~ - ~~
trim()~~ - ~~
lTrim()~~ - ~~
rTrim()~~ - ~~
reverse()~~ - ~~
replace()~~ - ~~
split()~~ - ~~
substring()~~
- ~~
- ~~List and Set functions~~
- ~~
all()~~ - ~~
any()~~
- ~~
- ~~Date functions~~
- ~~
asDate()~~ - ~~
dateAdd()~~ - ~~
dateDiff()~~ - ~~DT operator~~
- ~~
Created #127 To cover new Order enums added in 3.3.4
Fixed #127
TinkerPop 3.4 is now released. There are a lot of new features that will need coverage added to the book. This will be a time consuming process that will have to be done in phases and also intermixed with other key issues that need additional focus such as expanding the overall coverage of Gremlin Server and GLVs.
The full list of final 3.4 changes is available at: https://github.com/apache/tinkerpop/blob/master/CHANGELOG.asciidoc
The remaining items will be included as part of the Second Edition work