Interactive Query#

class graphscope.interactive.query.InteractiveQuery(graph, frontend_endpoint)[source]#

InteractiveQuery class, is a simple wrapper around Gremlin-Python, which implements Gremlin within the Python language. It also can expose gremlin endpoint which can be used by any other standard gremlin console, with the method graph_url().

It also has a method called subgraph which can extract some fragments from origin graph, produce a new, smaller but concise graph stored in vineyard, which lifetime is independently of the origin graph.

User can either use execute() to submit a script, or use traversal_source() to get a GraphTraversalSource for further traversal.

__init__(graph, frontend_endpoint)[source]#

Construct a InteractiveQuery object.

close()[source]#
execute(query, request_options=None)[source]#

Execute gremlin querying scripts.

Parameters
  • query (str) – Scripts that written in gremlin quering language.

  • request_options (dict, optional) – Gremlin request options. format:

  • { – “engine”: “gae”

  • }

Returns

A result holds the gremlin result, evaluated in eager mode.

Return type

graphscope.framework.context.ResultDAGNode

property graph_url#

The gremlin graph url can be used with any standard gremlin console, e.g., tinkerpop.

property object_id#
property session#
property session_id#
subgraph(gremlin_script, request_options=None)[source]#

Create a subgraph, which input is the result of the execution of gremlin_script.

Any gremlin script that output a set of edges can be used to contruct a subgraph.

Parameters
  • gremlin_script (str) – Gremlin script to be executed.

  • request_options (dict, optional) – Gremlin request options. format:

  • { – “engine”: “gae”

  • }

Returns

A new graph constructed by the gremlin output, that also stored in vineyard.

Return type

graphscope.framework.graph.GraphDAGNode

submit(query, request_options=None)[source]#
traversal_source()[source]#

Create a GraphTraversalSource and return. Once g has been created using a connection, we can start to write Gremlin traversals to query the remote graph.

Raises

RuntimeError – If the interactive script is not running.

Examples

sess = graphscope.session()
graph = load_modern_graph(sess, modern_graph_data_dir)
interactive = sess.gremlin(graph)
g = interactive.traversal_source()
print(g.V().both()[1:3].toList())
print(g.V().both().name.toList())
Returns

GraphTraversalSource