[
https://issues.apache.org/jira/browse/TINKERPOP-1782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16164724#comment-16164724
]
Daniel Kuppitz commented on TINKERPOP-1782:
-------------------------------------------
Another obscurity:
{noformat}
gremlin>
g.V(1).repeat(out()).until(outE().count().is(0)).path().filter(unfold().count().is(gte(1.5))).explain()
==>Traversal Explanation
=========================================================================================================================================================================================================
Original Traversal [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
CountGlobalStep, IsStep(eq(0))]),emit(false)), PathStep, Trave
rsalFilterStep([UnfoldStep,
CountGlobalStep, IsStep(gte(1.5))])]
ConnectiveStrategy [D] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
CountGlobalStep, IsStep(eq(0))]),emit(false)), PathStep, Trave
rsalFilterStep([UnfoldStep,
CountGlobalStep, IsStep(gte(1.5))])]
MatchPredicateStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
CountGlobalStep, IsStep(eq(0))]),emit(false)), PathStep, Trave
rsalFilterStep([UnfoldStep,
CountGlobalStep, IsStep(gte(1.5))])]
RepeatUnrollStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
CountGlobalStep, IsStep(eq(0))]),emit(false)), PathStep, Trave
rsalFilterStep([UnfoldStep,
CountGlobalStep, IsStep(gte(1.5))])]
FilterRankingStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
CountGlobalStep, IsStep(eq(0))]),emit(false)), PathStep, Trave
rsalFilterStep([UnfoldStep,
CountGlobalStep, IsStep(gte(1.5))])]
CountStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex),
RepeatEndStep],until([NotStep([VertexStep(OUT,edge)])]),emit(false)), PathStep,
TraversalFilterStep([Unfol
dStep])]
InlineFilterStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex),
RepeatEndStep],until([NotStep([VertexStep(OUT,edge)])]),emit(false)), PathStep,
TraversalFilterStep([Unfol
dStep])]
IncidentToAdjacentStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex),
RepeatEndStep],until([NotStep([VertexStep(OUT,edge)])]),emit(false)), PathStep,
TraversalFilterStep([Unfol
dStep])]
AdjacentToIncidentStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex),
RepeatEndStep],until([NotStep([VertexStep(OUT,edge)])]),emit(false)), PathStep,
TraversalFilterStep([Unfol
dStep])]
PathRetractionStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
RangeGlobalStep(0,1), CountGlobalStep, IsStep(eq(0))]),emit(fa
lse)), PathStep,
TraversalFilterStep([UnfoldStep, RangeGlobalStep(0,1), CountGlobalStep,
IsStep(gte(1.5))])]
LazyBarrierStrategy [O] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
RangeGlobalStep(0,1), CountGlobalStep, IsStep(eq(0))]),emit(fa
lse)), PathStep,
TraversalFilterStep([UnfoldStep, RangeGlobalStep(0,1), CountGlobalStep,
IsStep(gte(1.5))])]
TinkerGraphCountStrategy [P] [GraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
RangeGlobalStep(0,1), CountGlobalStep, IsStep(eq(0))]),emit(fa
lse)), PathStep,
TraversalFilterStep([UnfoldStep, RangeGlobalStep(0,1), CountGlobalStep,
IsStep(gte(1.5))])]
TinkerGraphStepStrategy [P] [TinkerGraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
RangeGlobalStep(0,1), CountGlobalStep, IsStep(eq(0))]),e
mit(false)), PathStep,
TraversalFilterStep([UnfoldStep, RangeGlobalStep(0,1), CountGlobalStep,
IsStep(gte(1.5))])]
ProfileStrategy [F] [TinkerGraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
RangeGlobalStep(0,1), CountGlobalStep, IsStep(eq(0))]),e
mit(false)), PathStep,
TraversalFilterStep([UnfoldStep, RangeGlobalStep(0,1), CountGlobalStep,
IsStep(gte(1.5))])]
StandardVerificationStrategy [V] [TinkerGraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
RangeGlobalStep(0,1), CountGlobalStep, IsStep(eq(0))]),e
mit(false)), PathStep,
TraversalFilterStep([UnfoldStep, RangeGlobalStep(0,1), CountGlobalStep,
IsStep(gte(1.5))])]
Final Traversal [TinkerGraphStep(vertex,[1]),
RepeatStep([VertexStep(OUT,vertex), RepeatEndStep],until([VertexStep(OUT,edge),
RangeGlobalStep(0,1), CountGlobalStep, IsStep(eq(0))]),e
mit(false)), PathStep,
TraversalFilterStep([UnfoldStep, RangeGlobalStep(0,1), CountGlobalStep,
IsStep(gte(1.5))])]
{noformat}
Watch closely, what happens with the second {{count().is()}}?
> RangeByIsCountStrategy doesn't handle floating point numbers properly
> ---------------------------------------------------------------------
>
> Key: TINKERPOP-1782
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1782
> Project: TinkerPop
> Issue Type: Bug
> Affects Versions: 3.2.6
> Reporter: Daniel Kuppitz
> Assignee: Daniel Kuppitz
>
> See: https://groups.google.com/d/msg/gremlin-users/90IY6QMp4YQ/w60l_pfvCgAJ
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)