-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Hello,
I have been searching for a basic Graph database (Golang) so that I can learn from as well as work on expanding for a project that I am doing now and yours has GREAT potential.
I am wondering about some of your API methods for the nodes and edges like create nodes, properties, and relationships, and did see:
--- DATABASE ----
api.CreateDatabase - takes two parameters: database title and db mode ("local", "distributed")
api.SwitchDatabase - parameter is database title. Switches only if database exist.
api.DropDatabase - parameter is database title. Drops database if it exists.
--- NODE ----
api.CreateNode - parameter is title/label of node. Creates new node and writes it into database.
api.GetNode - parameter is id of searched node. Returns pointer on node, which is searched by id.
api.DeleteNode - parameter is id of node, which should be deleted. Sets node as deleted in database.
--- RELATIONSHIPS ---
api.CreateRelationship - takes three parameters: pointer on two nodes, which are in relationships and title of relationship. Method created a new relationship for two nodes.
--- PROPERTIES ---
api.CreatePropertyForNode - takes four parameters: pointer on node, title of property, type of property value and value itself. Value type could be the following: 0 - integer, 1 - double, 2 - string. Method creates a property for a given node.
api.CreatePropertyForRelationship - same parameters as in previous method. Creates a property for given relationship.
but did not see anything for:
api.DeleteRelationship
api.ModifyRelationship
api.DeletePropertyForNode
api.ModifyPropertyForNode
api.DeletePropertyForRelationship
api.ModifyPropertyForRelationship
Also, it seems that the db mode ("local", "distributed") can be of these 2 types, but I am not clear on the distributed mode and how that is used or how well that scales.
The project that I am working on is a type of P2P Graph Database that can scale well and also allow for multiple graphs to be concurrently used.
Could you please comment on some of these questions as I have some more ideas but would like to learn more about what you have implemented and how to use it fully, if possible.
Best Regards and have a great day