neo4j / apoc

Apache License 2.0
81 stars 27 forks source link

PageGraph GraphML file cannot be imported: Failed to invoke procedure `apoc.import.graphml`: Caused by: java.lang.NullPointerException: Cannot invoke "String.split(String)" because "id" is null #634

Open JannisBush opened 2 months ago

JannisBush commented 2 months ago

Guidelines

Please note that GitHub issues are only meant for bug reports/feature requests. If you have questions on how to use APOC, please ask on the Neo4j Discussion Forum instead of creating an issue here.

Expected Behavior (Mandatory)

The GraphML file is successfully imported. The file successfully opens in other programs supporting GraphML (Gephi, yEd)

Actual Behavior (Mandatory)

An error during the importing process occurs:

Neo.ClientError.Procedure.ProcedureCallFailed
Failed to invoke procedure `apoc.import.graphml`: Caused by: java.lang.NullPointerException: Cannot invoke "String.split(String)" because "id" is null

How to Reproduce the Problem

Simple Dataset (where it's possibile)

Same as pagegraph.xml above:

<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"><desc><version>0.6.3</version><about>https://github.com/brave/brave-browser/wiki/PageGraph</about><is_root>true</is_root><frame_id>0</frame_id><url>https://example.org/</url><time><start>0</start><end>60573</end></time></desc><key id="d1" for="edge" attr.name="attr name" attr.type="string"/><key id="d2" for="edge" attr.name="before" attr.type="int"/><key id="d3" for="node" attr.name="binding" attr.type="string"/><key id="d4" for="node" attr.name="binding event" attr.type="string"/><key id="d5" for="node" attr.name="binding type" attr.type="string"/><key id="d6" for="edge" attr.name="block type" attr.type="string"/><key id="d7" for="edge" attr.name="args" attr.type="string"/><key id="d8" for="edge" attr.name="edge type" attr.type="string"/><key id="d9" for="edge" attr.name="event listener id" attr.type="int"/><key id="d10" for="edge" attr.name="frame id" attr.type="int"/><key id="d11" for="node" attr.name="frame id" attr.type="int"/><key id="d13" for="node" attr.name="host" attr.type="string"/><key id="d14" for="node" attr.name="incognito" attr.type="string"/><key id="d15" for="node" attr.name="is deleted" attr.type="boolean"/><key id="d16" for="edge" attr.name="is style" attr.type="boolean"/><key id="d17" for="edge" attr.name="key" attr.type="string"/><key id="d18" for="node" attr.name="method" attr.type="string"/><key id="d19" for="node" attr.name="node id" attr.type="int"/><key id="d20" for="node" attr.name="tag name" attr.type="string"/><key id="d21" for="node" attr.name="text" attr.type="string"/><key id="d22" for="node" attr.name="node type" attr.type="string"/><key id="d23" for="edge" attr.name="id" attr.type="string"/><key id="d24" for="node" attr.name="id" attr.type="string"/><key id="d25" for="edge" attr.name="timestamp" attr.type="string"/><key id="d26" for="node" attr.name="timestamp" attr.type="string"/><key id="d27" for="edge" attr.name="parent" attr.type="int"/><key id="d28" for="node" attr.name="primary pattern" attr.type="string"/><key id="d29" for="edge" attr.name="request id" attr.type="string"/><key id="d30" for="edge" attr.name="resource type" attr.type="string"/><key id="d31" for="edge" attr.name="response hash" attr.type="string"/><key id="d32" for="node" attr.name="rule" attr.type="string"/><key id="d33" for="edge" attr.name="script id" attr.type="int"/><key id="d34" for="node" attr.name="script id" attr.type="int"/><key id="d35" for="edge" attr.name="script position" attr.type="int"/><key id="d36" for="node" attr.name="script type" attr.type="string"/><key id="d37" for="node" attr.name="secondary pattern" attr.type="string"/><key id="d39" for="node" attr.name="source" attr.type="string"/><key id="d40" for="edge" attr.name="status" attr.type="string"/><key id="d41" for="node" attr.name="is success" attr.type="boolean"/><key id="d42" for="node" attr.name="url" attr.type="string"/><key id="d43" for="edge" attr.name="value" attr.type="string"/><key id="d38" for="edge" attr.name="size" attr.type="string"/><key id="d12" for="edge" attr.name="headers" attr.type="string"/><graph id="G" edgedefault="directed"><node id="n1"><data key="d22">Brave Shields</data><data key="d24">1</data><data key="d26">0</data></node><node id="n2"><data key="d22">shieldsAds shield</data><data key="d24">2</data><data key="d26">0</data></node><node id="n3"><data key="d22">trackers shield</data><data key="d24">3</data><data key="d26">0</data></node><node id="n4"><data key="d22">javascript shield</data><data key="d24">4</data><data key="d26">0</data></node><node id="n5"><data key="d22">fingerprintingV2 shield</data><data key="d24">5</data><data key="d26">0</data></node><node id="n10"><data key="d22">storage</data><data key="d24">10</data><data key="d26">0</data></node><node id="n11"><data key="d22">cookie jar</data><data key="d24">11</data><data key="d26">0</data></node><node id="n12"><data key="d22">local storage</data><data key="d24">12</data><data key="d26">0</data></node><node id="n13"><data key="d22">session storage</data><data key="d24">13</data><data key="d26">0</data></node><node id="n17"><data key="d22">DOM root</data><data key="d24">17</data><data key="d26">0</data><data key="d19">1</data><data key="d15">false</data><data key="d20">#document</data><data key="d42"/></node><edge id="e161" source="n17" target="n23"><data key="d8">structure</data><data key="d23">161</data><data key="d25">60573</data></edge><node id="n18"><data key="d22">parser</data><data key="d24">18</data><data key="d26">0</data></node><node id="n19"><data key="d22">extensions</data><data key="d24">19</data><data key="d26">0</data></node><node id="n23"><data key="d22">HTML element</data><data key="d24">23</data><data key="d26">0</data><data key="d19">2</data><data key="d15">false</data><data key="d20">HTML</data></node><edge id="e162" source="n23" target="n26"><data key="d8">structure</data><data key="d23">162</data><data key="d25">60573</data></edge><edge id="e163" source="n23" target="n28"><data key="d8">structure</data><data key="d23">163</data><data key="d25">60573</data></edge><node id="n26"><data key="d22">HTML element</data><data key="d24">26</data><data key="d26">0</data><data key="d19">3</data><data key="d15">false</data><data key="d20">HEAD</data></node><node id="n28"><data key="d22">HTML element</data><data key="d24">28</data><data key="d26">0</data><data key="d19">4</data><data key="d15">false</data><data key="d20">BODY</data></node><node id="n32"><data key="d22">DOM root</data><data key="d24">32</data><data key="d26">2</data><data key="d19">5</data><data key="d15">false</data><data key="d20">#document</data><data key="d42">about:blank</data></node><edge id="e164" source="n32" target="n38"><data key="d8">structure</data><data key="d23">164</data><data key="d25">60573</data></edge><node id="n33"><data key="d22">parser</data><data key="d24">33</data><data key="d26">2</data></node><node id="n34"><data key="d22">extensions</data><data key="d24">34</data><data key="d26">2</data></node><node id="n38"><data key="d22">HTML element</data><data key="d24">38</data><data key="d26">4</data><data key="d19">6</data><data key="d15">false</data><data key="d20">HTML</data></node><edge id="e165" source="n38" target="n41"><data key="d8">structure</data><data key="d23">165</data><data key="d25">60573</data></edge><edge id="e166" source="n38" target="n43"><data key="d8">structure</data><data key="d23">166</data><data key="d25">60573</data></edge><node id="n41"><data key="d22">HTML element</data><data key="d24">41</data><data key="d26">4</data><data key="d19">7</data><data key="d15">false</data><data key="d20">HEAD</data></node><node id="n43"><data key="d22">HTML element</data><data key="d24">43</data><data key="d26">4</data><data key="d19">8</data><data key="d15">false</data><data key="d20">BODY</data></node><node id="n47"><data key="d22">script</data><data key="d24">47</data><data key="d26">8</data><data key="d34">6</data><data key="d36">unknown</data><data key="d39">new XMLSerializer().serializeToString(document)</data><data key="d42"/></node><node id="n49"><data key="d22">DOM root</data><data key="d24">49</data><data key="d26">529</data><data key="d19">9</data><data key="d15">false</data><data key="d20">#document</data><data key="d42">https://example.org/</data></node><edge id="e167" source="n49" target="n55"><data key="d8">structure</data><data key="d23">167</data><data key="d25">60573</data></edge><edge id="e168" source="n49" target="n58"><data key="d8">structure</data><data key="d23">168</data><data key="d25">60573</data></edge><node id="n50"><data key="d22">parser</data><data key="d24">50</data><data key="d26">529</data></node><node id="n51"><data key="d22">extensions</data><data key="d24">51</data><data key="d26">529</data></node><node id="n55"><data key="d22">HTML element</data><data key="d24">55</data><data key="d26">538</data><data key="d19">10</data><data key="d15">false</data><data key="d20">html</data></node><node id="n58"><data key="d22">HTML element</data><data key="d24">58</data><data key="d26">538</data><data key="d19">11</data><data key="d15">false</data><data key="d20">HTML</data></node><edge id="e169" source="n58" target="n63"><data key="d8">structure</data><data key="d23">169</data><data key="d25">60574</data></edge><edge id="e170" source="n58" target="n105"><data key="d8">structure</data><data key="d23">170</data><data key="d25">60574</data></edge><edge id="e171" source="n58" target="n108"><data key="d8">structure</data><data key="d23">171</data><data key="d25">60574</data></edge><node id="n61"><data key="d22">script</data><data key="d24">61</data><data key="d26">540</data><data key="d34">13</data><data key="d36">unknown</data><data key="d39">(()=&gt;{let e;var t,r;!function(e){e[e.Id=1]="Id",e[e.Hierarchy=2]="Hierarchy",e[e.Attributes=4]="Attributes",e[e.Class=8]="Class",e[e.NthOfType=16]="NthOfType"}(t||(t={})),function(e){e[e.Id=0]="Id",e[e.Class=1]="Class",e[e.Attributes=2]="Attributes",e[e.NthOfType=3]="NthOfType"}(r||(r={}));class s{constructor(e){this.rules=[],this.tag="",this.elem=e,this.hasId=!1}addRule(e){e.type&lt;r.Id||e.type&gt;r.NthOfType?console.log(`Unexpected selector: ${e.type}`):Array.isArray(e.value)&amp;&amp;0===e.value.length||(e.type===r.Id&amp;&amp;(this.hasId=!0),this.rules.push(e))}addTag(e){this.tag=e}size(){return this.rules.length}toString(e=31){let s=this.tag+"";for(const n of this.rules)if((e&amp;t.Id||n.type!==r.Id)&amp;&amp;(e&amp;t.Class||n.type!==r.Class)&amp;&amp;(e&amp;t.Attributes||n.type!==r.Attributes)&amp;&amp;(e&amp;t.NthOfType||n.type!==r.NthOfType)&amp;&amp;!(this.hasId&amp;&amp;e&amp;t.Id&amp;&amp;n.type===r.Class))switch(n.type){case r.Id:s+="#"+n.value;break;case r.Class:s+="."+n.value.join(".");break;case r.Attributes:for(const e of n.value){const t=this.elem.getAttribute(e.attr);let r="*=";e.attr===t?r="=":e.attr.startsWith(t)&amp;&amp;(r="^="),s+=`[${e.attr}${r}"${e.value}"]`}break;case r.NthOfType:s+=`:nth-of-type(${n.value})`}return s}}const n=e=&gt;{var t,n,l,i;const o=new s(e);e.id.length&gt;0&amp;&amp;o.addRule({type:r.Id,value:CSS.escape(e.id)}),e.classList.length&gt;0&amp;&amp;o.addRule({type:r.Class,value:Array.from(e.classList).map((e=&gt;CSS.escape(e)))});const a=CSS.escape(e.localName);if(0===o.size()){const s=[];switch(a){case"a":{const r=null===(t=e.getAttribute("href"))||void 0===t?void 0:t.trim().split(/[?#]/)[0];void 0!==r&amp;&amp;r.length&gt;0&amp;&amp;s.push({attr:"href",value:r});break}case"iframe":{const t=null===(n=e.getAttribute("src"))||void 0===n?void 0:n.trim();void 0!==t&amp;&amp;t.length&gt;0&amp;&amp;s.push({attr:"src",value:t.slice(0,256)});break}case"img":{let t=null===(l=e.getAttribute("src"))||void 0===l?void 0:l.trim();if(void 0!==t&amp;&amp;t.length&gt;0&amp;&amp;t.startsWith("data:")&amp;&amp;(t=t.split(",")[1].slice(0,256)),void 0===t||0===t.length){let t=null===(i=e.getAttribute("alt"))||void 0===i?void 0:i.trim();void 0!==t&amp;&amp;t.length&gt;0&amp;&amp;s.push({attr:"alt",value:t})}else s.push({attr:"src",value:t});break}}s.length&gt;0&amp;&amp;o.addRule({type:r.Attributes,value:s})}const c=(e,t)=&gt;{if(null!==e)try{let r=e.querySelectorAll(t);return Array.from(r)}catch(e){}return[]};if((0===o.size()||c(e.parentElement,o.toString()).length&gt;1)&amp;&amp;(o.addTag(a),c(e.parentElement,o.toString()).length&gt;1)){let t=1,s=e.previousElementSibling;for(;null!==s;)s.localName===a&amp;&amp;t++,s=s.previousElementSibling;o.addRule({type:r.NthOfType,value:t})}return o},l=e=&gt;{"Escape"===e.key&amp;&amp;(e.stopPropagation(),e.preventDefault(),o())},i=()=&gt;{u(c)},o=()=&gt;{null!==e&amp;&amp;document.documentElement.removeChild(e),document.removeEventListener("keydown",l,!0),document.removeEventListener("resize",i),document.removeEventListener("scroll",i)};let a=null,c=[];const u=e=&gt;{c=e;const t=e.map((e=&gt;(e=&gt;{const t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.right-t.left,height:t.bottom-t.top}})(e)));chrome.runtime.sendMessage({type:"highlightElements",coords:t})};chrome.runtime.onMessage.addListener(((r,s,c)=&gt;{switch("string"==typeof r?r:r.type){case"elementPickerLaunch":(()=&gt;{e=document.createElement("iframe"),e.src=chrome.runtime.getURL("elementPicker.html");const t=["background: transparent","border: 0","border-radius: 0","box-shadow: none","color-scheme: light dark","display: block","height: 100%","left: 0","margin: 0","max-height: none","max-width: none","opacity: 1","outline: 0","padding: 0","pointer-events: auto","position: fixed","top: 0","visibility: visible","width: 100%","z-index: 2147483647",""].join(" !important;");e.style.cssText=t,document.documentElement.appendChild(e),document.addEventListener("keydown",l,!0),document.addEventListener("resize",i),document.addEventListener("scroll",i)})();break;case"quitElementPicker":o();break;case"elementPickerHoverCoordsChanged":{const{coords:t}=r,s=((t,r)=&gt;{if(!e)return null;e.style.setProperty("pointer-events","none","important");const s=document.elementFromPoint(t,r);return e.style.setProperty("pointer-events","auto","important"),s})(t.x,t.y);null!==s&amp;&amp;s instanceof HTMLElement&amp;&amp;s!==a&amp;&amp;(u([s]),a=s);break}case"elementPickerUserSelectedTarget":{const{specificity:e}=r;if(null!==a&amp;&amp;a instanceof HTMLElement){const r=((e,r)=&gt;{if(null===a)return"";let s=e;const l=[],i=[13,29,11,19,31][r];if(i&amp;t.Hierarchy)for(;null!==s&amp;&amp;s!==document.body;)l.push(n(s)),s=s.parentElement;else l.push(n(e));let o=0;for(;o&lt;l.length;o++){const e=l[o];if(i&amp;t.Id&amp;&amp;e.hasId||1===document.querySelectorAll(e.toString(i)).length)break}return l.slice(0,o+1).reverse().map((e=&gt;e.toString(i))).join(" &gt; ")})(a,e);u(Array.from(document.querySelectorAll(r))),c({isValid:""!==r,selector:r.trim()})}break}case"elementPickerUserModifiedRule":{const e=r.selector;e.length&gt;0&amp;&amp;u(Array.from(document.querySelectorAll(e)));break}case"elementPickerUserCreatedRule":chrome.runtime.sendMessage({type:"cosmeticFilterCreate",selector:r.selector}),o()}}))})();</data><data key="d42"/></node><node id="n63"><data key="d22">HTML element</data><data key="d24">63</data><data key="d26">540</data><data key="d19">12</data><data key="d15">false</data><data key="d20">HEAD</data></node><edge id="e172" source="n63" target="n66"><data key="d8">structure</data><data key="d23">172</data><data key="d25">60574</data></edge><edge id="e173" source="n63" target="n69"><data key="d8">structure</data><data key="d23">173</data><data key="d25">60574</data></edge><edge id="e174" source="n63" target="n75"><data key="d8">structure</data><data key="d23">174</data><data key="d25">60574</data></edge><edge id="e175" source="n63" target="n78"><data key="d8">structure</data><data key="d23">175</data><data key="d25">60574</data></edge><edge id="e176" source="n63" target="n81"><data key="d8">structure</data><data key="d23">176</data><data key="d25">60574</data></edge><edge id="e177" source="n63" target="n84"><data key="d8">structure</data><data key="d23">177</data><data key="d25">60574</data></edge><edge id="e178" source="n63" target="n87"><data key="d8">structure</data><data key="d23">178</data><data key="d25">60574</data></edge><edge id="e179" source="n63" target="n90"><data key="d8">structure</data><data key="d23">179</data><data key="d25">60574</data></edge><edge id="e180" source="n63" target="n93"><data key="d8">structure</data><data key="d23">180</data><data key="d25">60574</data></edge><edge id="e181" source="n63" target="n96"><data key="d8">structure</data><data key="d23">181</data><data key="d25">60574</data></edge><edge id="e182" source="n63" target="n102"><data key="d8">structure</data><data key="d23">182</data><data key="d25">60574</data></edge><node id="n66"><data key="d22">text node</data><data key="d24">66</data><data key="d26">540</data><data key="d19">13</data><data key="d15">false</data><data key="d21">
    </data></node><node id="n69"><data key="d22">HTML element</data><data key="d24">69</data><data key="d26">540</data><data key="d19">14</data><data key="d15">false</data><data key="d20">TITLE</data></node><edge id="e183" source="n69" target="n72"><data key="d8">structure</data><data key="d23">183</data><data key="d25">60574</data></edge><node id="n72"><data key="d22">text node</data><data key="d24">72</data><data key="d26">540</data><data key="d19">15</data><data key="d15">false</data><data key="d21">Example Domain</data></node><node id="n75"><data key="d22">text node</data><data key="d24">75</data><data key="d26">540</data><data key="d19">16</data><data key="d15">false</data><data key="d21">

    </data></node><node id="n78"><data key="d22">HTML element</data><data key="d24">78</data><data key="d26">540</data><data key="d19">17</data><data key="d15">false</data><data key="d20">META</data></node><node id="n81"><data key="d22">text node</data><data key="d24">81</data><data key="d26">541</data><data key="d19">18</data><data key="d15">false</data><data key="d21">
    </data></node><node id="n84"><data key="d22">HTML element</data><data key="d24">84</data><data key="d26">541</data><data key="d19">19</data><data key="d15">false</data><data key="d20">META</data></node><node id="n87"><data key="d22">text node</data><data key="d24">87</data><data key="d26">541</data><data key="d19">20</data><data key="d15">false</data><data key="d21">
    </data></node><node id="n90"><data key="d22">HTML element</data><data key="d24">90</data><data key="d26">541</data><data key="d19">21</data><data key="d15">false</data><data key="d20">META</data></node><node id="n93"><data key="d22">text node</data><data key="d24">93</data><data key="d26">541</data><data key="d19">22</data><data key="d15">false</data><data key="d21">
    </data></node><node id="n96"><data key="d22">HTML element</data><data key="d24">96</data><data key="d26">541</data><data key="d19">23</data><data key="d15">false</data><data key="d20">STYLE</data></node><edge id="e184" source="n96" target="n99"><data key="d8">structure</data><data key="d23">184</data><data key="d25">60574</data></edge><node id="n99"><data key="d22">text node</data><data key="d24">99</data><data key="d26">541</data><data key="d19">24</data><data key="d15">false</data><data key="d21">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        div {
            margin: 0 auto;
            width: auto;
        }
    }
    </data></node><node id="n102"><data key="d22">text node</data><data key="d24">102</data><data key="d26">541</data><data key="d19">25</data><data key="d15">false</data><data key="d21">    
