Как разделить данные в столбце при загрузке в neo4j с помощью импорта neo4j-admin? - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь импортировать 2 CSV-файла, где 1 имеет узлы, а другой имеет отношения. В отношениях у меня есть столбец, где данные должны быть разделены. Я пытался использовать --array-delimiter = '|' но я получаю ошибку. Я надеялся, что кто-нибудь сможет мне помочь с этим вопросом.

node.csv

identifier:ID,name:LABEL
1,apple
2,ball
3,cat

rel.csv

source_ids:START_ID,target_ids:END_ID,type:TYPE,data
1,2,connection,
2,3,relation,test1|test2
3,1,connection,test1
1,3,relation,test4|test3|tet6

Если я использую команду ниже, я получаю данные с | в этом. Это не будет разделять поле данных.

neo4j-admin import --verbose --ignore-extra-columns=true  --nodes C:/Users/Sam/Documents/node.csv --relationships C:/Users/Sam/Documents/rel.csv.

Я получаю результат в формате:

{
  "data": "test4|test3|tet6"
}

Что я хочу:

{
  "data": ["test4","test3","tet6"]
}

Когда я пытаюсь:

neo4j-admin import --verbose --ignore-extra-columns=true --array-delimiter= "|"  --nodes C:/Users/Sam/Documents/node.csv --relationships C:/Users/Sam/Documents/rel.csv. 

Я получаю сообщение об ошибке:

Invalid value for option '--array-delimiter': cannot convert '' to char (java.lang.Ill
egalArgumentException: Unsupported character '')
[picocli WARN] Could not format 'Maximum memory that neo4j-admin can use for various d
ata structures and caching to improve performance. Values can be plain numbers, like 1
0000000 or e.g. 20G for 20 gigabyte, or even e.g. 70%.' (Underlying error: Conversion
= '.'). Using raw String: '%n' format strings have not been replaced with newlines. Pl
ease ensure to escape '%' characters with another '%'.
[picocli WARN] Could not format 'Maximum memory that neo4j-admin can use for various d
ata structures and caching to improve performance. Values can be plain numbers, like 1
0000000 or e.g. 20G for 20 gigabyte, or even e.g. 70%.' (Underlying error: Conversion
= '.'). Using raw String: '%n' format strings have not been replaced with newlines. Pl
ease ensure to escape '%' characters with another '%'.
[picocli WARN] Could not format 'Maximum memory that neo4j-admin can use for various d
ata structures and caching to improve performance. Values can be plain numbers, like 1
0000000 or e.g. 20G for 20 gigabyte, or even e.g. 70%.' (Underlying error: Conversion
= '.'). Using raw String: '%n' format strings have not been replaced with newlines. Pl
ease ensure to escape '%' characters with another '%'.

Спасибо, Сэм

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

В вашей командной строке есть символ постороннего пробела.

Изменение:

--array-delimiter= "|"

на:

--array-delimiter="|"
0 голосов
/ 21 апреля 2020

Чтобы определить тип массива, добавьте [] к типу. Пример:

source_ids:START_ID,target_ids:END_ID,type:TYPE,data:[]

См. Документацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...