This was a painful discovery.

It appears that neo4j is EXPECTING Quoted content in a CSV file no matter 
what.

If you send data that does NOT have Text Qualifiers as an option from 
another database source to generate your CSV File but DOES have Double 
Quotes within the content, neo4j will consider the double-quote as the 
start of a separated content REGARDLESS of your FIELDTERMINIATOR setting.

For example (4 lines of text to be added to a single node property)

ABC1203|1|Length: 2" from left
ABC1203|2|Textured
ABC1203|3|Depth: 6" from angle
ABC1203|4|Thickness: 8" from edge
ABC1203|5|Paint: 0.02" all around

Might look like the following after import:
 from left ABC1203|2|Textured ABC1203|3|Depth: 6  from edge 
ABC1203|5|Paint: 0.02" all around


The problem appears to be that neo4j is expecting values to be contained in 
Quotes and Properly Escaped:
ABC1203|1|"Length: 2\" from left"
ABC1203|2|"Textured"
ABC1203|3|"Depth: 6\" from angle"
ABC1203|4|"Depth: 8\" from edge"
ABC1203|5|"Paint: 0.02\" all around"

This will get you more like this:
Length: 2" from left Height: 2" from base Depth: 6" from angle Thickness: 
8" from edge Paint: 0.02" all around


This is a bit of problem relative to importing CSV files...  Not all 
systems will write data out the same way for CSV.

For example, sqlite3-shell will write out the above data like this - notice 
how a single value is NOT Text Qualified, and it double escapes Double 
Quotes.

ABC1203|1|"Length: 2"" from left"
ABC1203|2|Textured
ABC1203|3|"Depth: 6"" from angle"
ABC1203|4|"Thickness: 8"" from edge"
ABC1203|5|"Paint: 0.02"" all around"

*Proposed Solution:*
Include a *TEXTQUALIFIER* *true/false *option so that the default rule for 
assuming double quotes around values can be disabled more easily and also 
assume that content between the FIELDTERMINIATOR are qualified by the 
FIELDTERMINIATOR that is specified by the user in the header of the CSV 
import cypher.

(note: this is a hacky example - I can come up with something more 
definitive if necessary - but I have been fighting this quite a bit).

Dave



-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to