You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Marko A. Rodriguez (JIRA)" <ji...@apache.org> on 2015/04/09 23:44:12 UTC

[jira] [Closed] (TINKERPOP3-607) Extend the concept of DetachedXXX

     [ https://issues.apache.org/jira/browse/TINKERPOP3-607?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marko A. Rodriguez closed TINKERPOP3-607.
-----------------------------------------
    Resolution: Fixed
      Assignee: Marko A. Rodriguez

Added {{ReferenceXXX}}. Implemented and tested. So much less data to deal with.

> Extend the concept of DetachedXXX
> ---------------------------------
>
>                 Key: TINKERPOP3-607
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-607
>             Project: TinkerPop 3
>          Issue Type: Improvement
>          Components: io, structure
>            Reporter: Marko A. Rodriguez
>            Assignee: Marko A. Rodriguez
>             Fix For: 3.0.0.GA
>
>
> Many moons ago we had {{ReferencedVertex}}, {{ReferencedEdge}}, etc. These were extremely simply objects of the form:
> {noformat}
> public ReferenceVertex implements Vertex { 
>   private final Object id;
>   ...
> }
> {noformat}
> We got rid of these in favor of having ONLY {{DetachedVertex}}, {{DetachedEdge}}, etc. However, I think there is more to the story of "detachment." Here is the landscape I see:
> *DETACH SEMANTICS*
> * Detach for reference -- detach a vertex so it can later be attached to the same graph.
> * Detach for adding -- detach a vertex so it can later be added to another graph.
> *ATTACH SEMANTICS*
> * Attach to an existing graph -- find the actual vertex that is referenced by this detached vertex and return the actual vertex.
> * Add to an existing graph -- add the detached vertex to the graph.
> If, lets say, a property is detached "for adding" then the only information it needs to have is its {{String}} key and {{Object}} value. There is no need to have a reference to its original element, etc.
> Likewise, if, lets say, a vertex is detached "for adding" then the only information it needs to have is its {{Object}} id and {{String}} label. However, if its detached "for reference" then all it needs is its {{Object}} id.
> These subtleties are important when considering how much big the {{DetachedXXX}} objects are and how regularly they are used in Gremlin OLAP and Gryo. We should really consider the minimal amount of data needed in all these areas....



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)