You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2020/12/22 20:26:16 UTC

[tinkerpop] 03/03: TINKERPOP-2494 Update Translator docs to include parameter extraction functionality CTR

This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 41e50ff2f1e14ebe22f42d763eac8db056c80766
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Tue Dec 22 15:25:31 2020 -0500

    TINKERPOP-2494 Update Translator docs to include parameter extraction functionality CTR
---
 docs/src/reference/the-traversal.asciidoc | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/docs/src/reference/the-traversal.asciidoc b/docs/src/reference/the-traversal.asciidoc
index d45e34a..190a5f4 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -4285,3 +4285,22 @@ console.log(translator.translate(t));
 // OUTPUT: g.V().has('person','name','marko').where(__.in('knows')).values('age')
 ----
 
+The JVM-based translator has the added option of parameter extraction, where the translation process will attempt to
+identify opportunities to generate an output that would replace constant values with parameters. The parameters would
+then be extracted and returned as part of the `Script` object:
+
+[source,java]
+----
+Traversal<Vertex,Integer> t = g.V().has("person","name","marko").
+                                where(__.in("knows")).
+                                values("age");
+// specify true to attempt parameter extraction
+Translator.ScriptTranslator translator = GroovyTranslator.of("g", true);
+Script s = translator.translate(t);
+System.out.println(s.getScript());
+// OUTPUT: g.V().has(_args_0,_args_1,_args_2).where(__.in(_args_3)).values(_args_4)
+System.out.println(s.parameters);
+// OUTPUT: Optional[{_args_0=person, _args_2=marko, _args_1=name, _args_4=age, _args_3=knows}]
+---
+
+