You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Quotes are stripped out of arrays, possibly only in GraphML imports. #122
For this query: MATCH (m:Movie{title:'The Polar Express'})<-[e:ACTED_IN]-(v:Person) RETURN e, v
Expected behavior
The edge property 'roles' should be a properly formed array, as is shown here from Neo4J's view of the import:
Actual behavior
The quotes are missing, making the array unparsable: "roles": "[Hero Boy, Father, Conductor, Hobo, Scrooge, Santa Claus]"
I've confirmed arrays can be created and returned successfully via parameterized inserts, so I suspect this is a bug in the import code. Could be wrong, though!
Ok, seems the database exported and published has this issue: arrays are saved as strings (I suspect the Apache TinkerPop GraphML exporter has a bug where arrays are exported with a .toString().
Quick update. Written to the Discord channel of Gremlin. From the code, arrays/list/collections are saved as strings. The issue is that the GraphML Importer in Gremlin is unable to restore the original graph and the property is read as a string, confirming what you're experimenting with.
Fixed in the main branch by supporting GraphSON format that supports complex types, like arrays/collections/lists. We also have published this Movie database where you can import:
Activity
lvca commentedon Oct 11, 2021
@antarcticgiraffe could you please take this when you can? Thanks!
lvca commentedon Oct 13, 2021
@tetious I tried with the latest release and it works:
This is the edge returned in Studio:
{ "edges": [ { "p": { "roles": [ "Hero Boy", "Father", "Conductor", "Hobo", "Scrooge", "Santa Claus" ] }, "r": "#54:20", "t": "ACTED_IN", "i": "#13:4", "o": "#34:7" } ] }Are you sure you're using the latest version? Try to remove the latest image from docker and run it again, so docker should download the latest.
tetious commentedon Oct 13, 2021
I'm pretty sure I am. I just updated again, reimported like this:
import database https://github.com/ArcadeData/arcadedb-datasets/raw/main/neo4j/movies.graphml.tgzAnd it is still a problem for me: (see version in the results)
Maybe we're using different datasets?
lvca commentedon Oct 13, 2021
@tetious you're right, if I import the database from scratch I have the same issue. Checking into it. Thanks for the report.
lvca commentedon Oct 13, 2021
Ok, seems the database exported and published has this issue: arrays are saved as strings (I suspect the Apache TinkerPop GraphML exporter has a bug where arrays are exported with a
.toString().lvca commentedon Oct 14, 2021
Quick update. Written to the Discord channel of Gremlin. From the code, arrays/list/collections are saved as strings. The issue is that the GraphML Importer in Gremlin is unable to restore the original graph and the property is read as a string, confirming what you're experimenting with.
lvca commentedon Oct 14, 2021
Fixed in the
mainbranch by supporting GraphSON format that supports complex types, like arrays/collections/lists. We also have published this Movie database where you can import:tetious commentedon Oct 14, 2021
Awesome! Thanks! I'll have a play once CD catches up.
chore(deps): update pytest-check requirement from >=2.5.0 to >=2.8.0 …
chore(deps): update pytest-check requirement from >=2.5.0 to >=2.8.0 …
build(deps): update pytest-check requirement from >=2.8.0 to >=2.9.1 …
chore(deps): bump actions/setup-java from 5.7.0 to 6.0.0 [skip ci]