</data></node><node id="n105"><data key="d22">text node</data><data key="d24">105</data><data key="d26">541</data><data key="d19">26</data><data key="d15">false</data><data key="d21">

</data></node><node id="n108"><data key="d22">HTML element</data><data key="d24">108</data><data key="d26">541</data><data key="d19">27</data><data key="d15">false</data><data key="d20">BODY</data></node><edge id="e185" source="n108" target="n111"><data key="d8">structure</data><data key="d23">185</data><data key="d25">60574</data></edge><edge id="e186" source="n108" target="n114"><data key="d8">structure</data><data key="d23">186</data><data key="d25">60574</data></edge><edge id="e187" source="n108" target="n150"><data key="d8">structure</data><data key="d23">187</data><data key="d25">60574</data></edge><node id="n111"><data key="d22">text node</data><data key="d24">111</data><data key="d26">541</data><data key="d19">28</data><data key="d15">false</data><data key="d21">
</data></node><node id="n114"><data key="d22">HTML element</data><data key="d24">114</data><data key="d26">541</data><data key="d19">29</data><data key="d15">false</data><data key="d20">DIV</data></node><edge id="e188" source="n114" target="n117"><data key="d8">structure</data><data key="d23">188</data><data key="d25">60574</data></edge><edge id="e189" source="n114" target="n120"><data key="d8">structure</data><data key="d23">189</data><data key="d25">60574</data></edge><edge id="e190" source="n114" target="n126"><data key="d8">structure</data><data key="d23">190</data><data key="d25">60574</data></edge><edge id="e191" source="n114" target="n129"><data key="d8">structure</data><data key="d23">191</data><data key="d25">60574</data></edge><edge id="e192" source="n114" target="n135"><data key="d8">structure</data><data key="d23">192</data><data key="d25">60574</data></edge><edge id="e193" source="n114" target="n138"><data key="d8">structure</data><data key="d23">193</data><data key="d25">60574</data></edge><edge id="e194" source="n114" target="n147"><data key="d8">structure</data><data key="d23">194</data><data key="d25">60574</data></edge><node id="n117"><data key="d22">text node</data><data key="d24">117</data><data key="d26">541</data><data key="d19">30</data><data key="d15">false</data><data key="d21">
    </data></node><node id="n120"><data key="d22">HTML element</data><data key="d24">120</data><data key="d26">541</data><data key="d19">31</data><data key="d15">false</data><data key="d20">H1</data></node><edge id="e195" source="n120" target="n123"><data key="d8">structure</data><data key="d23">195</data><data key="d25">60574</data></edge><node id="n123"><data key="d22">text node</data><data key="d24">123</data><data key="d26">541</data><data key="d19">32</data><data key="d15">false</data><data key="d21">Example Domain</data></node><node id="n126"><data key="d22">text node</data><data key="d24">126</data><data key="d26">541</data><data key="d19">33</data><data key="d15">false</data><data key="d21">
    </data></node><node id="n129"><data key="d22">HTML element</data><data key="d24">129</data><data key="d26">541</data><data key="d19">34</data><data key="d15">false</data><data key="d20">P</data></node><edge id="e196" source="n129" target="n132"><data key="d8">structure</data><data key="d23">196</data><data key="d25">60574</data></edge><node id="n132"><data key="d22">text node</data><data key="d24">132</data><data key="d26">541</data><data key="d19">35</data><data key="d15">false</data><data key="d21">This domain is for use in illustrative examples in documents. You may use this
    domain in literature without prior coordination or asking for permission.</data></node><node id="n135"><data key="d22">text node</data><data key="d24">135</data><data key="d26">541</data><data key="d19">36</data><data key="d15">false</data><data key="d21">
    </data></node><node id="n138"><data key="d22">HTML element</data><data key="d24">138</data><data key="d26">541</data><data key="d19">37</data><data key="d15">false</data><data key="d20">P</data></node><edge id="e197" source="n138" target="n141"><data key="d8">structure</data><data key="d23">197</data><data key="d25">60574</data></edge><node id="n141"><data key="d22">HTML element</data><data key="d24">141</data><data key="d26">541</data><data key="d19">38</data><data key="d15">false</data><data key="d20">A</data></node><edge id="e198" source="n141" target="n144"><data key="d8">structure</data><data key="d23">198</data><data key="d25">60574</data></edge><node id="n144"><data key="d22">text node</data><data key="d24">144</data><data key="d26">541</data><data key="d19">39</data><data key="d15">false</data><data key="d21">More information...</data></node><node id="n147"><data key="d22">text node</data><data key="d24">147</data><data key="d26">541</data><data key="d19">40</data><data key="d15">false</data><data key="d21">
