davebshow / goblin

A Python 3.5 rewrite of the TinkerPop 3 OGM Goblin
Other
93 stars 21 forks source link

How to use the driver connect to cluster? #68

Closed StanYaha closed 7 years ago

StanYaha commented 7 years ago

Hi,dave I read the document http://goblin.readthedocs.io/en/latest/driver.html#configuring-cluster but it's only a few python shell statement

Is there a sample show how to use the driver connect to cluster? I want to read some code. Thanks!

davebshow commented 7 years ago

I'm a bit confused here. The section just above the one from the link you pasted has an example connecting to the server with Cluster: http://goblin.readthedocs.io/en/latest/driver.html#connecting-to-a-cluster.

The driver docs also have examples: http://aiogremlin.readthedocs.io/en/latest/usage.html#using-the-driver-module

StanYaha commented 7 years ago

Yes. I want to know if i can insert Vertex and Edges with Cluster!

davebshow commented 7 years ago

Sure you can. You can submit any script to the server with Cluster. For creating vertices and edges I would use the addV and addE steps. Alternatively, you could use the GLV to create vertices and edges.

Using Cluster:

import asyncio
from aiogremlin import Cluster
loop = asyncio.get_event_loop()

cluster = await Cluster.open(loop)
client = await cluster.connect()
result_set = await client.submit("g.addV('person').property('name','stephen')")
results = await result_set.all()
await client.close()  # closes underlying cluster

With the GLV:

from aiogremlin import DriverRemoteConnection
remote_connection = await DriverRemoteConnection.open('ws://localhost:8182/gremlin', 'g')
g = Graph().traversal().withRemote(remote_connection)
stephen = await g.addV('person').property('name','stephen').next()
await remote_connection.close()
StanYaha commented 7 years ago

Thank you! My leader ask me to write restful api with goblin, so front-end developer can call it with url Do you have any suggestions?I am really confused!

davebshow commented 7 years ago

Well, you would have to create a regular REST API. The business logic behind the resources would use goblin to make calls to the DB, and the data would have to be serialized and sent as a response to the client.