Hi Flavio, I'm not familiar with JSON-LD, but as far as I understand, you want to generate some trees from selected root nodes.
Once you have created the Graph as Andra describes above, you can first filter out the edges that are of no interest to you, using filterOnEdges. There is a description of how edge filtering works in the Gelly docs [1]. Then, you could use a vertex-centric iteration and propagate a message from the selected root node to the neighbors recursively, until you have the tree. In the vertex-centric model, you program from the perspective of a vertex in the graph. You basically need to define what each vertex does within each iteration (superstep). In Gelly this boils down to two things: (a) what messages this vertex will send to its neighbors and (b) how a vertex will update its value using the received messages. This is also described in the Gelly docs [2]. Also, take a look at the Gelly library [3]. The library methods are implemented using this model and should give you an idea. In your case, you will probably need to simply propagate one message from the root node and gather the newly discovered neighbors in each superstep. I hope this helps! Let us know if you have further questions! -Vasia. [1]: http://ci.apache.org/projects/flink/flink-docs-master/gelly_guide.html#graph-transformations [2]: http://ci.apache.org/projects/flink/flink-docs-master/gelly_guide.html#vertex-centric-iterations [3]: http://github.com/apache/flink/tree/master/flink-staging/flink-gelly/src/main/java/orgThehveflink/graph/library