I'm new to arangodb and even newer to graphdbs. I've been using arangodb for the last month as well as watched a lot of the youtube videos on it and graph db theory. I have a ton of questions that I hope the group could help me out with. I thing graph db technology is amazing and solves a lot of the sql headaches I'm going through now.ARANGODB* Can a traverser only traverse through a graph and not collection to collection?
* do you know of any design patterns that can capture historical changes to vertices as well there association to edges? Being able to track vertex changes is built in but being able to track there relations isn't
* can I query a collection from inside a graph thats not marked as an edge or vertex for that graph? i.e. being able to add docs from collections outside the graph to the result set.
* are there any built in time functions that arrangodb provides that go above and beyond time formatting? if not, can I use a third party js lib like momentjs? I have a db that does a lot of time zone related calculations and time window calculations i.e. 9am-5pm window instead of a full day.
* is there any way to generate a diagram in the graph viewer of a traversers path through a graph? It would be great to traverse a graph and see a visual diagram of what paths it used.
GRAPH TECHNOLOGY* besides finding relationship patterns between two items, are there any other benefits to a graph database?
* are there any use cases that graph dbs are good for over RDBMs for spacial queries? I've seen some info about graph maps being perfect for spatially distributed vertices like cell phone towers or traffic lights but none of them go into why or give detailed examplesTRAVERSAL* can a traverser be used/created via api? I checked the api docs in the web interface of my arangodb instance and I didn't find a url for it
* can I do a pre/post event handling i.e. listening for events the traveler emits as it traverses the graph? Or should that functionality be performed outside of the db?
* whats the difference between a traverser and a traveler?
* do travelers support mutl-core? Or can you execute a traveler on a separate cpu core and have them run without stepping on each others traversal?
* what is the advantage of using AQL over a query
* are there any good graph db design resources you can recommend? Most of the resources I've seen where specific to neo4j and not graph db design in general or best practices* do travelers cache commonly traversed paths on the backend? Is there a way to speed up travelers that travelers edges/vertices that rarely change yet are commonly used?
* can I "inject" logic into the traveler that populates vertexes with documents in a separate collection outside of the graph (add pseudo code)
* can I start a traversal from more then 1 vertex or a collection of edges with certain attributes?
* is it safe to assume that a traveler is like a navigable RDBM cursor? If so, how is it different from a cursor in arangodb?
MY PROJECT* I'm working on a project with a nodejs backend and an angularjs frontend with arangodb. Are there any good nodejs model frameworks you suggest that compliment arangodb? There are a lot of model frameworks for nodejs but most of them are designed around relational dbs ORM, not graph dbs ODM. I know there is a driver for arangodb in nodejs, but I'm looking for more feature rich framework to add a lot of structure to my app. something like the graph equivalent to backbonejs
* could I possibly extend the arangodb driver to be an ODM with event handling so when a vertex changes, events can traverse it's paths to other vertices.
ARANGODB* Can a traverser only traverse through a graph and not collection to collection?
* do you know of any design patterns that can capture historical changes to vertices as well there association to edges? Being able to track vertex changes is built in but being able to track there relations isn't
* are there any built in time functions that arrangodb provides that go above and beyond time formatting? if not, can I use a third party js lib like momentjs? I have a db that does a lot of time zone related calculations and time window calculations i.e. 9am-5pm window instead of a full day.
GRAPH TECHNOLOGY* besides finding relationship patterns between two items, are there any other benefits to a graph database?
* are there any use cases that graph dbs are good for over RDBMs for spacial queries? I've seen some info about graph maps being perfect for spatially distributed vertices like cell phone towers or traffic lights but none of them go into why or give detailed examples
TRAVERSAL
* can I do a pre/post event handling i.e. listening for events the traveler emits as it traverses the graph? Or should that functionality be performed outside of the db?
* are there any good graph db design resources you can recommend? Most of the resources I've seen where specific to neo4j and not graph db design in general or best practices
* do travelers cache commonly traversed paths on the backend? Is there a way to speed up travelers that travelers edges/vertices that rarely change yet are commonly used?
* is it safe to assume that a traveler is like a navigable RDBM cursor? If so, how is it different from a cursor in arangodb?
MY PROJECT* I'm working on a project with a nodejs backend and an angularjs frontend with arangodb. Are there any good nodejs model frameworks you suggest that compliment arangodb? There are a lot of model frameworks for nodejs but most of them are designed around relational dbs ORM, not graph dbs ODM. I know there is a driver for arangodb in nodejs, but I'm looking for more feature rich framework to add a lot of structure to my app. something like the graph equivalent to backbonejs
* could I possibly extend the arangodb driver to be an ODM with event handling so when a vertex changes, events can traverse it's paths to other vertices.
* how should app logs be handled? I plan on having a collection for log entries for things like user activities. I know this collection is going to get very large. Should I add relationships to it or just stamp the ids of all the things it touches. Using relationships would be great for reporting (which I know people will use) but I'm concerned about any performance impact it might have.
* do you know of any design patterns that can capture historical changes to vertices as well there association to edges? Being able to track vertex changes is built in but being able to track there relations isn't
--
You received this message because you are subscribed to a topic in the Google Groups "ArangoDB" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/arangodb/Jb_9oEj4zJI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to arangodb+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
* I'm working on a project with a nodejs backend and an angularjs frontend with arangodb. Are there any good nodejs model frameworks you suggest that compliment arangodb? There are a lot of model frameworks for nodejs but most of them are designed around relational dbs ORM, not graph dbs ODM. I know there is a driver for arangodb in nodejs, but I'm looking for more feature rich framework to add a lot of structure to my app. something like the graph equivalent to backbonejs
--
//Define a graph that matches your example
var edgeDefinitions = [
{
collection: "shoppingcart",
from: ["customer"],
to: ["products"]
}
];
db.graph.create("yourGraph", edgeDefinitions, someCallBackFunction);
db.graph.getNeighbourVertices("yourGraph", "someCustomer", someCallBackFunction);var cursorData = {};
cursorData.query = "FOR p IN GRAPH_NEIGHBORS("yourGraph", "someCustomer", {}) FiLTER LIKE(p.key1 ,@name) RETURN p._id"
db.cursor.create(cursorData, someCallBackFunction);db.query.for("x").in.graph_neighbors("yourGraph", "someCustomer", {}).return("x")
.exec()
.then(someCallBackFunction);