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.
- 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
- 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
- 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