Comments (5)
Hi @nichtich, thanks for the feedback on the CSV Import feature!
Since you mentioned escaping the array delimiter by doubling it, it looks like that you have some control over the generation of the CSVs or maybe a pre-processing phase before passing them to neo4j-admin import
. So it looks like you're able to also use any arbitrary array delimiter, that would be correct?
You also said that you already thought about using another array delimiter. Besides the null-byte (which does not look like a good one), are you confident that your strings would contain even the ASCII delimiter characters for example? The import command also allows you to set the array delimiter as any unicode character, so you're not restricted to ASCII either. Maybe this could help you with your current requirements?
from neo4j.
Thanks for the quick reply. Any special character (null byte, information separator code...) is a workaround with drawback of hardly being readable and editable by hand (and one must be sure to not use the character in actual data). For my current use case this is a minor issue indeed.
I'll keep the issue open because even if not being implemented, the limitation and workaround should be made clear in the documentation. The documentation may use the example --array-delimiter="\x1C"
because escaping of control characters may be unknown to users (I had to look up the right way). Alternatively allow --array-delimiter=U+001C
to use a specific character given by Unicode code point.
from neo4j.
Any special character (null byte, information separator code...) is a workaround with drawback of hardly being readable and editable by hand (and one must be sure to not use the character in actual data). For my current use case this is a minor issue indeed.
Handling arbitrary content (or providing the mechanism to do so) is always tricky! For example, if we support the double escaping, then it leads to what we do when we want a property array to contain an empty element (e.g. 'x||y|z'
wants {name:["x", "", "y","z"]}
) π
I'm glad to hear that this is blocking you in using Neo4j though! The team added a note in our backlog of the wish for more flexibility in this aspect. If we revisit the property array parsing mechanism, we'll take this into consideration :)
I'll keep the issue open because even if not being implemented, the limitation and workaround should be made clear in the documentation. The documentation may use the example --array-delimiter="\x1C" because escaping of control characters may be unknown to users (I had to look up the right way).
About the documentation, this is definitely something we can expand on. To double check, are you mentioning this page or somewhere else where you feel we missed the opportunity to clarify how to use/pass control characters?
Alternatively allow --array-delimiter=U+001C to use a specific character given by Unicode code point.
--array-delimiter
(like other delimiters) supports unicode code points. Have you found an issue when trying to use it?
from neo4j.
About the documentation, this is definitely something we can expand on. To double check, are you mentioning this page
Yes
--array-delimiter
(like other delimiters) supports unicode code points. Have you found an issue when trying to use it?
The issue is only how to escape a Unicode code point in the shell. This is no big thing, just something that users might need to look up if it is not shown in the documentation example.
from neo4j.
Hey @nichtich, we have updated the examples to show how one can use the unicode code point for specifying a delimiter.
from neo4j.
Related Issues (20)
- Node deleted failed about path of unknown length HOT 1
- One possible performance issue HOT 3
- Wrongful execution of `ELSE` branch in `CASE` expression HOT 2
- UnknownError in a DuplicatedSlotKey HOT 1
- One possible performance issue HOT 3
- toInteger and toFloat can't handle strings with common thousands delimiters HOT 2
- Neo.ClientError.Statement.RuntimeUnsupportedError HOT 6
- BLOCK storage format between AuraDB and Community editions HOT 8
- Neo4j 5.19.0 was released April 12th, 2024 but none of the source is available on this repo. Is it still under GPL? HOT 1
- Critical CVE in container image HOT 1
- Neo4j cypher οΌquery directed relationships HOT 2
- Importing csv quote issues even with "" escaping HOT 1
- Version 5.19.0 and 5.20.0 releases HOT 6
- Error: Unrecognized conversion specifier [d] starting at position 36 in conversion pattern. HOT 1
- Does't neo4j support node-set? HOT 11
- Neo.ClientError.Security.AuthenticationRateLimit: The client has provided incorrect authentication details too many times in a row. HOT 1
- Unhandled Exception in Neo4j 5.18 HOT 1
- Need to import a raw database directory in neo4j community edition(HELP) HOT 1
- Vector encoding provider AzureOpenAI is not supported under genai.vector.encode HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neo4j.