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

stephen mallette updated TINKERPOP3-660:
----------------------------------------
    Component/s:     (was: structure)
                 io

> GraphML load has order dependency
> ---------------------------------
>
>                 Key: TINKERPOP3-660
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-660
>             Project: TinkerPop 3
>          Issue Type: Bug
>          Components: io
>         Environment: Windows 7
>            Reporter: John Whelan
>            Assignee: stephen mallette
>             Fix For: 3.0.0.GA
>
>
> The order of nodes and edges in a loaded GraphML file can cause load to fail, 
> despite being allowed by GraphML. ("In GraphML there is no order defined for 
> the appearance of node and edge elements." 
> --http://graphml.graphdrawing.org/primer/graphml-primer.html#Graph)
> I produced this issue using version '3.0.0.M8-incubating'.
> The following test file fails to load. However, if the edge is listed last, 
> then it loads properly.
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <graphml xmlns="http://graphml.graphdrawing.org/xmlns";>
>       <key id="labelE" for="edge" attr.name="labelE" attr.type="string"/>
>       <key id="labelV" for="node" attr.name="labelV" attr.type="string"/>
>    <gml:graph xmlns:gml="http://graphml.graphdrawing.org/xmlns";
>               edgedefault="directed"
>                         id="G">
>       <gml:node id="id44427" label="id44427">
>          <gml:data key="labelV">node</gml:data>
>       </gml:node>
>       <gml:edge id="1" source="id44427" target="id73895">
>            <data key="labelE">created</data>
>         </gml:edge>
>       <gml:node id="id73895" label="id73895">
>          <gml:data key="labelV">node</gml:data>
>       </gml:node>
>    </gml:graph>
> </graphml>
> I used the following code to load the graph.
> import 
> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
> import org.apache.tinkerpop.gremlin.structure.Graph;
> import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
> import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerFactory;
> import groovy.transform.TypeChecked;
> @TypeChecked
> class Loader {
>       public static void main( String[] args ) {
>               Long startTime = System.currentTimeMillis();
>               Graph graph = TinkerGraph.open();
>               
> graph.io().readGraphML("D:/Secure/sandbox/20150304_Graports/simple.graphml");
>               System.out.println("done in " + 
> (System.currentTimeMillis()-startTime)/1000 + " seconds.");
>       }
> }
> {code}
> The problem seems to be that the creation of the edge registers the related 
> nodes as existing, and then when it gets to the edge it hits a uniqueness 
> problem.
> P.S. Please forgive any faux pas I may have made in submitting this issue. 
> I'm new to this.



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

Reply via email to