Open
Description
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() stepNew with() modulator [done forindex
andvalueMap
]New TextP predicates (startingWith
,endingWith
,containing
, ...)Nested 'repeat' stepsNamed 'repeat stepselementMap() added in 3.4.4 Add coverage of elementMap() #156valueMap() now has by() and with() modulators. valueMap(true) deprecatedIncreased GLV coverage (.Net etc.)these are really entire sections of the bookRead and Write steps from traversals:Remove references to the Graph API #259g.io()
min() and max() will work for any comparable typeNewnone()
step.TheDocument thatstore()
step was replaced byaggregate(local)
store
is deprecated in favor ofaggregate(local)
#187ImprovedDiscuss null improvements and add example of project() on valueMap() #171null
support (3.5.0)incr
anddecr
removed (3.5.0) Replace all usage of incr/decr with asc/desc as removed in 3.5.0 #228Tornado replaced (3.5.0) by AIOHTTPHashableDict (3.5.0) - only relevant to the Python GLVAdditional Translators (3.5.0)Allow predicates and traversals to be used as options in BranchStep. (3.4.3) Add example of improved option() capability. #173GLVscriptEvaluationTimeout
setting (since renamed evaluationTimeout)New- won't dosparql()
stepUpdate samples to remove deprecated EmptyGraph #172 Remove references to the Graph API #259 Add coverage ofEmptyGraph.instance().traversal()
now deprecatedtraversal().withGraph(...)
#201New 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)Discuss null improvements and add example of project() on valueMap() #171g.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:
Introducesasc
anddesc
and deprecatesincr
anddecr
from Order.
Specific to 3.5.x
Null changesg.V()
mid traversal no longer allowed. Must just beV()
datetime() function now in the grammarg.addV().property('date',datetime('2022-05-01:15:15:00'))
- g.tx()
Add an example showing how to merge two valueMap results #218fold
can now merge maps usingaddAll
TranslatorsAIO 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
by
filtering changesAdd a section that introducesmergeV
andmergeE
mergeV
andmergeE
#268Add coverage ofTextP.regex
TextP.regex
#269Theproperty
can take a mapproperty
step can now take a map of k/v pairs #273NewAdd coverage of the newfail
stepfail
step #270- New
call
step Add coverage of the newcall
step #272 NewAdd coverage of the newelement
stepelement
step #271
Specific to 3.7.0
Newconcat()
stepunion
is now a start stepAdd a section that introducesmergeV
andproperty
improved cardinality supportmergeV
andmergeE
#268- TinkerGraph transactions (TinkerTransactionGraph)
- Properties on elements (vs reference elements)
Mid traversalE()
is now supported
Specific to 3.7.1
String functionsasString()
length()
toLower()
toUpper()
trim()
lTrim()
rTrim()
reverse()
replace()
split()
substring()
List and Set functionsall()
any()
Date functionsasDate()
dateAdd()
dateDiff()
DT operator