</data></node><node id="n150"><data key="d22">text node</data><data key="d24">150</data><data key="d26">541</data><data key="d19">41</data><data key="d15">false</data><data key="d21">
</data></node><node id="n153"><data key="d22">text node</data><data key="d24">153</data><data key="d26">541</data><data key="d19">42</data><data key="d15">false</data><data key="d21">
</data></node><node id="n155"><data key="d22">text node</data><data key="d24">155</data><data key="d26">541</data><data key="d19">43</data><data key="d15">false</data><data key="d21">
</data></node><node id="n158"><data key="d22">resource</data><data key="d24">158</data><data key="d26">573</data><data key="d42">https://example.org/favicon.ico</data></node><edge id="e6" source="n1" target="n2"><data key="d8">shield</data><data key="d23">6</data><data key="d25">0</data></edge><edge id="e7" source="n1" target="n3"><data key="d8">shield</data><data key="d23">7</data><data key="d25">0</data></edge><edge id="e8" source="n1" target="n4"><data key="d8">shield</data><data key="d23">8</data><data key="d25">0</data></edge><edge id="e9" source="n1" target="n5"><data key="d8">shield</data><data key="d23">9</data><data key="d25">0</data></edge><edge id="e14" source="n10" target="n11"><data key="d8">storage bucket</data><data key="d23">14</data><data key="d25">0</data></edge><edge id="e15" source="n10" target="n12"><data key="d8">storage bucket</data><data key="d23">15</data><data key="d25">0</data></edge><edge id="e16" source="n10" target="n13"><data key="d8">storage bucket</data><data key="d23">16</data><data key="d25">0</data></edge><edge id="e20" source="n18" target="n19"><data key="d8">structure</data><data key="d23">20</data><data key="d25">0</data></edge><edge id="e21" source="n18" target="n17"><data key="d8">structure</data><data key="d23">21</data><data key="d25">0</data></edge><edge id="e22" source="n18" target="n17"><data key="d8">create node</data><data key="d23">22</data><data key="d25">0</data><data key="d10">0</data></edge><edge id="e24" source="n18" target="n23"><data key="d8">create node</data><data key="d23">24</data><data key="d25">0</data><data key="d10">1</data></edge><edge id="e25" source="n18" target="n23"><data key="d8">insert node</data><data key="d23">25</data><data key="d25">0</data><data key="d10">1</data><data key="d27">1</data></edge><edge id="e27" source="n18" target="n26"><data key="d8">create node</data><data key="d23">27</data><data key="d25">0</data><data key="d10">1</data></edge><edge id="e29" source="n18" target="n28"><data key="d8">create node</data><data key="d23">29</data><data key="d25">0</data><data key="d10">1</data></edge><edge id="e30" source="n18" target="n26"><data key="d8">insert node</data><data key="d23">30</data><data key="d25">0</data><data key="d10">1</data><data key="d27">2</data></edge><edge id="e31" source="n18" target="n28"><data key="d8">insert node</data><data key="d23">31</data><data key="d25">0</data><data key="d10">1</data><data key="d27">2</data><data key="d2">3</data></edge><edge id="e35" source="n33" target="n34"><data key="d8">structure</data><data key="d23">35</data><data key="d25">2</data></edge><edge id="e36" source="n33" target="n32"><data key="d8">structure</data><data key="d23">36</data><data key="d25">2</data></edge><edge id="e37" source="n33" target="n32"><data key="d8">create node</data><data key="d23">37</data><data key="d25">2</data><data key="d10">0</data></edge><edge id="e39" source="n33" target="n38"><data key="d8">create node</data><data key="d23">39</data><data key="d25">4</data><data key="d10">5</data></edge><edge id="e40" source="n33" target="n38"><data key="d8">insert node</data><data key="d23">40</data><data key="d25">4</data><data key="d10">5</data><data key="d27">5</data></edge><edge id="e42" source="n33" target="n41"><data key="d8">create node</data><data key="d23">42</data><data key="d25">4</data><data key="d10">5</data></edge><edge id="e44" source="n33" target="n43"><data key="d8">create node</data><data key="d23">44</data><data key="d25">4</data><data key="d10">5</data></edge><edge id="e45" source="n33" target="n41"><data key="d8">insert node</data><data key="d23">45</data><data key="d25">4</data><data key="d10">5</data><data key="d27">6</data></edge><edge id="e46" source="n33" target="n43"><data key="d8">insert node</data><data key="d23">46</data><data key="d25">4</data><data key="d10">5</data><data key="d27">6</data><data key="d2">7</data></edge><edge id="e48" source="n33" target="n47"><data key="d8">execute</data><data key="d23">48</data><data key="d25">8</data><data key="d10">5</data></edge><edge id="e52" source="n50" target="n51"><data key="d8">structure</data><data key="d23">52</data><data key="d25">529</data></edge><edge id="e53" source="n50" target="n49"><data key="d8">structure</data><data key="d23">53</data><data key="d25">529</data></edge><edge id="e54" source="n50" target="n49"><data key="d8">create node</data><data key="d23">54</data><data key="d25">529</data><data key="d10">0</data></edge><edge id="e56" source="n50" target="n55"><data key="d8">create node</data><data key="d23">56</data><data key="d25">538</data><data key="d10">9</data></edge><edge id="e57" source="n50" target="n55"><data key="d8">insert node</data><data key="d23">57</data><data key="d25">538</data><data key="d10">9</data><data key="d27">9</data></edge><edge id="e59" source="n50" target="n58"><data key="d8">create node</data><data key="d23">59</data><data key="d25">538</data><data key="d10">9</data></edge><edge id="e60" source="n50" target="n58"><data key="d8">insert node</data><data key="d23">60</data><data key="d25">538</data><data key="d10">9</data><data key="d27">9</data><data key="d2">10</data></edge><edge id="e62" source="n50" target="n61"><data key="d8">execute</data><data key="d23">62</data><data key="d25">540</data><data key="d10">9</data></edge><edge id="e64" source="n50" target="n63"><data key="d8">create node</data><data key="d23">64</data><data key="d25">540</data><data key="d10">9</data></edge><edge id="e65" source="n50" target="n63"><data key="d8">insert node</data><data key="d23">65</data><data key="d25">540</data><data key="d10">9</data><data key="d27">11</data></edge><edge id="e67" source="n50" target="n66"><data key="d8">create node</data><data key="d23">67</data><data key="d25">540</data><data key="d10">9</data></edge><edge id="e68" source="n50" target="n66"><data key="d8">insert node</data><data key="d23">68</data><data key="d25">540</data><data key="d10">9</data><data key="d27">12</data></edge><edge id="e70" source="n50" target="n69"><data key="d8">create node</data><data key="d23">70</data><data key="d25">540</data><data key="d10">9</data></edge><edge id="e71" source="n50" target="n69"><data key="d8">insert node</data><data key="d23">71</data><data key="d25">540</data><data key="d10">9</data><data key="d27">12</data><data key="d2">13</data></edge><edge id="e73" source="n50" target="n72"><data key="d8">create node</data><data key="d23">73</data><data key="d25">540</data><data key="d10">9</data></edge><edge id="e74" source="n50" target="n72"><data key="d8">insert node</data><data key="d23">74</data><data key="d25">540</data><data key="d10">9</data><data key="d27">14</data></edge><edge id="e76" source="n50" target="n75"><data key="d8">create node</data><data key="d23">76</data><data key="d25">540</data><data key="d10">9</data></edge><edge id="e77" source="n50" target="n75"><data key="d8">insert node</data><data key="d23">77</data><data key="d25">540</data><data key="d10">9</data><data key="d27">12</data><data key="d2">14</data></edge><edge id="e79" source="n50" target="n78"><data key="d8">create node</data><data key="d23">79</data><data key="d25">540</data><data key="d10">9</data></edge><edge id="e80" source="n50" target="n78"><data key="d8">insert node</data><data key="d23">80</data><data key="d25">541</data><data key="d10">9</data><data key="d27">12</data><data key="d2">16</data></edge><edge id="e82" source="n50" target="n81"><data key="d8">create node</data><data key="d23">82</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e83" source="n50" target="n81"><data key="d8">insert node</data><data key="d23">83</data><data key="d25">541</data><data key="d10">9</data><data key="d27">12</data><data key="d2">17</data></edge><edge id="e85" source="n50" target="n84"><data key="d8">create node</data><data key="d23">85</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e86" source="n50" target="n84"><data key="d8">insert node</data><data key="d23">86</data><data key="d25">541</data><data key="d10">9</data><data key="d27">12</data><data key="d2">18</data></edge><edge id="e88" source="n50" target="n87"><data key="d8">create node</data><data key="d23">88</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e89" source="n50" target="n87"><data key="d8">insert node</data><data key="d23">89</data><data key="d25">541</data><data key="d10">9</data><data key="d27">12</data><data key="d2">19</data></edge><edge id="e91" source="n50" target="n90"><data key="d8">create node</data><data key="d23">91</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e92" source="n50" target="n90"><data key="d8">insert node</data><data key="d23">92</data><data key="d25">541</data><data key="d10">9</data><data key="d27">12</data><data key="d2">20</data></edge><edge id="e94" source="n50" target="n93"><data key="d8">create node</data><data key="d23">94</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e95" source="n50" target="n93"><data key="d8">insert node</data><data key="d23">95</data><data key="d25">541</data><data key="d10">9</data><data key="d27">12</data><data key="d2">21</data></edge><edge id="e97" source="n50" target="n96"><data key="d8">create node</data><data key="d23">97</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e98" source="n50" target="n96"><data key="d8">insert node</data><data key="d23">98</data><data key="d25">541</data><data key="d10">9</data><data key="d27">12</data><data key="d2">22</data></edge><edge id="e100" source="n50" target="n99"><data key="d8">create node</data><data key="d23">100</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e101" source="n50" target="n99"><data key="d8">insert node</data><data key="d23">101</data><data key="d25">541</data><data key="d10">9</data><data key="d27">23</data></edge><edge id="e103" source="n50" target="n102"><data key="d8">create node</data><data key="d23">103</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e104" source="n50" target="n102"><data key="d8">insert node</data><data key="d23">104</data><data key="d25">541</data><data key="d10">9</data><data key="d27">12</data><data key="d2">23</data></edge><edge id="e106" source="n50" target="n105"><data key="d8">create node</data><data key="d23">106</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e107" source="n50" target="n105"><data key="d8">insert node</data><data key="d23">107</data><data key="d25">541</data><data key="d10">9</data><data key="d27">11</data><data key="d2">12</data></edge><edge id="e109" source="n50" target="n108"><data key="d8">create node</data><data key="d23">109</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e110" source="n50" target="n108"><data key="d8">insert node</data><data key="d23">110</data><data key="d25">541</data><data key="d10">9</data><data key="d27">11</data><data key="d2">26</data></edge><edge id="e112" source="n50" target="n111"><data key="d8">create node</data><data key="d23">112</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e113" source="n50" target="n111"><data key="d8">insert node</data><data key="d23">113</data><data key="d25">541</data><data key="d10">9</data><data key="d27">27</data></edge><edge id="e115" source="n50" target="n114"><data key="d8">create node</data><data key="d23">115</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e116" source="n50" target="n114"><data key="d8">insert node</data><data key="d23">116</data><data key="d25">541</data><data key="d10">9</data><data key="d27">27</data><data key="d2">28</data></edge><edge id="e118" source="n50" target="n117"><data key="d8">create node</data><data key="d23">118</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e119" source="n50" target="n117"><data key="d8">insert node</data><data key="d23">119</data><data key="d25">541</data><data key="d10">9</data><data key="d27">29</data></edge><edge id="e121" source="n50" target="n120"><data key="d8">create node</data><data key="d23">121</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e122" source="n50" target="n120"><data key="d8">insert node</data><data key="d23">122</data><data key="d25">541</data><data key="d10">9</data><data key="d27">29</data><data key="d2">30</data></edge><edge id="e124" source="n50" target="n123"><data key="d8">create node</data><data key="d23">124</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e125" source="n50" target="n123"><data key="d8">insert node</data><data key="d23">125</data><data key="d25">541</data><data key="d10">9</data><data key="d27">31</data></edge><edge id="e127" source="n50" target="n126"><data key="d8">create node</data><data key="d23">127</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e128" source="n50" target="n126"><data key="d8">insert node</data><data key="d23">128</data><data key="d25">541</data><data key="d10">9</data><data key="d27">29</data><data key="d2">31</data></edge><edge id="e130" source="n50" target="n129"><data key="d8">create node</data><data key="d23">130</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e131" source="n50" target="n129"><data key="d8">insert node</data><data key="d23">131</data><data key="d25">541</data><data key="d10">9</data><data key="d27">29</data><data key="d2">33</data></edge><edge id="e133" source="n50" target="n132"><data key="d8">create node</data><data key="d23">133</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e134" source="n50" target="n132"><data key="d8">insert node</data><data key="d23">134</data><data key="d25">541</data><data key="d10">9</data><data key="d27">34</data></edge><edge id="e136" source="n50" target="n135"><data key="d8">create node</data><data key="d23">136</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e137" source="n50" target="n135"><data key="d8">insert node</data><data key="d23">137</data><data key="d25">541</data><data key="d10">9</data><data key="d27">29</data><data key="d2">34</data></edge><edge id="e139" source="n50" target="n138"><data key="d8">create node</data><data key="d23">139</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e140" source="n50" target="n138"><data key="d8">insert node</data><data key="d23">140</data><data key="d25">541</data><data key="d10">9</data><data key="d27">29</data><data key="d2">36</data></edge><edge id="e142" source="n50" target="n141"><data key="d8">create node</data><data key="d23">142</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e143" source="n50" target="n141"><data key="d8">insert node</data><data key="d23">143</data><data key="d25">541</data><data key="d10">9</data><data key="d27">37</data></edge><edge id="e145" source="n50" target="n144"><data key="d8">create node</data><data key="d23">145</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e146" source="n50" target="n144"><data key="d8">insert node</data><data key="d23">146</data><data key="d25">541</data><data key="d10">9</data><data key="d27">38</data></edge><edge id="e148" source="n50" target="n147"><data key="d8">create node</data><data key="d23">148</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e149" source="n50" target="n147"><data key="d8">insert node</data><data key="d23">149</data><data key="d25">541</data><data key="d10">9</data><data key="d27">29</data><data key="d2">37</data></edge><edge id="e151" source="n50" target="n150"><data key="d8">create node</data><data key="d23">151</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e152" source="n50" target="n150"><data key="d8">insert node</data><data key="d23">152</data><data key="d25">541</data><data key="d10">9</data><data key="d27">27</data><data key="d2">29</data></edge><edge id="e154" source="n50" target="n153"><data key="d8">create node</data><data key="d23">154</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e156" source="n50" target="n155"><data key="d8">create node</data><data key="d23">156</data><data key="d25">541</data><data key="d10">9</data></edge><edge id="e157" source="n50" target="n47"><data key="d8">execute</data><data key="d23">157</data><data key="d25">570</data><data key="d10">9</data></edge><edge id="e159" source="n50" target="n158"><data key="d8">request start</data><data key="d23">159</data><data key="d25">573</data><data key="d29">2</data><data key="d40">started</data><data key="d10">9</data><data key="d30">Resource</data></edge><edge id="e160" source="n158" target="n50"><data key="d8">request complete</data><data key="d23">160</data><data key="d25">725</data><data key="d29">2</data><data key="d40">complete</data><data key="d10">9</data><data key="d12">cooked-response:"date" "Mon, 10 Jun 2024 17:13:59 GMT"
cooked-response:"content-encoding" "gzip"
cooked-response:"last-modified" "Thu, 06 Jun 2024 18:23:22 GMT"
cooked-response:"server" "ECAcc (dcd/7D69)"
cooked-response:"age" "341437"
cooked-response:"vary" "Accept-Encoding"
cooked-response:"x-cache" "404-HIT"
cooked-response:"content-type" "text/html; charset=UTF-8"
cooked-response:"cache-control" "max-age=604800"
cooked-response:"accept-ranges" "bytes"
cooked-response:"content-length" "648"
cooked-response:"expires" "Mon, 17 Jun 2024 17:13:59 GMT"
</data><data key="d38">736</data><data key="d30">Resource</data><data key="d31">6o+sfGX7WJsNU1YPUlH3T56bJDR43Laz6nm142RJyNk=</data></edge></graph></graphml>

Specifications (Mandatory)

Currently used versions

Versions

gem-neo4j commented 2 months ago

Hi! Thanks for reporting, from what I can see it is because the relationship is before the node, so the node is not found. The error message was not clear though, so I will make sure that is updated :)

JannisBush commented 2 months ago

Thanks for the explanation. After I rewrote the file such that all the edges occur only after the nodes, the import worked successfully.

Does the GraphML specification state that edges can only reference nodes that already occur earlier in the file? I could not find anything regarding the order of nodes and edges.

gem-neo4j commented 2 months ago

Hi again! I believe it is not a bug for a graphml file to be ordered as such, but more lacking functionality inside APOC. I have added a more useful error message to it, and will create a ticket for APOC to be updated to handle the other cases. However, APOC is under maintenance mode, and allowing any order would require a more in-depth update to the procedure, so I can't promise that that part will be worked on any time soon. Sorry for the inconvenience, and thanks for the report :)