Adolfo Rodriguez
unread,Feb 8, 2012, 10:49:53 PM2/8/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Gremlin-users
Hi all,
I am using the file system to create a graph datamodel according to my
needs. My datamodel is composed by several files, containing each an
unique GraphML structure. In a later stage I will create an importer
to a Graph DB engine, so the engine can be initialized and updated
from the file system.
I use Tinkergraph (from blueprints-core-1.0.jar) to read/write the
different graph files from/to the file system. The key issue here is
that there are edges having source and target nodes in different files
(kind of linking (GraphML) subgraphs). In this way, I have (GraphML)
subgraphs that can be configured separately, but also, make up an
unique graph when deployed later on the graph DB engine. Therefore, my
system can be split in subsystems.
Some use cases:
(1)* when I create an edge in the same file where the source is, the
API works according to how I would expect.
graphWithSource.addEdge(System.currentTimeMillis(), sourceVertex,
targetVertex, "label");
(2)* when I try to create an edge in the file where the target is,
nothing is created. (?)
graphWithTarget.addEdge(System.currentTimeMillis(), sourceVertex,
targetVertex, "label");
(3)* when I remove edges from the file where the source is (actually I
remove a vertex with several out edges linking to target vertices in
other files), vertex and edges are removed successfully, BUT TARGET
VERTICES ARE COPIED to the file. So target vertices are finally in
both files after the removal operation. (?)
graph.removeVertex(myVertex);
Well, my question is about if this use case is considered and what
would be the expected behavior (creating and removing edges between
GraphMLs within different files). Are you checking for any
"consistence"? Is possible to instruct the API to "relax" this
"consistence verification"?
In particular, I can manage (1) by using (2) instead, but (3) is
stopping me.
Thanks.