Suppose a network with two kinds of nodes, say users and places, with the relationship "has been in". This is a bipartite network, and from it usually a module such as networkx provides the "projection" of the network in any of two directions, so that we can produce the network of places (with links having as weight the number of common users) or the network of users (with links having as weight the number of common places).
How am I suppossed to produce such networks in a Graph database? Could you provide examples for the most common open-sourced ones, say OrientDB, Neo4j, FlockDB...
More specifically, how to do it with gremlin?
In such case (gremlin) I myself have pasted an answer, but it starts from the surviving nodes, and it would be more efficient to start from the nodes which are going to be projected out, as usually the first step is some interval subselection
g.V.filter{it.date=='3/3/2003'}.filter{it.type=='place'}....
so that we are only interested on the network of users who are related by having been in the same place a given day, or some other interval.
I can suggest the Marko Rodriguez's blog because contains many examples about this use cases. Marko is the author of Gremlin too and OrientDB and Neo4J are compliant with it.