gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java (6 lines): - line 377: } else { // TODO: if(standardAlgorithmBarrier.isEmpty()) -- leads to consistent counts without retracting paths, but orders of magnitude slower (or make Traverser.tags an equality concept) - line 380: while (matchTraversal.hasNext()) { // TODO: perhaps make MatchStep a LocalBarrierStep ?? - line 498: // TODO: sideEffect check? - line 586: // TODO: sideEffect check? - line 650: return endLabel.isPresent() && traverser.path().hasLabel(endLabel.get()); // TODO: !isPresent? - line 758: // TODO: generalize this for future MatchAlgorithms (given that 3.2.0 will focus on RealTimeStrategy, it will probably go there) gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java (5 lines): - line 100: //TODO: with Traversal.reverse() - line 123: //TODO: with Traversal.reverse() - line 326: // TODO: this test requires Traversal.reverse() - line 352: // TODO: this test requires Traversal.reverse() - line 427: // TODO: the where() is trying to get Garcia's name. Why is ComputerVerificationStrategy allowing this? spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/SparkSingleIterationStrategy.java (2 lines): - line 79: !(computerTraversal.getTraverserRequirements().contains(TraverserRequirement.LABELED_PATH) || // TODO: remove this when dynamic detachment is available in 3.3.0 - line 80: computerTraversal.getTraverserRequirements().contains(TraverserRequirement.PATH))) { // TODO: remove this when dynamic detachment is available in 3.3.0 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java (2 lines): - line 101: ElementHelper.attachProperties(this.starVertex, VertexProperty.Cardinality.list, keyValues); // TODO: is this smart? I say no... cause vertex property ids are not preserved. - line 127: // TODO: is this the semantics we want? the only "real vertex" is star vertex. gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java (2 lines): - line 107: // TODO: if not an adjacent traversal, use Local message scope -- a dual messaging system. - line 195: // register profile steps (TODO: try to hide this) gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/BytecodeSerializer.js (2 lines): - line 59: bufs.push(this.ioc.intSerializer.serialize(item.stepInstructions.length, false)); // TODO: what if steps_length > INT32_MAX - line 73: bufs.push(this.ioc.intSerializer.serialize(item.sourceInstructions.length, false)); // TODO: what if sources_length > INT32_MAX spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java (2 lines): - line 236: // TODO: VoidSerializer is a default serializer and thus, may not be needed (if it is, you can't use FieldSerializer) - line 237: // TODO: We will have to copy/paste the shaded DefaultSerializer.VoidSerializer into an unshaded form. gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/VertexPropertySerializer.js (2 lines): - line 152: // TODO: should we verify that parent is null? - line 164: // TODO: should we verify that properties is null? neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/Neo4jVertexProperty.java (1 line): - line 77: // TODO: Neo4j needs a better ID system for VertexProperties gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js (1 line): - line 42: // TODO: replace with `globalThis.crypto.randomUUID` once supported Node version is bump to >=19 gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/StringSerializer.js (1 line): - line 51: bufs.push(this.ioc.intSerializer.serialize(v.length, false)); // TODO: what if len > INT32_MAX, for now it's backed by logic of IntSerializer.serialize itself gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/ScriptTraversal.java (1 line): - line 66: engineBindings.put("graph", this.graph); // TODO: we don't need this as the traversalSource.getGraph() exists, but its now here and people might be using it (remove in 3.3.0) gremlin-go/build/generate.groovy (1 line): - line 106: // TODO make sure all is supported gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MeanGlobalStep.java (1 line): - line 161: // TODO: NumberHelper should provide a compareTo() implementation gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/LongSerializerNg.js (1 line): - line 27: // TODO: it's based on BigInt native JavaScript type to completely support gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/StartStep.java (1 line): - line 83: clone.start = null; // TODO: is this good? gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/ComplexTest.java (1 line): - line 317: // TODO: remove .withoutStrategies(PathRetractionStrategy.class) gremlin-python/src/main/python/gremlin_python/process/graph_traversal.py (1 line): - line 149: # TODO https://issues.apache.org/jira/browse/TINKERPOP-2664: refactor this to be nicer in 3.6.0 when gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/ShortSerializer.js (1 line): - line 50: v.writeInt16BE(item); // TODO: what if item is not within int16 limits, for now writeInt16BE would error gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/PathProcessorStrategy.java (1 line): - line 131: if (selectStep.getPop() != Pop.all && selectStep.getPop() != Pop.mixed && // TODO: necessary? gremlin-mcp/src/main/javascript/src/gremlin/property-analyzer.ts (1 line): - line 153: // TODO: https://github.com/apache/tinkerpop/pull/3238#discussion_r2429664697 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeDeserializer.java (1 line): - line 228: // TODO : maybe throw an error instead? gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/MessagePassingReductionStrategy.java (1 line): - line 160: else if (currentStep instanceof EdgeVertexStep) // TODO: add GraphStep but only if its mid-traversal V()/E() gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/NormalDistribution.java (1 line): - line 54: double mean = (expectedTotal * 1.0) / invocations; //TODO: account for truncated gaussian distribution gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/GraphBinary.js (1 line): - line 33: * TODO: it has the following open topics: gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/PropertySerializer.js (1 line): - line 133: // TODO: should we verify that parent is null? gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java (1 line): - line 212: * TODO FIXME Add same support for other languages (js, python, .net) gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/MapSerializer.js (1 line): - line 62: map_length = this.ioc.intSerializer.INT32_MAX; // TODO: is it expected to be silenced? or it's better to error instead? gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/MutablePath.java (1 line): - line 58: // TODO: Why is this not working Hadoop serialization-wise?... Its cause DetachedPath's clone needs to detach on clone. gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphBinary/DataType.cs (1 line): - line 79: // TODO: Support metrics and traversal metrics spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/interceptor/SparkStarBarrierInterceptor.java (1 line): - line 182: // TODO: tree() gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java (1 line): - line 2173: // TODO: add a test the shows DAG behavior -- splitting another TraversalVertexProgram off of the PeerPressureVertexProgram job. gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/ByteBufferSerializer.js (1 line): - line 53: length = 0; // TODO: test it gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/MasterExecutor.java (1 line): - line 146: // TODO: once this is complete (fully known), move to TraversalHelper gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/LongSerializer.js (1 line): - line 97: // TODO: It tries to keep the same contract as GraphSON LongSerializer provides. gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/EdgeTest.java (1 line): - line 298: //assertEquals(8, v1.outE().count().next().intValue()); TODO: Neo4j is not happy hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/mapreduce/MapReduceGraphComputer.java (1 line): - line 25: // TODO: A MapReduce implementation of GraphComputer gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultGremlinScriptEngineManager.java (1 line): - line 133: // TODO: should modules be a set based on "name" to ensure uniqueness? not sure what bad stuff can happen with dupes gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/PathSerializer.js (1 line): - line 105: // TODO: should we check content of labels to make sure it's List< Set > ? gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java (1 line): - line 961: .barrier() // TODO: this barrier() should not be necessary gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectStep.java (1 line): - line 166: * TODO: getScopeKeys should return order-aware data structure instead of HashSet so that graph providers can gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutor.java (1 line): - line 791: // TODO Auto-generated method stub gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js (1 line): - line 92: this._header = String.fromCharCode(this.mimeType.length) + this.mimeType; // TODO: what if mimeType.length > 255 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/Attachable.java (1 line): - line 349: return Method.createEdge(attachableEdge, hostVertex.graph()); // TODO (make local to vertex) gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStepPlaceholder.java (1 line): - line 86: return Collections.emptySet(); //TODO:: is this right? gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphTest.java (1 line): - line 140: // TODO: you can't get adjacent labels -- graph.vertices().forEachRemaining(vertex -> TestHelper.validateVertexEquality(vertex, g1.vertices(vertex.id()).next(), true)); gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/ArraySerializer.js (1 line): - line 54: length = 0; // TODO: test it gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/UuidSerializer.js (1 line): - line 34: // TODO: any idea to support UUID automatic serialization via AnySerializer in future? gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/BigIntegerSerializer.js (1 line): - line 27: // TODO: it has room for performance improvements spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/InputRDDFormat.java (1 line): - line 100: return 1.0f; // TODO: make this dynamic (how? its an iterator.)