You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2016/06/03 01:46:15 UTC
[2/2] incubator-tinkerpop git commit: got the packaging structure
down for Gremlin-Python. Also,
have RESTRemoteConnection which uses requests. Its not fully connected,
but tested in the shell and I will know how to put it all together tomorrow. I
think
got the packaging structure down for Gremlin-Python. Also, have RESTRemoteConnection which uses requests. Its not fully connected, but tested in the shell and I will know how to put it all together tomorrow. I think by days end tomorrow, Gremlin-Python against GremlinServer will be a thing.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/ed91e829
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/ed91e829
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/ed91e829
Branch: refs/heads/TINKERPOP-1278
Commit: ed91e8291893f5ff828c887609f398fd6ab22c31
Parents: 5deaaa0
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Jun 2 19:46:07 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Jun 2 19:46:07 2016 -0600
----------------------------------------------------------------------
.../python/GremlinPythonGenerator.groovy | 5 +-
.../src/main/jython/gremlin_driver/__init__.py | 22 +
.../jython/gremlin_driver/gremlin_driver.py | 38 +
.../src/main/jython/gremlin_python/__init__.py | 22 +
.../jython/gremlin_python/gremlin_python.py | 1082 ++++++++++++++++++
.../main/jython/gremlin_rest_driver/__init__.py | 21 +
.../gremlin_rest_driver/gremlin_rest_driver.py | 37 +
.../gremlin/process/variant/python/__init__.py | 19 -
.../process/variant/python/gremlin_python.py | 1081 -----------------
.../variant/python/gremlin_python_driver.py | 33 -
.../variant/python/PythonVariantConverter.java | 16 +-
11 files changed, 1233 insertions(+), 1143 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/process/variant/python/GremlinPythonGenerator.groovy
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/process/variant/python/GremlinPythonGenerator.groovy b/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/process/variant/python/GremlinPythonGenerator.groovy
index a3e2cb9..fe32b54 100644
--- a/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/process/variant/python/GremlinPythonGenerator.groovy
+++ b/gremlin-variant/src/main/groovy/org/apache/tinkerpop/gremlin/process/variant/python/GremlinPythonGenerator.groovy
@@ -78,7 +78,7 @@ under the License.
.withDefault { it }
pythonClass.append("import sys\n")
- pythonClass.append("from gremlin_python_driver import RemoteConnection\n")
+ pythonClass.append("from gremlin_driver import RemoteConnection\n")
pythonClass.append("""
class Helper(object):
@staticmethod
@@ -151,6 +151,7 @@ class Helper(object):
self.traversalString = traversalString
self.results = None
self.lastTraverser = None
+ self.remoteConnection = RemoteConnection("http://tinkerpop.apache.org","gremlin-groovy")
def __repr__(self):
return self.traversalString
def __getitem__(self,index):
@@ -166,7 +167,7 @@ class Helper(object):
return self
def next(self):
if self.results is None:
- self.results = RemoteConnection.submit("gremlin-groovy",self.traversalString)
+ self.results = self.remoteConnection.submit(self.traversalString)
if self.lastTraverser is None:
self.lastTraverser = self.results.next()
object = self.lastTraverser.object
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/jython/gremlin_driver/__init__.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_driver/__init__.py b/gremlin-variant/src/main/jython/gremlin_driver/__init__.py
new file mode 100644
index 0000000..dcbd144
--- /dev/null
+++ b/gremlin-variant/src/main/jython/gremlin_driver/__init__.py
@@ -0,0 +1,22 @@
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+'''
+from gremlin_driver import RemoteConnection
+from gremlin_driver import Traverser
+
+__author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py b/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py
new file mode 100644
index 0000000..0e0d89a
--- /dev/null
+++ b/gremlin-variant/src/main/jython/gremlin_driver/gremlin_driver.py
@@ -0,0 +1,38 @@
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+'''
+from abc import abstractmethod
+
+__author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
+
+
+class Traverser(object):
+ def __init__(self, object, bulk):
+ self.object = object
+ self.bulk = bulk
+
+
+class RemoteConnection(object):
+ def __init__(self, url, scriptEngine):
+ self.url = url
+ self.scriptEngine = scriptEngine
+
+ @abstractmethod
+ def submit(self, script):
+ print "sending " + script + " to GremlinServer..."
+ return iter([])
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/jython/gremlin_python/__init__.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_python/__init__.py b/gremlin-variant/src/main/jython/gremlin_python/__init__.py
new file mode 100644
index 0000000..88ad373
--- /dev/null
+++ b/gremlin-variant/src/main/jython/gremlin_python/__init__.py
@@ -0,0 +1,22 @@
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+'''
+from gremlin_python import PythonGraphTraversal
+from gremlin_python import PythonGraphTraversalSource
+
+__author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py b/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py
new file mode 100644
index 0000000..a6fd094
--- /dev/null
+++ b/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py
@@ -0,0 +1,1082 @@
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+'''
+import sys
+from gremlin_driver import RemoteConnection
+
+class Helper(object):
+ @staticmethod
+ def stringOrObject(arg):
+ if (type(arg) is str and
+ not(arg.startswith("SackFunctions.Barrier.")) and
+ not(arg.startswith("VertexProperty.Cardinality.")) and
+ not(arg.startswith("Column.")) and
+ not(arg.startswith("Computer.")) and
+ not(arg.startswith("Direction.")) and
+ not(arg.startswith("Operator.")) and
+ not(arg.startswith("Order.")) and
+ not(arg.startswith("P.")) and
+ not(arg.startswith("Pop.")) and
+ not(arg.startswith("ReadOnlyStrategy.")) and
+ not(arg.startswith("Scope.")) and
+ not(arg.startswith("T.")) and
+ not(len(arg)==0)):
+ return "\"" + arg + "\""
+ elif type(arg) is bool:
+ return str(arg).lower()
+ elif type(arg) is long:
+ return str(arg) + "L"
+ elif type(arg) is float:
+ return str(arg) + "f"
+ else:
+ return str(arg)
+ @staticmethod
+ def stringify(*args):
+ if len(args) == 0:
+ return ""
+ elif len(args) == 1:
+ return Helper.stringOrObject(args[0])
+ else:
+ return ", ".join(Helper.stringOrObject(i) for i in args)
+
+
+class PythonGraphTraversalSource(object):
+ def __init__(self, traversalSourceString):
+ self.traversalSourceString = traversalSourceString
+ def __repr__(self):
+ return "graphtraversalsource[" + self.traversalSourceString + "]"
+ def E(self, *args):
+ return PythonGraphTraversal(self.traversalSourceString + ".E(" + Helper.stringify(*args) + ")")
+ def V(self, *args):
+ return PythonGraphTraversal(self.traversalSourceString + ".V(" + Helper.stringify(*args) + ")")
+ def addV(self, *args):
+ return PythonGraphTraversal(self.traversalSourceString + ".addV(" + Helper.stringify(*args) + ")")
+ def clone(self, *args):
+ return PythonGraphTraversalSource(self.traversalSourceString + ".clone(" + Helper.stringify(*args) + ")")
+ def inject(self, *args):
+ return PythonGraphTraversal(self.traversalSourceString + ".inject(" + Helper.stringify(*args) + ")")
+ def withBulk(self, *args):
+ return PythonGraphTraversalSource(self.traversalSourceString + ".withBulk(" + Helper.stringify(*args) + ")")
+ def withComputer(self, *args):
+ return PythonGraphTraversalSource(self.traversalSourceString + ".withComputer(" + Helper.stringify(*args) + ")")
+ def withPath(self, *args):
+ return PythonGraphTraversalSource(self.traversalSourceString + ".withPath(" + Helper.stringify(*args) + ")")
+ def withSack(self, *args):
+ return PythonGraphTraversalSource(self.traversalSourceString + ".withSack(" + Helper.stringify(*args) + ")")
+ def withSideEffect(self, *args):
+ return PythonGraphTraversalSource(self.traversalSourceString + ".withSideEffect(" + Helper.stringify(*args) + ")")
+ def withStrategies(self, *args):
+ return PythonGraphTraversalSource(self.traversalSourceString + ".withStrategies(" + Helper.stringify(*args) + ")")
+ def withoutStrategies(self, *args):
+ return PythonGraphTraversalSource(self.traversalSourceString + ".withoutStrategies(" + Helper.stringify(*args) + ")")
+
+
+class PythonGraphTraversal(object):
+ def __init__(self, traversalString):
+ self.traversalString = traversalString
+ self.results = None
+ self.lastTraverser = None
+ self.remoteConnection = RemoteConnection("http://tinkerpop.apache.org","gremlin-groovy")
+ def __repr__(self):
+ return self.traversalString
+ def __getitem__(self,index):
+ if type(index) is int:
+ return self.range(index,index+1)
+ elif type(index) is slice:
+ return self.range(index.start,index.stop)
+ else:
+ raise TypeError("Index must be int or slice")
+ def __getattr__(self,key):
+ return self.values(key)
+ def __iter__(self):
+ return self
+ def next(self):
+ if self.results is None:
+ self.results = self.remoteConnection.submit(self.traversalString)
+ if self.lastTraverser is None:
+ self.lastTraverser = self.results.next()
+ object = self.lastTraverser.object
+ self.lastTraverser.bulk = self.lastTraverser.bulk - 1
+ if self.lastTraverser.bulk <= 0:
+ self.lastTraverser = None
+ return object
+ def V(self, *args):
+ self.traversalString = self.traversalString + ".V(" + Helper.stringify(*args) + ")"
+ return self
+ def _and(self, *args):
+ self.traversalString = self.traversalString + ".and(" + Helper.stringify(*args) + ")"
+ return self
+ def _as(self, *args):
+ self.traversalString = self.traversalString + ".as(" + Helper.stringify(*args) + ")"
+ return self
+ def _from(self, *args):
+ self.traversalString = self.traversalString + ".from(" + Helper.stringify(*args) + ")"
+ return self
+ def _in(self, *args):
+ self.traversalString = self.traversalString + ".in(" + Helper.stringify(*args) + ")"
+ return self
+ def _is(self, *args):
+ self.traversalString = self.traversalString + ".is(" + Helper.stringify(*args) + ")"
+ return self
+ def _not(self, *args):
+ self.traversalString = self.traversalString + ".not(" + Helper.stringify(*args) + ")"
+ return self
+ def _or(self, *args):
+ self.traversalString = self.traversalString + ".or(" + Helper.stringify(*args) + ")"
+ return self
+ def addE(self, *args):
+ self.traversalString = self.traversalString + ".addE(" + Helper.stringify(*args) + ")"
+ return self
+ def addInE(self, *args):
+ self.traversalString = self.traversalString + ".addInE(" + Helper.stringify(*args) + ")"
+ return self
+ def addOutE(self, *args):
+ self.traversalString = self.traversalString + ".addOutE(" + Helper.stringify(*args) + ")"
+ return self
+ def addV(self, *args):
+ self.traversalString = self.traversalString + ".addV(" + Helper.stringify(*args) + ")"
+ return self
+ def aggregate(self, *args):
+ self.traversalString = self.traversalString + ".aggregate(" + Helper.stringify(*args) + ")"
+ return self
+ def asAdmin(self, *args):
+ self.traversalString = self.traversalString + ".asAdmin(" + Helper.stringify(*args) + ")"
+ return self
+ def barrier(self, *args):
+ self.traversalString = self.traversalString + ".barrier(" + Helper.stringify(*args) + ")"
+ return self
+ def both(self, *args):
+ self.traversalString = self.traversalString + ".both(" + Helper.stringify(*args) + ")"
+ return self
+ def bothE(self, *args):
+ self.traversalString = self.traversalString + ".bothE(" + Helper.stringify(*args) + ")"
+ return self
+ def bothV(self, *args):
+ self.traversalString = self.traversalString + ".bothV(" + Helper.stringify(*args) + ")"
+ return self
+ def branch(self, *args):
+ self.traversalString = self.traversalString + ".branch(" + Helper.stringify(*args) + ")"
+ return self
+ def by(self, *args):
+ self.traversalString = self.traversalString + ".by(" + Helper.stringify(*args) + ")"
+ return self
+ def cap(self, *args):
+ self.traversalString = self.traversalString + ".cap(" + Helper.stringify(*args) + ")"
+ return self
+ def choose(self, *args):
+ self.traversalString = self.traversalString + ".choose(" + Helper.stringify(*args) + ")"
+ return self
+ def coalesce(self, *args):
+ self.traversalString = self.traversalString + ".coalesce(" + Helper.stringify(*args) + ")"
+ return self
+ def coin(self, *args):
+ self.traversalString = self.traversalString + ".coin(" + Helper.stringify(*args) + ")"
+ return self
+ def constant(self, *args):
+ self.traversalString = self.traversalString + ".constant(" + Helper.stringify(*args) + ")"
+ return self
+ def count(self, *args):
+ self.traversalString = self.traversalString + ".count(" + Helper.stringify(*args) + ")"
+ return self
+ def cyclicPath(self, *args):
+ self.traversalString = self.traversalString + ".cyclicPath(" + Helper.stringify(*args) + ")"
+ return self
+ def dedup(self, *args):
+ self.traversalString = self.traversalString + ".dedup(" + Helper.stringify(*args) + ")"
+ return self
+ def drop(self, *args):
+ self.traversalString = self.traversalString + ".drop(" + Helper.stringify(*args) + ")"
+ return self
+ def emit(self, *args):
+ self.traversalString = self.traversalString + ".emit(" + Helper.stringify(*args) + ")"
+ return self
+ def filter(self, *args):
+ self.traversalString = self.traversalString + ".filter(" + Helper.stringify(*args) + ")"
+ return self
+ def flatMap(self, *args):
+ self.traversalString = self.traversalString + ".flatMap(" + Helper.stringify(*args) + ")"
+ return self
+ def fold(self, *args):
+ self.traversalString = self.traversalString + ".fold(" + Helper.stringify(*args) + ")"
+ return self
+ def group(self, *args):
+ self.traversalString = self.traversalString + ".group(" + Helper.stringify(*args) + ")"
+ return self
+ def groupCount(self, *args):
+ self.traversalString = self.traversalString + ".groupCount(" + Helper.stringify(*args) + ")"
+ return self
+ def groupV3d0(self, *args):
+ self.traversalString = self.traversalString + ".groupV3d0(" + Helper.stringify(*args) + ")"
+ return self
+ def has(self, *args):
+ self.traversalString = self.traversalString + ".has(" + Helper.stringify(*args) + ")"
+ return self
+ def hasId(self, *args):
+ self.traversalString = self.traversalString + ".hasId(" + Helper.stringify(*args) + ")"
+ return self
+ def hasKey(self, *args):
+ self.traversalString = self.traversalString + ".hasKey(" + Helper.stringify(*args) + ")"
+ return self
+ def hasLabel(self, *args):
+ self.traversalString = self.traversalString + ".hasLabel(" + Helper.stringify(*args) + ")"
+ return self
+ def hasNot(self, *args):
+ self.traversalString = self.traversalString + ".hasNot(" + Helper.stringify(*args) + ")"
+ return self
+ def hasValue(self, *args):
+ self.traversalString = self.traversalString + ".hasValue(" + Helper.stringify(*args) + ")"
+ return self
+ def id(self, *args):
+ self.traversalString = self.traversalString + ".id(" + Helper.stringify(*args) + ")"
+ return self
+ def identity(self, *args):
+ self.traversalString = self.traversalString + ".identity(" + Helper.stringify(*args) + ")"
+ return self
+ def inE(self, *args):
+ self.traversalString = self.traversalString + ".inE(" + Helper.stringify(*args) + ")"
+ return self
+ def inV(self, *args):
+ self.traversalString = self.traversalString + ".inV(" + Helper.stringify(*args) + ")"
+ return self
+ def inject(self, *args):
+ self.traversalString = self.traversalString + ".inject(" + Helper.stringify(*args) + ")"
+ return self
+ def iterate(self, *args):
+ self.traversalString = self.traversalString + ".iterate(" + Helper.stringify(*args) + ")"
+ return self
+ def key(self, *args):
+ self.traversalString = self.traversalString + ".key(" + Helper.stringify(*args) + ")"
+ return self
+ def label(self, *args):
+ self.traversalString = self.traversalString + ".label(" + Helper.stringify(*args) + ")"
+ return self
+ def limit(self, *args):
+ self.traversalString = self.traversalString + ".limit(" + Helper.stringify(*args) + ")"
+ return self
+ def local(self, *args):
+ self.traversalString = self.traversalString + ".local(" + Helper.stringify(*args) + ")"
+ return self
+ def loops(self, *args):
+ self.traversalString = self.traversalString + ".loops(" + Helper.stringify(*args) + ")"
+ return self
+ def map(self, *args):
+ self.traversalString = self.traversalString + ".map(" + Helper.stringify(*args) + ")"
+ return self
+ def mapKeys(self, *args):
+ self.traversalString = self.traversalString + ".mapKeys(" + Helper.stringify(*args) + ")"
+ return self
+ def mapValues(self, *args):
+ self.traversalString = self.traversalString + ".mapValues(" + Helper.stringify(*args) + ")"
+ return self
+ def match(self, *args):
+ self.traversalString = self.traversalString + ".match(" + Helper.stringify(*args) + ")"
+ return self
+ def max(self, *args):
+ self.traversalString = self.traversalString + ".max(" + Helper.stringify(*args) + ")"
+ return self
+ def mean(self, *args):
+ self.traversalString = self.traversalString + ".mean(" + Helper.stringify(*args) + ")"
+ return self
+ def min(self, *args):
+ self.traversalString = self.traversalString + ".min(" + Helper.stringify(*args) + ")"
+ return self
+ def option(self, *args):
+ self.traversalString = self.traversalString + ".option(" + Helper.stringify(*args) + ")"
+ return self
+ def optional(self, *args):
+ self.traversalString = self.traversalString + ".optional(" + Helper.stringify(*args) + ")"
+ return self
+ def order(self, *args):
+ self.traversalString = self.traversalString + ".order(" + Helper.stringify(*args) + ")"
+ return self
+ def otherV(self, *args):
+ self.traversalString = self.traversalString + ".otherV(" + Helper.stringify(*args) + ")"
+ return self
+ def out(self, *args):
+ self.traversalString = self.traversalString + ".out(" + Helper.stringify(*args) + ")"
+ return self
+ def outE(self, *args):
+ self.traversalString = self.traversalString + ".outE(" + Helper.stringify(*args) + ")"
+ return self
+ def outV(self, *args):
+ self.traversalString = self.traversalString + ".outV(" + Helper.stringify(*args) + ")"
+ return self
+ def pageRank(self, *args):
+ self.traversalString = self.traversalString + ".pageRank(" + Helper.stringify(*args) + ")"
+ return self
+ def path(self, *args):
+ self.traversalString = self.traversalString + ".path(" + Helper.stringify(*args) + ")"
+ return self
+ def peerPressure(self, *args):
+ self.traversalString = self.traversalString + ".peerPressure(" + Helper.stringify(*args) + ")"
+ return self
+ def profile(self, *args):
+ self.traversalString = self.traversalString + ".profile(" + Helper.stringify(*args) + ")"
+ return self
+ def program(self, *args):
+ self.traversalString = self.traversalString + ".program(" + Helper.stringify(*args) + ")"
+ return self
+ def project(self, *args):
+ self.traversalString = self.traversalString + ".project(" + Helper.stringify(*args) + ")"
+ return self
+ def properties(self, *args):
+ self.traversalString = self.traversalString + ".properties(" + Helper.stringify(*args) + ")"
+ return self
+ def property(self, *args):
+ self.traversalString = self.traversalString + ".property(" + Helper.stringify(*args) + ")"
+ return self
+ def propertyMap(self, *args):
+ self.traversalString = self.traversalString + ".propertyMap(" + Helper.stringify(*args) + ")"
+ return self
+ def range(self, *args):
+ self.traversalString = self.traversalString + ".range(" + Helper.stringify(*args) + ")"
+ return self
+ def repeat(self, *args):
+ self.traversalString = self.traversalString + ".repeat(" + Helper.stringify(*args) + ")"
+ return self
+ def sack(self, *args):
+ self.traversalString = self.traversalString + ".sack(" + Helper.stringify(*args) + ")"
+ return self
+ def sample(self, *args):
+ self.traversalString = self.traversalString + ".sample(" + Helper.stringify(*args) + ")"
+ return self
+ def select(self, *args):
+ self.traversalString = self.traversalString + ".select(" + Helper.stringify(*args) + ")"
+ return self
+ def sideEffect(self, *args):
+ self.traversalString = self.traversalString + ".sideEffect(" + Helper.stringify(*args) + ")"
+ return self
+ def simplePath(self, *args):
+ self.traversalString = self.traversalString + ".simplePath(" + Helper.stringify(*args) + ")"
+ return self
+ def store(self, *args):
+ self.traversalString = self.traversalString + ".store(" + Helper.stringify(*args) + ")"
+ return self
+ def subgraph(self, *args):
+ self.traversalString = self.traversalString + ".subgraph(" + Helper.stringify(*args) + ")"
+ return self
+ def sum(self, *args):
+ self.traversalString = self.traversalString + ".sum(" + Helper.stringify(*args) + ")"
+ return self
+ def tail(self, *args):
+ self.traversalString = self.traversalString + ".tail(" + Helper.stringify(*args) + ")"
+ return self
+ def timeLimit(self, *args):
+ self.traversalString = self.traversalString + ".timeLimit(" + Helper.stringify(*args) + ")"
+ return self
+ def times(self, *args):
+ self.traversalString = self.traversalString + ".times(" + Helper.stringify(*args) + ")"
+ return self
+ def to(self, *args):
+ self.traversalString = self.traversalString + ".to(" + Helper.stringify(*args) + ")"
+ return self
+ def toE(self, *args):
+ self.traversalString = self.traversalString + ".toE(" + Helper.stringify(*args) + ")"
+ return self
+ def toV(self, *args):
+ self.traversalString = self.traversalString + ".toV(" + Helper.stringify(*args) + ")"
+ return self
+ def tree(self, *args):
+ self.traversalString = self.traversalString + ".tree(" + Helper.stringify(*args) + ")"
+ return self
+ def unfold(self, *args):
+ self.traversalString = self.traversalString + ".unfold(" + Helper.stringify(*args) + ")"
+ return self
+ def union(self, *args):
+ self.traversalString = self.traversalString + ".union(" + Helper.stringify(*args) + ")"
+ return self
+ def until(self, *args):
+ self.traversalString = self.traversalString + ".until(" + Helper.stringify(*args) + ")"
+ return self
+ def value(self, *args):
+ self.traversalString = self.traversalString + ".value(" + Helper.stringify(*args) + ")"
+ return self
+ def valueMap(self, *args):
+ self.traversalString = self.traversalString + ".valueMap(" + Helper.stringify(*args) + ")"
+ return self
+ def values(self, *args):
+ self.traversalString = self.traversalString + ".values(" + Helper.stringify(*args) + ")"
+ return self
+ def where(self, *args):
+ self.traversalString = self.traversalString + ".where(" + Helper.stringify(*args) + ")"
+ return self
+
+
+class __(object):
+ @staticmethod
+ def V(*args):
+ return PythonGraphTraversal("__").V(*args)
+ @staticmethod
+ def __(*args):
+ return PythonGraphTraversal("__").__(*args)
+ @staticmethod
+ def _and(*args):
+ return PythonGraphTraversal("__")._and(*args)
+ @staticmethod
+ def _as(*args):
+ return PythonGraphTraversal("__")._as(*args)
+ @staticmethod
+ def _in(*args):
+ return PythonGraphTraversal("__")._in(*args)
+ @staticmethod
+ def _is(*args):
+ return PythonGraphTraversal("__")._is(*args)
+ @staticmethod
+ def _not(*args):
+ return PythonGraphTraversal("__")._not(*args)
+ @staticmethod
+ def _or(*args):
+ return PythonGraphTraversal("__")._or(*args)
+ @staticmethod
+ def addE(*args):
+ return PythonGraphTraversal("__").addE(*args)
+ @staticmethod
+ def addInE(*args):
+ return PythonGraphTraversal("__").addInE(*args)
+ @staticmethod
+ def addOutE(*args):
+ return PythonGraphTraversal("__").addOutE(*args)
+ @staticmethod
+ def addV(*args):
+ return PythonGraphTraversal("__").addV(*args)
+ @staticmethod
+ def aggregate(*args):
+ return PythonGraphTraversal("__").aggregate(*args)
+ @staticmethod
+ def barrier(*args):
+ return PythonGraphTraversal("__").barrier(*args)
+ @staticmethod
+ def both(*args):
+ return PythonGraphTraversal("__").both(*args)
+ @staticmethod
+ def bothE(*args):
+ return PythonGraphTraversal("__").bothE(*args)
+ @staticmethod
+ def bothV(*args):
+ return PythonGraphTraversal("__").bothV(*args)
+ @staticmethod
+ def branch(*args):
+ return PythonGraphTraversal("__").branch(*args)
+ @staticmethod
+ def cap(*args):
+ return PythonGraphTraversal("__").cap(*args)
+ @staticmethod
+ def choose(*args):
+ return PythonGraphTraversal("__").choose(*args)
+ @staticmethod
+ def coalesce(*args):
+ return PythonGraphTraversal("__").coalesce(*args)
+ @staticmethod
+ def coin(*args):
+ return PythonGraphTraversal("__").coin(*args)
+ @staticmethod
+ def constant(*args):
+ return PythonGraphTraversal("__").constant(*args)
+ @staticmethod
+ def count(*args):
+ return PythonGraphTraversal("__").count(*args)
+ @staticmethod
+ def cyclicPath(*args):
+ return PythonGraphTraversal("__").cyclicPath(*args)
+ @staticmethod
+ def dedup(*args):
+ return PythonGraphTraversal("__").dedup(*args)
+ @staticmethod
+ def drop(*args):
+ return PythonGraphTraversal("__").drop(*args)
+ @staticmethod
+ def emit(*args):
+ return PythonGraphTraversal("__").emit(*args)
+ @staticmethod
+ def filter(*args):
+ return PythonGraphTraversal("__").filter(*args)
+ @staticmethod
+ def flatMap(*args):
+ return PythonGraphTraversal("__").flatMap(*args)
+ @staticmethod
+ def fold(*args):
+ return PythonGraphTraversal("__").fold(*args)
+ @staticmethod
+ def group(*args):
+ return PythonGraphTraversal("__").group(*args)
+ @staticmethod
+ def groupCount(*args):
+ return PythonGraphTraversal("__").groupCount(*args)
+ @staticmethod
+ def groupV3d0(*args):
+ return PythonGraphTraversal("__").groupV3d0(*args)
+ @staticmethod
+ def has(*args):
+ return PythonGraphTraversal("__").has(*args)
+ @staticmethod
+ def hasId(*args):
+ return PythonGraphTraversal("__").hasId(*args)
+ @staticmethod
+ def hasKey(*args):
+ return PythonGraphTraversal("__").hasKey(*args)
+ @staticmethod
+ def hasLabel(*args):
+ return PythonGraphTraversal("__").hasLabel(*args)
+ @staticmethod
+ def hasNot(*args):
+ return PythonGraphTraversal("__").hasNot(*args)
+ @staticmethod
+ def hasValue(*args):
+ return PythonGraphTraversal("__").hasValue(*args)
+ @staticmethod
+ def id(*args):
+ return PythonGraphTraversal("__").id(*args)
+ @staticmethod
+ def identity(*args):
+ return PythonGraphTraversal("__").identity(*args)
+ @staticmethod
+ def inE(*args):
+ return PythonGraphTraversal("__").inE(*args)
+ @staticmethod
+ def inV(*args):
+ return PythonGraphTraversal("__").inV(*args)
+ @staticmethod
+ def inject(*args):
+ return PythonGraphTraversal("__").inject(*args)
+ @staticmethod
+ def key(*args):
+ return PythonGraphTraversal("__").key(*args)
+ @staticmethod
+ def label(*args):
+ return PythonGraphTraversal("__").label(*args)
+ @staticmethod
+ def limit(*args):
+ return PythonGraphTraversal("__").limit(*args)
+ @staticmethod
+ def local(*args):
+ return PythonGraphTraversal("__").local(*args)
+ @staticmethod
+ def loops(*args):
+ return PythonGraphTraversal("__").loops(*args)
+ @staticmethod
+ def map(*args):
+ return PythonGraphTraversal("__").map(*args)
+ @staticmethod
+ def mapKeys(*args):
+ return PythonGraphTraversal("__").mapKeys(*args)
+ @staticmethod
+ def mapValues(*args):
+ return PythonGraphTraversal("__").mapValues(*args)
+ @staticmethod
+ def match(*args):
+ return PythonGraphTraversal("__").match(*args)
+ @staticmethod
+ def max(*args):
+ return PythonGraphTraversal("__").max(*args)
+ @staticmethod
+ def mean(*args):
+ return PythonGraphTraversal("__").mean(*args)
+ @staticmethod
+ def min(*args):
+ return PythonGraphTraversal("__").min(*args)
+ @staticmethod
+ def optional(*args):
+ return PythonGraphTraversal("__").optional(*args)
+ @staticmethod
+ def order(*args):
+ return PythonGraphTraversal("__").order(*args)
+ @staticmethod
+ def otherV(*args):
+ return PythonGraphTraversal("__").otherV(*args)
+ @staticmethod
+ def out(*args):
+ return PythonGraphTraversal("__").out(*args)
+ @staticmethod
+ def outE(*args):
+ return PythonGraphTraversal("__").outE(*args)
+ @staticmethod
+ def outV(*args):
+ return PythonGraphTraversal("__").outV(*args)
+ @staticmethod
+ def path(*args):
+ return PythonGraphTraversal("__").path(*args)
+ @staticmethod
+ def project(*args):
+ return PythonGraphTraversal("__").project(*args)
+ @staticmethod
+ def properties(*args):
+ return PythonGraphTraversal("__").properties(*args)
+ @staticmethod
+ def property(*args):
+ return PythonGraphTraversal("__").property(*args)
+ @staticmethod
+ def propertyMap(*args):
+ return PythonGraphTraversal("__").propertyMap(*args)
+ @staticmethod
+ def range(*args):
+ return PythonGraphTraversal("__").range(*args)
+ @staticmethod
+ def repeat(*args):
+ return PythonGraphTraversal("__").repeat(*args)
+ @staticmethod
+ def sack(*args):
+ return PythonGraphTraversal("__").sack(*args)
+ @staticmethod
+ def sample(*args):
+ return PythonGraphTraversal("__").sample(*args)
+ @staticmethod
+ def select(*args):
+ return PythonGraphTraversal("__").select(*args)
+ @staticmethod
+ def sideEffect(*args):
+ return PythonGraphTraversal("__").sideEffect(*args)
+ @staticmethod
+ def simplePath(*args):
+ return PythonGraphTraversal("__").simplePath(*args)
+ @staticmethod
+ def start(*args):
+ return PythonGraphTraversal("__").start(*args)
+ @staticmethod
+ def store(*args):
+ return PythonGraphTraversal("__").store(*args)
+ @staticmethod
+ def subgraph(*args):
+ return PythonGraphTraversal("__").subgraph(*args)
+ @staticmethod
+ def sum(*args):
+ return PythonGraphTraversal("__").sum(*args)
+ @staticmethod
+ def tail(*args):
+ return PythonGraphTraversal("__").tail(*args)
+ @staticmethod
+ def timeLimit(*args):
+ return PythonGraphTraversal("__").timeLimit(*args)
+ @staticmethod
+ def times(*args):
+ return PythonGraphTraversal("__").times(*args)
+ @staticmethod
+ def to(*args):
+ return PythonGraphTraversal("__").to(*args)
+ @staticmethod
+ def toE(*args):
+ return PythonGraphTraversal("__").toE(*args)
+ @staticmethod
+ def toV(*args):
+ return PythonGraphTraversal("__").toV(*args)
+ @staticmethod
+ def tree(*args):
+ return PythonGraphTraversal("__").tree(*args)
+ @staticmethod
+ def unfold(*args):
+ return PythonGraphTraversal("__").unfold(*args)
+ @staticmethod
+ def union(*args):
+ return PythonGraphTraversal("__").union(*args)
+ @staticmethod
+ def until(*args):
+ return PythonGraphTraversal("__").until(*args)
+ @staticmethod
+ def value(*args):
+ return PythonGraphTraversal("__").value(*args)
+ @staticmethod
+ def valueMap(*args):
+ return PythonGraphTraversal("__").valueMap(*args)
+ @staticmethod
+ def values(*args):
+ return PythonGraphTraversal("__").values(*args)
+ @staticmethod
+ def where(*args):
+ return PythonGraphTraversal("__").where(*args)
+
+
+if(sys.argv[0]):
+ def V(*args):
+ return __.V(*args)
+ def _and(*args):
+ return __._and(*args)
+ def _as(*args):
+ return __._as(*args)
+ def _in(*args):
+ return __._in(*args)
+ def _is(*args):
+ return __._is(*args)
+ def _not(*args):
+ return __._not(*args)
+ def _or(*args):
+ return __._or(*args)
+ def addE(*args):
+ return __.addE(*args)
+ def addInE(*args):
+ return __.addInE(*args)
+ def addOutE(*args):
+ return __.addOutE(*args)
+ def addV(*args):
+ return __.addV(*args)
+ def aggregate(*args):
+ return __.aggregate(*args)
+ def barrier(*args):
+ return __.barrier(*args)
+ def both(*args):
+ return __.both(*args)
+ def bothE(*args):
+ return __.bothE(*args)
+ def bothV(*args):
+ return __.bothV(*args)
+ def branch(*args):
+ return __.branch(*args)
+ def cap(*args):
+ return __.cap(*args)
+ def choose(*args):
+ return __.choose(*args)
+ def coalesce(*args):
+ return __.coalesce(*args)
+ def coin(*args):
+ return __.coin(*args)
+ def constant(*args):
+ return __.constant(*args)
+ def count(*args):
+ return __.count(*args)
+ def cyclicPath(*args):
+ return __.cyclicPath(*args)
+ def dedup(*args):
+ return __.dedup(*args)
+ def drop(*args):
+ return __.drop(*args)
+ def emit(*args):
+ return __.emit(*args)
+ def filter(*args):
+ return __.filter(*args)
+ def flatMap(*args):
+ return __.flatMap(*args)
+ def fold(*args):
+ return __.fold(*args)
+ def group(*args):
+ return __.group(*args)
+ def groupCount(*args):
+ return __.groupCount(*args)
+ def groupV3d0(*args):
+ return __.groupV3d0(*args)
+ def has(*args):
+ return __.has(*args)
+ def hasId(*args):
+ return __.hasId(*args)
+ def hasKey(*args):
+ return __.hasKey(*args)
+ def hasLabel(*args):
+ return __.hasLabel(*args)
+ def hasNot(*args):
+ return __.hasNot(*args)
+ def hasValue(*args):
+ return __.hasValue(*args)
+ def id(*args):
+ return __.id(*args)
+ def identity(*args):
+ return __.identity(*args)
+ def inE(*args):
+ return __.inE(*args)
+ def inV(*args):
+ return __.inV(*args)
+ def inject(*args):
+ return __.inject(*args)
+ def key(*args):
+ return __.key(*args)
+ def label(*args):
+ return __.label(*args)
+ def limit(*args):
+ return __.limit(*args)
+ def local(*args):
+ return __.local(*args)
+ def loops(*args):
+ return __.loops(*args)
+ def map(*args):
+ return __.map(*args)
+ def mapKeys(*args):
+ return __.mapKeys(*args)
+ def mapValues(*args):
+ return __.mapValues(*args)
+ def match(*args):
+ return __.match(*args)
+ def max(*args):
+ return __.max(*args)
+ def mean(*args):
+ return __.mean(*args)
+ def min(*args):
+ return __.min(*args)
+ def optional(*args):
+ return __.optional(*args)
+ def order(*args):
+ return __.order(*args)
+ def otherV(*args):
+ return __.otherV(*args)
+ def out(*args):
+ return __.out(*args)
+ def outE(*args):
+ return __.outE(*args)
+ def outV(*args):
+ return __.outV(*args)
+ def path(*args):
+ return __.path(*args)
+ def project(*args):
+ return __.project(*args)
+ def properties(*args):
+ return __.properties(*args)
+ def property(*args):
+ return __.property(*args)
+ def propertyMap(*args):
+ return __.propertyMap(*args)
+ def range(*args):
+ return __.range(*args)
+ def repeat(*args):
+ return __.repeat(*args)
+ def sack(*args):
+ return __.sack(*args)
+ def sample(*args):
+ return __.sample(*args)
+ def select(*args):
+ return __.select(*args)
+ def sideEffect(*args):
+ return __.sideEffect(*args)
+ def simplePath(*args):
+ return __.simplePath(*args)
+ def start(*args):
+ return __.start(*args)
+ def store(*args):
+ return __.store(*args)
+ def subgraph(*args):
+ return __.subgraph(*args)
+ def sum(*args):
+ return __.sum(*args)
+ def tail(*args):
+ return __.tail(*args)
+ def timeLimit(*args):
+ return __.timeLimit(*args)
+ def times(*args):
+ return __.times(*args)
+ def to(*args):
+ return __.to(*args)
+ def toE(*args):
+ return __.toE(*args)
+ def toV(*args):
+ return __.toV(*args)
+ def tree(*args):
+ return __.tree(*args)
+ def unfold(*args):
+ return __.unfold(*args)
+ def union(*args):
+ return __.union(*args)
+ def until(*args):
+ return __.until(*args)
+ def value(*args):
+ return __.value(*args)
+ def valueMap(*args):
+ return __.valueMap(*args)
+ def values(*args):
+ return __.values(*args)
+ def where(*args):
+ return __.where(*args)
+
+
+class Cardinality(object):
+ single = "VertexProperty.Cardinality.single"
+ list = "VertexProperty.Cardinality.list"
+ set = "VertexProperty.Cardinality.set"
+
+class Column(object):
+ keys = "Column.keys"
+ values = "Column.values"
+
+if(sys.argv[0]):
+ keys = Column.keys
+ values = Column.values
+
+class Direction(object):
+ OUT = "Direction.OUT"
+ IN = "Direction.IN"
+ BOTH = "Direction.BOTH"
+
+if(sys.argv[0]):
+ OUT = Direction.OUT
+ IN = Direction.IN
+ BOTH = Direction.BOTH
+
+class Operator(object):
+ sum = "Operator.sum"
+ minus = "Operator.minus"
+ mult = "Operator.mult"
+ div = "Operator.div"
+ min = "Operator.min"
+ max = "Operator.max"
+ assign = "Operator.assign"
+ _and = "Operator.and"
+ _or = "Operator.or"
+ addAll = "Operator.addAll"
+ sumLong = "Operator.sumLong"
+
+if(sys.argv[0]):
+ sum = Operator.sum
+ minus = Operator.minus
+ mult = Operator.mult
+ div = Operator.div
+ min = Operator.min
+ max = Operator.max
+ assign = Operator.assign
+ _and = Operator._and
+ _or = Operator._or
+ addAll = Operator.addAll
+ sumLong = Operator.sumLong
+
+class Order(object):
+ incr = "Order.incr"
+ decr = "Order.decr"
+ keyIncr = "Order.keyIncr"
+ valueIncr = "Order.valueIncr"
+ keyDecr = "Order.keyDecr"
+ valueDecr = "Order.valueDecr"
+ shuffle = "Order.shuffle"
+
+if(sys.argv[0]):
+ incr = Order.incr
+ decr = Order.decr
+ keyIncr = Order.keyIncr
+ valueIncr = Order.valueIncr
+ keyDecr = Order.keyDecr
+ valueDecr = Order.valueDecr
+ shuffle = Order.shuffle
+
+class P(object):
+ def __init__(self, pString):
+ self.pString = pString
+ def __repr__(self):
+ return self.pString
+ @staticmethod
+ def _not(*args):
+ return P("P.not(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def between(*args):
+ return P("P.between(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def clone(*args):
+ return P("P.clone(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def eq(*args):
+ return P("P.eq(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def gt(*args):
+ return P("P.gt(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def gte(*args):
+ return P("P.gte(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def inside(*args):
+ return P("P.inside(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def lt(*args):
+ return P("P.lt(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def lte(*args):
+ return P("P.lte(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def negate(*args):
+ return P("P.negate(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def neq(*args):
+ return P("P.neq(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def outside(*args):
+ return P("P.outside(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def test(*args):
+ return P("P.test(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def within(*args):
+ return P("P.within(" + Helper.stringify(*args) + ")")
+ @staticmethod
+ def without(*args):
+ return P("P.without(" + Helper.stringify(*args) + ")")
+ def _and(self, arg):
+ return P(self.pString + ".and(" + Helper.stringify(arg) + ")")
+ def _or(self, arg):
+ return P(self.pString + ".or(" + Helper.stringify(arg) + ")")
+
+if(sys.argv[0]):
+ def _and(*args):
+ return P._and(*args)
+ def _not(*args):
+ return P._not(*args)
+ def _or(*args):
+ return P._or(*args)
+ def between(*args):
+ return P.between(*args)
+ def clone(*args):
+ return P.clone(*args)
+ def eq(*args):
+ return P.eq(*args)
+ def gt(*args):
+ return P.gt(*args)
+ def gte(*args):
+ return P.gte(*args)
+ def inside(*args):
+ return P.inside(*args)
+ def lt(*args):
+ return P.lt(*args)
+ def lte(*args):
+ return P.lte(*args)
+ def negate(*args):
+ return P.negate(*args)
+ def neq(*args):
+ return P.neq(*args)
+ def outside(*args):
+ return P.outside(*args)
+ def test(*args):
+ return P.test(*args)
+ def within(*args):
+ return P.within(*args)
+ def without(*args):
+ return P.without(*args)
+
+class Pop(object):
+ first = "Pop.first"
+ last = "Pop.last"
+ all = "Pop.all"
+
+if(sys.argv[0]):
+ first = Pop.first
+ last = Pop.last
+ all = Pop.all
+
+class Barrier(object):
+ normSack = "SackFunctions.Barrier.normSack"
+
+if(sys.argv[0]):
+ normSack = Barrier.normSack
+
+class Scope(object):
+ _global = "Scope.global"
+ local = "Scope.local"
+
+if(sys.argv[0]):
+ _global = Scope._global
+ local = Scope.local
+
+class T(object):
+ label = "T.label"
+ id = "T.id"
+ key = "T.key"
+ value = "T.value"
+
+if(sys.argv[0]):
+ label = T.label
+ id = T.id
+ key = T.key
+ value = T.value
+
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/jython/gremlin_rest_driver/__init__.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_rest_driver/__init__.py b/gremlin-variant/src/main/jython/gremlin_rest_driver/__init__.py
new file mode 100644
index 0000000..8ae13f8
--- /dev/null
+++ b/gremlin-variant/src/main/jython/gremlin_rest_driver/__init__.py
@@ -0,0 +1,21 @@
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+'''
+from gremlin_rest_driver import RESTRemoteConnection
+
+__author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py b/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py
new file mode 100644
index 0000000..b4041c7
--- /dev/null
+++ b/gremlin-variant/src/main/jython/gremlin_rest_driver/gremlin_rest_driver.py
@@ -0,0 +1,37 @@
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+'''
+import requests
+from gremlin_driver.gremlin_driver import RemoteConnection
+
+__author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
+
+try:
+ import ujson as json
+except ImportError:
+ import json
+
+class RESTRemoteConnection(RemoteConnection):
+ def __init__(self,url,scriptEngine):
+ self.url = url
+ self.scriptEngine = scriptEngine
+
+ def submit(self,script):
+ requests.get(self.url + "?" + script)
+ return [requests.json()]
+
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/jython/org/apache/tinkerpop/gremlin/process/variant/python/__init__.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/org/apache/tinkerpop/gremlin/process/variant/python/__init__.py b/gremlin-variant/src/main/jython/org/apache/tinkerpop/gremlin/process/variant/python/__init__.py
deleted file mode 100644
index ee914e2..0000000
--- a/gremlin-variant/src/main/jython/org/apache/tinkerpop/gremlin/process/variant/python/__init__.py
+++ /dev/null
@@ -1,19 +0,0 @@
-'''
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-'''
-__author__ = 'marko'
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ed91e829/gremlin-variant/src/main/jython/org/apache/tinkerpop/gremlin/process/variant/python/gremlin_python.py
----------------------------------------------------------------------
diff --git a/gremlin-variant/src/main/jython/org/apache/tinkerpop/gremlin/process/variant/python/gremlin_python.py b/gremlin-variant/src/main/jython/org/apache/tinkerpop/gremlin/process/variant/python/gremlin_python.py
deleted file mode 100644
index 19e8cc0..0000000
--- a/gremlin-variant/src/main/jython/org/apache/tinkerpop/gremlin/process/variant/python/gremlin_python.py
+++ /dev/null
@@ -1,1081 +0,0 @@
-'''
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-'''
-import sys
-from gremlin_python_driver import RemoteConnection
-
-class Helper(object):
- @staticmethod
- def stringOrObject(arg):
- if (type(arg) is str and
- not(arg.startswith("SackFunctions.Barrier.")) and
- not(arg.startswith("VertexProperty.Cardinality.")) and
- not(arg.startswith("Column.")) and
- not(arg.startswith("Computer.")) and
- not(arg.startswith("Direction.")) and
- not(arg.startswith("Operator.")) and
- not(arg.startswith("Order.")) and
- not(arg.startswith("P.")) and
- not(arg.startswith("Pop.")) and
- not(arg.startswith("ReadOnlyStrategy.")) and
- not(arg.startswith("Scope.")) and
- not(arg.startswith("T.")) and
- not(len(arg)==0)):
- return "\"" + arg + "\""
- elif type(arg) is bool:
- return str(arg).lower()
- elif type(arg) is long:
- return str(arg) + "L"
- elif type(arg) is float:
- return str(arg) + "f"
- else:
- return str(arg)
- @staticmethod
- def stringify(*args):
- if len(args) == 0:
- return ""
- elif len(args) == 1:
- return Helper.stringOrObject(args[0])
- else:
- return ", ".join(Helper.stringOrObject(i) for i in args)
-
-
-class PythonGraphTraversalSource(object):
- def __init__(self, traversalSourceString):
- self.traversalSourceString = traversalSourceString
- def __repr__(self):
- return "graphtraversalsource[" + self.traversalSourceString + "]"
- def E(self, *args):
- return PythonGraphTraversal(self.traversalSourceString + ".E(" + Helper.stringify(*args) + ")")
- def V(self, *args):
- return PythonGraphTraversal(self.traversalSourceString + ".V(" + Helper.stringify(*args) + ")")
- def addV(self, *args):
- return PythonGraphTraversal(self.traversalSourceString + ".addV(" + Helper.stringify(*args) + ")")
- def clone(self, *args):
- return PythonGraphTraversalSource(self.traversalSourceString + ".clone(" + Helper.stringify(*args) + ")")
- def inject(self, *args):
- return PythonGraphTraversal(self.traversalSourceString + ".inject(" + Helper.stringify(*args) + ")")
- def withBulk(self, *args):
- return PythonGraphTraversalSource(self.traversalSourceString + ".withBulk(" + Helper.stringify(*args) + ")")
- def withComputer(self, *args):
- return PythonGraphTraversalSource(self.traversalSourceString + ".withComputer(" + Helper.stringify(*args) + ")")
- def withPath(self, *args):
- return PythonGraphTraversalSource(self.traversalSourceString + ".withPath(" + Helper.stringify(*args) + ")")
- def withSack(self, *args):
- return PythonGraphTraversalSource(self.traversalSourceString + ".withSack(" + Helper.stringify(*args) + ")")
- def withSideEffect(self, *args):
- return PythonGraphTraversalSource(self.traversalSourceString + ".withSideEffect(" + Helper.stringify(*args) + ")")
- def withStrategies(self, *args):
- return PythonGraphTraversalSource(self.traversalSourceString + ".withStrategies(" + Helper.stringify(*args) + ")")
- def withoutStrategies(self, *args):
- return PythonGraphTraversalSource(self.traversalSourceString + ".withoutStrategies(" + Helper.stringify(*args) + ")")
-
-
-class PythonGraphTraversal(object):
- def __init__(self, traversalString):
- self.traversalString = traversalString
- self.results = None
- self.lastTraverser = None
- def __repr__(self):
- return self.traversalString
- def __getitem__(self,index):
- if type(index) is int:
- return self.range(index,index+1)
- elif type(index) is slice:
- return self.range(index.start,index.stop)
- else:
- raise TypeError("Index must be int or slice")
- def __getattr__(self,key):
- return self.values(key)
- def __iter__(self):
- return self
- def next(self):
- if self.results is None:
- self.results = RemoteConnection.submit("gremlin-groovy",self.traversalString)
- if self.lastTraverser is None:
- self.lastTraverser = self.results.next()
- object = self.lastTraverser.object
- self.lastTraverser.bulk = self.lastTraverser.bulk - 1
- if self.lastTraverser.bulk <= 0:
- self.lastTraverser = None
- return object
- def V(self, *args):
- self.traversalString = self.traversalString + ".V(" + Helper.stringify(*args) + ")"
- return self
- def _and(self, *args):
- self.traversalString = self.traversalString + ".and(" + Helper.stringify(*args) + ")"
- return self
- def _as(self, *args):
- self.traversalString = self.traversalString + ".as(" + Helper.stringify(*args) + ")"
- return self
- def _from(self, *args):
- self.traversalString = self.traversalString + ".from(" + Helper.stringify(*args) + ")"
- return self
- def _in(self, *args):
- self.traversalString = self.traversalString + ".in(" + Helper.stringify(*args) + ")"
- return self
- def _is(self, *args):
- self.traversalString = self.traversalString + ".is(" + Helper.stringify(*args) + ")"
- return self
- def _not(self, *args):
- self.traversalString = self.traversalString + ".not(" + Helper.stringify(*args) + ")"
- return self
- def _or(self, *args):
- self.traversalString = self.traversalString + ".or(" + Helper.stringify(*args) + ")"
- return self
- def addE(self, *args):
- self.traversalString = self.traversalString + ".addE(" + Helper.stringify(*args) + ")"
- return self
- def addInE(self, *args):
- self.traversalString = self.traversalString + ".addInE(" + Helper.stringify(*args) + ")"
- return self
- def addOutE(self, *args):
- self.traversalString = self.traversalString + ".addOutE(" + Helper.stringify(*args) + ")"
- return self
- def addV(self, *args):
- self.traversalString = self.traversalString + ".addV(" + Helper.stringify(*args) + ")"
- return self
- def aggregate(self, *args):
- self.traversalString = self.traversalString + ".aggregate(" + Helper.stringify(*args) + ")"
- return self
- def asAdmin(self, *args):
- self.traversalString = self.traversalString + ".asAdmin(" + Helper.stringify(*args) + ")"
- return self
- def barrier(self, *args):
- self.traversalString = self.traversalString + ".barrier(" + Helper.stringify(*args) + ")"
- return self
- def both(self, *args):
- self.traversalString = self.traversalString + ".both(" + Helper.stringify(*args) + ")"
- return self
- def bothE(self, *args):
- self.traversalString = self.traversalString + ".bothE(" + Helper.stringify(*args) + ")"
- return self
- def bothV(self, *args):
- self.traversalString = self.traversalString + ".bothV(" + Helper.stringify(*args) + ")"
- return self
- def branch(self, *args):
- self.traversalString = self.traversalString + ".branch(" + Helper.stringify(*args) + ")"
- return self
- def by(self, *args):
- self.traversalString = self.traversalString + ".by(" + Helper.stringify(*args) + ")"
- return self
- def cap(self, *args):
- self.traversalString = self.traversalString + ".cap(" + Helper.stringify(*args) + ")"
- return self
- def choose(self, *args):
- self.traversalString = self.traversalString + ".choose(" + Helper.stringify(*args) + ")"
- return self
- def coalesce(self, *args):
- self.traversalString = self.traversalString + ".coalesce(" + Helper.stringify(*args) + ")"
- return self
- def coin(self, *args):
- self.traversalString = self.traversalString + ".coin(" + Helper.stringify(*args) + ")"
- return self
- def constant(self, *args):
- self.traversalString = self.traversalString + ".constant(" + Helper.stringify(*args) + ")"
- return self
- def count(self, *args):
- self.traversalString = self.traversalString + ".count(" + Helper.stringify(*args) + ")"
- return self
- def cyclicPath(self, *args):
- self.traversalString = self.traversalString + ".cyclicPath(" + Helper.stringify(*args) + ")"
- return self
- def dedup(self, *args):
- self.traversalString = self.traversalString + ".dedup(" + Helper.stringify(*args) + ")"
- return self
- def drop(self, *args):
- self.traversalString = self.traversalString + ".drop(" + Helper.stringify(*args) + ")"
- return self
- def emit(self, *args):
- self.traversalString = self.traversalString + ".emit(" + Helper.stringify(*args) + ")"
- return self
- def filter(self, *args):
- self.traversalString = self.traversalString + ".filter(" + Helper.stringify(*args) + ")"
- return self
- def flatMap(self, *args):
- self.traversalString = self.traversalString + ".flatMap(" + Helper.stringify(*args) + ")"
- return self
- def fold(self, *args):
- self.traversalString = self.traversalString + ".fold(" + Helper.stringify(*args) + ")"
- return self
- def group(self, *args):
- self.traversalString = self.traversalString + ".group(" + Helper.stringify(*args) + ")"
- return self
- def groupCount(self, *args):
- self.traversalString = self.traversalString + ".groupCount(" + Helper.stringify(*args) + ")"
- return self
- def groupV3d0(self, *args):
- self.traversalString = self.traversalString + ".groupV3d0(" + Helper.stringify(*args) + ")"
- return self
- def has(self, *args):
- self.traversalString = self.traversalString + ".has(" + Helper.stringify(*args) + ")"
- return self
- def hasId(self, *args):
- self.traversalString = self.traversalString + ".hasId(" + Helper.stringify(*args) + ")"
- return self
- def hasKey(self, *args):
- self.traversalString = self.traversalString + ".hasKey(" + Helper.stringify(*args) + ")"
- return self
- def hasLabel(self, *args):
- self.traversalString = self.traversalString + ".hasLabel(" + Helper.stringify(*args) + ")"
- return self
- def hasNot(self, *args):
- self.traversalString = self.traversalString + ".hasNot(" + Helper.stringify(*args) + ")"
- return self
- def hasValue(self, *args):
- self.traversalString = self.traversalString + ".hasValue(" + Helper.stringify(*args) + ")"
- return self
- def id(self, *args):
- self.traversalString = self.traversalString + ".id(" + Helper.stringify(*args) + ")"
- return self
- def identity(self, *args):
- self.traversalString = self.traversalString + ".identity(" + Helper.stringify(*args) + ")"
- return self
- def inE(self, *args):
- self.traversalString = self.traversalString + ".inE(" + Helper.stringify(*args) + ")"
- return self
- def inV(self, *args):
- self.traversalString = self.traversalString + ".inV(" + Helper.stringify(*args) + ")"
- return self
- def inject(self, *args):
- self.traversalString = self.traversalString + ".inject(" + Helper.stringify(*args) + ")"
- return self
- def iterate(self, *args):
- self.traversalString = self.traversalString + ".iterate(" + Helper.stringify(*args) + ")"
- return self
- def key(self, *args):
- self.traversalString = self.traversalString + ".key(" + Helper.stringify(*args) + ")"
- return self
- def label(self, *args):
- self.traversalString = self.traversalString + ".label(" + Helper.stringify(*args) + ")"
- return self
- def limit(self, *args):
- self.traversalString = self.traversalString + ".limit(" + Helper.stringify(*args) + ")"
- return self
- def local(self, *args):
- self.traversalString = self.traversalString + ".local(" + Helper.stringify(*args) + ")"
- return self
- def loops(self, *args):
- self.traversalString = self.traversalString + ".loops(" + Helper.stringify(*args) + ")"
- return self
- def map(self, *args):
- self.traversalString = self.traversalString + ".map(" + Helper.stringify(*args) + ")"
- return self
- def mapKeys(self, *args):
- self.traversalString = self.traversalString + ".mapKeys(" + Helper.stringify(*args) + ")"
- return self
- def mapValues(self, *args):
- self.traversalString = self.traversalString + ".mapValues(" + Helper.stringify(*args) + ")"
- return self
- def match(self, *args):
- self.traversalString = self.traversalString + ".match(" + Helper.stringify(*args) + ")"
- return self
- def max(self, *args):
- self.traversalString = self.traversalString + ".max(" + Helper.stringify(*args) + ")"
- return self
- def mean(self, *args):
- self.traversalString = self.traversalString + ".mean(" + Helper.stringify(*args) + ")"
- return self
- def min(self, *args):
- self.traversalString = self.traversalString + ".min(" + Helper.stringify(*args) + ")"
- return self
- def option(self, *args):
- self.traversalString = self.traversalString + ".option(" + Helper.stringify(*args) + ")"
- return self
- def optional(self, *args):
- self.traversalString = self.traversalString + ".optional(" + Helper.stringify(*args) + ")"
- return self
- def order(self, *args):
- self.traversalString = self.traversalString + ".order(" + Helper.stringify(*args) + ")"
- return self
- def otherV(self, *args):
- self.traversalString = self.traversalString + ".otherV(" + Helper.stringify(*args) + ")"
- return self
- def out(self, *args):
- self.traversalString = self.traversalString + ".out(" + Helper.stringify(*args) + ")"
- return self
- def outE(self, *args):
- self.traversalString = self.traversalString + ".outE(" + Helper.stringify(*args) + ")"
- return self
- def outV(self, *args):
- self.traversalString = self.traversalString + ".outV(" + Helper.stringify(*args) + ")"
- return self
- def pageRank(self, *args):
- self.traversalString = self.traversalString + ".pageRank(" + Helper.stringify(*args) + ")"
- return self
- def path(self, *args):
- self.traversalString = self.traversalString + ".path(" + Helper.stringify(*args) + ")"
- return self
- def peerPressure(self, *args):
- self.traversalString = self.traversalString + ".peerPressure(" + Helper.stringify(*args) + ")"
- return self
- def profile(self, *args):
- self.traversalString = self.traversalString + ".profile(" + Helper.stringify(*args) + ")"
- return self
- def program(self, *args):
- self.traversalString = self.traversalString + ".program(" + Helper.stringify(*args) + ")"
- return self
- def project(self, *args):
- self.traversalString = self.traversalString + ".project(" + Helper.stringify(*args) + ")"
- return self
- def properties(self, *args):
- self.traversalString = self.traversalString + ".properties(" + Helper.stringify(*args) + ")"
- return self
- def property(self, *args):
- self.traversalString = self.traversalString + ".property(" + Helper.stringify(*args) + ")"
- return self
- def propertyMap(self, *args):
- self.traversalString = self.traversalString + ".propertyMap(" + Helper.stringify(*args) + ")"
- return self
- def range(self, *args):
- self.traversalString = self.traversalString + ".range(" + Helper.stringify(*args) + ")"
- return self
- def repeat(self, *args):
- self.traversalString = self.traversalString + ".repeat(" + Helper.stringify(*args) + ")"
- return self
- def sack(self, *args):
- self.traversalString = self.traversalString + ".sack(" + Helper.stringify(*args) + ")"
- return self
- def sample(self, *args):
- self.traversalString = self.traversalString + ".sample(" + Helper.stringify(*args) + ")"
- return self
- def select(self, *args):
- self.traversalString = self.traversalString + ".select(" + Helper.stringify(*args) + ")"
- return self
- def sideEffect(self, *args):
- self.traversalString = self.traversalString + ".sideEffect(" + Helper.stringify(*args) + ")"
- return self
- def simplePath(self, *args):
- self.traversalString = self.traversalString + ".simplePath(" + Helper.stringify(*args) + ")"
- return self
- def store(self, *args):
- self.traversalString = self.traversalString + ".store(" + Helper.stringify(*args) + ")"
- return self
- def subgraph(self, *args):
- self.traversalString = self.traversalString + ".subgraph(" + Helper.stringify(*args) + ")"
- return self
- def sum(self, *args):
- self.traversalString = self.traversalString + ".sum(" + Helper.stringify(*args) + ")"
- return self
- def tail(self, *args):
- self.traversalString = self.traversalString + ".tail(" + Helper.stringify(*args) + ")"
- return self
- def timeLimit(self, *args):
- self.traversalString = self.traversalString + ".timeLimit(" + Helper.stringify(*args) + ")"
- return self
- def times(self, *args):
- self.traversalString = self.traversalString + ".times(" + Helper.stringify(*args) + ")"
- return self
- def to(self, *args):
- self.traversalString = self.traversalString + ".to(" + Helper.stringify(*args) + ")"
- return self
- def toE(self, *args):
- self.traversalString = self.traversalString + ".toE(" + Helper.stringify(*args) + ")"
- return self
- def toV(self, *args):
- self.traversalString = self.traversalString + ".toV(" + Helper.stringify(*args) + ")"
- return self
- def tree(self, *args):
- self.traversalString = self.traversalString + ".tree(" + Helper.stringify(*args) + ")"
- return self
- def unfold(self, *args):
- self.traversalString = self.traversalString + ".unfold(" + Helper.stringify(*args) + ")"
- return self
- def union(self, *args):
- self.traversalString = self.traversalString + ".union(" + Helper.stringify(*args) + ")"
- return self
- def until(self, *args):
- self.traversalString = self.traversalString + ".until(" + Helper.stringify(*args) + ")"
- return self
- def value(self, *args):
- self.traversalString = self.traversalString + ".value(" + Helper.stringify(*args) + ")"
- return self
- def valueMap(self, *args):
- self.traversalString = self.traversalString + ".valueMap(" + Helper.stringify(*args) + ")"
- return self
- def values(self, *args):
- self.traversalString = self.traversalString + ".values(" + Helper.stringify(*args) + ")"
- return self
- def where(self, *args):
- self.traversalString = self.traversalString + ".where(" + Helper.stringify(*args) + ")"
- return self
-
-
-class __(object):
- @staticmethod
- def V(*args):
- return PythonGraphTraversal("__").V(*args)
- @staticmethod
- def __(*args):
- return PythonGraphTraversal("__").__(*args)
- @staticmethod
- def _and(*args):
- return PythonGraphTraversal("__")._and(*args)
- @staticmethod
- def _as(*args):
- return PythonGraphTraversal("__")._as(*args)
- @staticmethod
- def _in(*args):
- return PythonGraphTraversal("__")._in(*args)
- @staticmethod
- def _is(*args):
- return PythonGraphTraversal("__")._is(*args)
- @staticmethod
- def _not(*args):
- return PythonGraphTraversal("__")._not(*args)
- @staticmethod
- def _or(*args):
- return PythonGraphTraversal("__")._or(*args)
- @staticmethod
- def addE(*args):
- return PythonGraphTraversal("__").addE(*args)
- @staticmethod
- def addInE(*args):
- return PythonGraphTraversal("__").addInE(*args)
- @staticmethod
- def addOutE(*args):
- return PythonGraphTraversal("__").addOutE(*args)
- @staticmethod
- def addV(*args):
- return PythonGraphTraversal("__").addV(*args)
- @staticmethod
- def aggregate(*args):
- return PythonGraphTraversal("__").aggregate(*args)
- @staticmethod
- def barrier(*args):
- return PythonGraphTraversal("__").barrier(*args)
- @staticmethod
- def both(*args):
- return PythonGraphTraversal("__").both(*args)
- @staticmethod
- def bothE(*args):
- return PythonGraphTraversal("__").bothE(*args)
- @staticmethod
- def bothV(*args):
- return PythonGraphTraversal("__").bothV(*args)
- @staticmethod
- def branch(*args):
- return PythonGraphTraversal("__").branch(*args)
- @staticmethod
- def cap(*args):
- return PythonGraphTraversal("__").cap(*args)
- @staticmethod
- def choose(*args):
- return PythonGraphTraversal("__").choose(*args)
- @staticmethod
- def coalesce(*args):
- return PythonGraphTraversal("__").coalesce(*args)
- @staticmethod
- def coin(*args):
- return PythonGraphTraversal("__").coin(*args)
- @staticmethod
- def constant(*args):
- return PythonGraphTraversal("__").constant(*args)
- @staticmethod
- def count(*args):
- return PythonGraphTraversal("__").count(*args)
- @staticmethod
- def cyclicPath(*args):
- return PythonGraphTraversal("__").cyclicPath(*args)
- @staticmethod
- def dedup(*args):
- return PythonGraphTraversal("__").dedup(*args)
- @staticmethod
- def drop(*args):
- return PythonGraphTraversal("__").drop(*args)
- @staticmethod
- def emit(*args):
- return PythonGraphTraversal("__").emit(*args)
- @staticmethod
- def filter(*args):
- return PythonGraphTraversal("__").filter(*args)
- @staticmethod
- def flatMap(*args):
- return PythonGraphTraversal("__").flatMap(*args)
- @staticmethod
- def fold(*args):
- return PythonGraphTraversal("__").fold(*args)
- @staticmethod
- def group(*args):
- return PythonGraphTraversal("__").group(*args)
- @staticmethod
- def groupCount(*args):
- return PythonGraphTraversal("__").groupCount(*args)
- @staticmethod
- def groupV3d0(*args):
- return PythonGraphTraversal("__").groupV3d0(*args)
- @staticmethod
- def has(*args):
- return PythonGraphTraversal("__").has(*args)
- @staticmethod
- def hasId(*args):
- return PythonGraphTraversal("__").hasId(*args)
- @staticmethod
- def hasKey(*args):
- return PythonGraphTraversal("__").hasKey(*args)
- @staticmethod
- def hasLabel(*args):
- return PythonGraphTraversal("__").hasLabel(*args)
- @staticmethod
- def hasNot(*args):
- return PythonGraphTraversal("__").hasNot(*args)
- @staticmethod
- def hasValue(*args):
- return PythonGraphTraversal("__").hasValue(*args)
- @staticmethod
- def id(*args):
- return PythonGraphTraversal("__").id(*args)
- @staticmethod
- def identity(*args):
- return PythonGraphTraversal("__").identity(*args)
- @staticmethod
- def inE(*args):
- return PythonGraphTraversal("__").inE(*args)
- @staticmethod
- def inV(*args):
- return PythonGraphTraversal("__").inV(*args)
- @staticmethod
- def inject(*args):
- return PythonGraphTraversal("__").inject(*args)
- @staticmethod
- def key(*args):
- return PythonGraphTraversal("__").key(*args)
- @staticmethod
- def label(*args):
- return PythonGraphTraversal("__").label(*args)
- @staticmethod
- def limit(*args):
- return PythonGraphTraversal("__").limit(*args)
- @staticmethod
- def local(*args):
- return PythonGraphTraversal("__").local(*args)
- @staticmethod
- def loops(*args):
- return PythonGraphTraversal("__").loops(*args)
- @staticmethod
- def map(*args):
- return PythonGraphTraversal("__").map(*args)
- @staticmethod
- def mapKeys(*args):
- return PythonGraphTraversal("__").mapKeys(*args)
- @staticmethod
- def mapValues(*args):
- return PythonGraphTraversal("__").mapValues(*args)
- @staticmethod
- def match(*args):
- return PythonGraphTraversal("__").match(*args)
- @staticmethod
- def max(*args):
- return PythonGraphTraversal("__").max(*args)
- @staticmethod
- def mean(*args):
- return PythonGraphTraversal("__").mean(*args)
- @staticmethod
- def min(*args):
- return PythonGraphTraversal("__").min(*args)
- @staticmethod
- def optional(*args):
- return PythonGraphTraversal("__").optional(*args)
- @staticmethod
- def order(*args):
- return PythonGraphTraversal("__").order(*args)
- @staticmethod
- def otherV(*args):
- return PythonGraphTraversal("__").otherV(*args)
- @staticmethod
- def out(*args):
- return PythonGraphTraversal("__").out(*args)
- @staticmethod
- def outE(*args):
- return PythonGraphTraversal("__").outE(*args)
- @staticmethod
- def outV(*args):
- return PythonGraphTraversal("__").outV(*args)
- @staticmethod
- def path(*args):
- return PythonGraphTraversal("__").path(*args)
- @staticmethod
- def project(*args):
- return PythonGraphTraversal("__").project(*args)
- @staticmethod
- def properties(*args):
- return PythonGraphTraversal("__").properties(*args)
- @staticmethod
- def property(*args):
- return PythonGraphTraversal("__").property(*args)
- @staticmethod
- def propertyMap(*args):
- return PythonGraphTraversal("__").propertyMap(*args)
- @staticmethod
- def range(*args):
- return PythonGraphTraversal("__").range(*args)
- @staticmethod
- def repeat(*args):
- return PythonGraphTraversal("__").repeat(*args)
- @staticmethod
- def sack(*args):
- return PythonGraphTraversal("__").sack(*args)
- @staticmethod
- def sample(*args):
- return PythonGraphTraversal("__").sample(*args)
- @staticmethod
- def select(*args):
- return PythonGraphTraversal("__").select(*args)
- @staticmethod
- def sideEffect(*args):
- return PythonGraphTraversal("__").sideEffect(*args)
- @staticmethod
- def simplePath(*args):
- return PythonGraphTraversal("__").simplePath(*args)
- @staticmethod
- def start(*args):
- return PythonGraphTraversal("__").start(*args)
- @staticmethod
- def store(*args):
- return PythonGraphTraversal("__").store(*args)
- @staticmethod
- def subgraph(*args):
- return PythonGraphTraversal("__").subgraph(*args)
- @staticmethod
- def sum(*args):
- return PythonGraphTraversal("__").sum(*args)
- @staticmethod
- def tail(*args):
- return PythonGraphTraversal("__").tail(*args)
- @staticmethod
- def timeLimit(*args):
- return PythonGraphTraversal("__").timeLimit(*args)
- @staticmethod
- def times(*args):
- return PythonGraphTraversal("__").times(*args)
- @staticmethod
- def to(*args):
- return PythonGraphTraversal("__").to(*args)
- @staticmethod
- def toE(*args):
- return PythonGraphTraversal("__").toE(*args)
- @staticmethod
- def toV(*args):
- return PythonGraphTraversal("__").toV(*args)
- @staticmethod
- def tree(*args):
- return PythonGraphTraversal("__").tree(*args)
- @staticmethod
- def unfold(*args):
- return PythonGraphTraversal("__").unfold(*args)
- @staticmethod
- def union(*args):
- return PythonGraphTraversal("__").union(*args)
- @staticmethod
- def until(*args):
- return PythonGraphTraversal("__").until(*args)
- @staticmethod
- def value(*args):
- return PythonGraphTraversal("__").value(*args)
- @staticmethod
- def valueMap(*args):
- return PythonGraphTraversal("__").valueMap(*args)
- @staticmethod
- def values(*args):
- return PythonGraphTraversal("__").values(*args)
- @staticmethod
- def where(*args):
- return PythonGraphTraversal("__").where(*args)
-
-
-if(sys.argv[0]):
- def V(*args):
- return __.V(*args)
- def _and(*args):
- return __._and(*args)
- def _as(*args):
- return __._as(*args)
- def _in(*args):
- return __._in(*args)
- def _is(*args):
- return __._is(*args)
- def _not(*args):
- return __._not(*args)
- def _or(*args):
- return __._or(*args)
- def addE(*args):
- return __.addE(*args)
- def addInE(*args):
- return __.addInE(*args)
- def addOutE(*args):
- return __.addOutE(*args)
- def addV(*args):
- return __.addV(*args)
- def aggregate(*args):
- return __.aggregate(*args)
- def barrier(*args):
- return __.barrier(*args)
- def both(*args):
- return __.both(*args)
- def bothE(*args):
- return __.bothE(*args)
- def bothV(*args):
- return __.bothV(*args)
- def branch(*args):
- return __.branch(*args)
- def cap(*args):
- return __.cap(*args)
- def choose(*args):
- return __.choose(*args)
- def coalesce(*args):
- return __.coalesce(*args)
- def coin(*args):
- return __.coin(*args)
- def constant(*args):
- return __.constant(*args)
- def count(*args):
- return __.count(*args)
- def cyclicPath(*args):
- return __.cyclicPath(*args)
- def dedup(*args):
- return __.dedup(*args)
- def drop(*args):
- return __.drop(*args)
- def emit(*args):
- return __.emit(*args)
- def filter(*args):
- return __.filter(*args)
- def flatMap(*args):
- return __.flatMap(*args)
- def fold(*args):
- return __.fold(*args)
- def group(*args):
- return __.group(*args)
- def groupCount(*args):
- return __.groupCount(*args)
- def groupV3d0(*args):
- return __.groupV3d0(*args)
- def has(*args):
- return __.has(*args)
- def hasId(*args):
- return __.hasId(*args)
- def hasKey(*args):
- return __.hasKey(*args)
- def hasLabel(*args):
- return __.hasLabel(*args)
- def hasNot(*args):
- return __.hasNot(*args)
- def hasValue(*args):
- return __.hasValue(*args)
- def id(*args):
- return __.id(*args)
- def identity(*args):
- return __.identity(*args)
- def inE(*args):
- return __.inE(*args)
- def inV(*args):
- return __.inV(*args)
- def inject(*args):
- return __.inject(*args)
- def key(*args):
- return __.key(*args)
- def label(*args):
- return __.label(*args)
- def limit(*args):
- return __.limit(*args)
- def local(*args):
- return __.local(*args)
- def loops(*args):
- return __.loops(*args)
- def map(*args):
- return __.map(*args)
- def mapKeys(*args):
- return __.mapKeys(*args)
- def mapValues(*args):
- return __.mapValues(*args)
- def match(*args):
- return __.match(*args)
- def max(*args):
- return __.max(*args)
- def mean(*args):
- return __.mean(*args)
- def min(*args):
- return __.min(*args)
- def optional(*args):
- return __.optional(*args)
- def order(*args):
- return __.order(*args)
- def otherV(*args):
- return __.otherV(*args)
- def out(*args):
- return __.out(*args)
- def outE(*args):
- return __.outE(*args)
- def outV(*args):
- return __.outV(*args)
- def path(*args):
- return __.path(*args)
- def project(*args):
- return __.project(*args)
- def properties(*args):
- return __.properties(*args)
- def property(*args):
- return __.property(*args)
- def propertyMap(*args):
- return __.propertyMap(*args)
- def range(*args):
- return __.range(*args)
- def repeat(*args):
- return __.repeat(*args)
- def sack(*args):
- return __.sack(*args)
- def sample(*args):
- return __.sample(*args)
- def select(*args):
- return __.select(*args)
- def sideEffect(*args):
- return __.sideEffect(*args)
- def simplePath(*args):
- return __.simplePath(*args)
- def start(*args):
- return __.start(*args)
- def store(*args):
- return __.store(*args)
- def subgraph(*args):
- return __.subgraph(*args)
- def sum(*args):
- return __.sum(*args)
- def tail(*args):
- return __.tail(*args)
- def timeLimit(*args):
- return __.timeLimit(*args)
- def times(*args):
- return __.times(*args)
- def to(*args):
- return __.to(*args)
- def toE(*args):
- return __.toE(*args)
- def toV(*args):
- return __.toV(*args)
- def tree(*args):
- return __.tree(*args)
- def unfold(*args):
- return __.unfold(*args)
- def union(*args):
- return __.union(*args)
- def until(*args):
- return __.until(*args)
- def value(*args):
- return __.value(*args)
- def valueMap(*args):
- return __.valueMap(*args)
- def values(*args):
- return __.values(*args)
- def where(*args):
- return __.where(*args)
-
-
-class Cardinality(object):
- single = "VertexProperty.Cardinality.single"
- list = "VertexProperty.Cardinality.list"
- set = "VertexProperty.Cardinality.set"
-
-class Column(object):
- keys = "Column.keys"
- values = "Column.values"
-
-if(sys.argv[0]):
- keys = Column.keys
- values = Column.values
-
-class Direction(object):
- OUT = "Direction.OUT"
- IN = "Direction.IN"
- BOTH = "Direction.BOTH"
-
-if(sys.argv[0]):
- OUT = Direction.OUT
- IN = Direction.IN
- BOTH = Direction.BOTH
-
-class Operator(object):
- sum = "Operator.sum"
- minus = "Operator.minus"
- mult = "Operator.mult"
- div = "Operator.div"
- min = "Operator.min"
- max = "Operator.max"
- assign = "Operator.assign"
- _and = "Operator.and"
- _or = "Operator.or"
- addAll = "Operator.addAll"
- sumLong = "Operator.sumLong"
-
-if(sys.argv[0]):
- sum = Operator.sum
- minus = Operator.minus
- mult = Operator.mult
- div = Operator.div
- min = Operator.min
- max = Operator.max
- assign = Operator.assign
- _and = Operator._and
- _or = Operator._or
- addAll = Operator.addAll
- sumLong = Operator.sumLong
-
-class Order(object):
- incr = "Order.incr"
- decr = "Order.decr"
- keyIncr = "Order.keyIncr"
- valueIncr = "Order.valueIncr"
- keyDecr = "Order.keyDecr"
- valueDecr = "Order.valueDecr"
- shuffle = "Order.shuffle"
-
-if(sys.argv[0]):
- incr = Order.incr
- decr = Order.decr
- keyIncr = Order.keyIncr
- valueIncr = Order.valueIncr
- keyDecr = Order.keyDecr
- valueDecr = Order.valueDecr
- shuffle = Order.shuffle
-
-class P(object):
- def __init__(self, pString):
- self.pString = pString
- def __repr__(self):
- return self.pString
- @staticmethod
- def _not(*args):
- return P("P.not(" + Helper.stringify(*args) + ")")
- @staticmethod
- def between(*args):
- return P("P.between(" + Helper.stringify(*args) + ")")
- @staticmethod
- def clone(*args):
- return P("P.clone(" + Helper.stringify(*args) + ")")
- @staticmethod
- def eq(*args):
- return P("P.eq(" + Helper.stringify(*args) + ")")
- @staticmethod
- def gt(*args):
- return P("P.gt(" + Helper.stringify(*args) + ")")
- @staticmethod
- def gte(*args):
- return P("P.gte(" + Helper.stringify(*args) + ")")
- @staticmethod
- def inside(*args):
- return P("P.inside(" + Helper.stringify(*args) + ")")
- @staticmethod
- def lt(*args):
- return P("P.lt(" + Helper.stringify(*args) + ")")
- @staticmethod
- def lte(*args):
- return P("P.lte(" + Helper.stringify(*args) + ")")
- @staticmethod
- def negate(*args):
- return P("P.negate(" + Helper.stringify(*args) + ")")
- @staticmethod
- def neq(*args):
- return P("P.neq(" + Helper.stringify(*args) + ")")
- @staticmethod
- def outside(*args):
- return P("P.outside(" + Helper.stringify(*args) + ")")
- @staticmethod
- def test(*args):
- return P("P.test(" + Helper.stringify(*args) + ")")
- @staticmethod
- def within(*args):
- return P("P.within(" + Helper.stringify(*args) + ")")
- @staticmethod
- def without(*args):
- return P("P.without(" + Helper.stringify(*args) + ")")
- def _and(self, arg):
- return P(self.pString + ".and(" + Helper.stringify(arg) + ")")
- def _or(self, arg):
- return P(self.pString + ".or(" + Helper.stringify(arg) + ")")
-
-if(sys.argv[0]):
- def _and(*args):
- return P._and(*args)
- def _not(*args):
- return P._not(*args)
- def _or(*args):
- return P._or(*args)
- def between(*args):
- return P.between(*args)
- def clone(*args):
- return P.clone(*args)
- def eq(*args):
- return P.eq(*args)
- def gt(*args):
- return P.gt(*args)
- def gte(*args):
- return P.gte(*args)
- def inside(*args):
- return P.inside(*args)
- def lt(*args):
- return P.lt(*args)
- def lte(*args):
- return P.lte(*args)
- def negate(*args):
- return P.negate(*args)
- def neq(*args):
- return P.neq(*args)
- def outside(*args):
- return P.outside(*args)
- def test(*args):
- return P.test(*args)
- def within(*args):
- return P.within(*args)
- def without(*args):
- return P.without(*args)
-
-class Pop(object):
- first = "Pop.first"
- last = "Pop.last"
- all = "Pop.all"
-
-if(sys.argv[0]):
- first = Pop.first
- last = Pop.last
- all = Pop.all
-
-class Barrier(object):
- normSack = "SackFunctions.Barrier.normSack"
-
-if(sys.argv[0]):
- normSack = Barrier.normSack
-
-class Scope(object):
- _global = "Scope.global"
- local = "Scope.local"
-
-if(sys.argv[0]):
- _global = Scope._global
- local = Scope.local
-
-class T(object):
- label = "T.label"
- id = "T.id"
- key = "T.key"
- value = "T.value"
-
-if(sys.argv[0]):
- label = T.label
- id = T.id
- key = T.key
- value = T.value
-