#pandas #amazon-web-services #gremlin #amazon-neptune
#pandas #amazon-веб-сервисы #гремлин #amazon-neptune
Вопрос:
Я не могу загрузить пустые строковые значения для свойств вершин и ребер, насколько я знаю, я следую формату загрузки Gremlin и предоставляю правильный запрос JSON конечной точке загрузчика Neptune.
Вот как выглядит файл vertex csv (созданный с использованием pandas) на s3
Полезная нагрузка запроса, отправленная в конечную точку загрузчика (http://database:8182/loader )
{
"source": "s3://bucket/dir/or/object/containing/csvfile/",
"format" : "csv",
"iamRoleArn" : "arn:sample",
"region" : "us-east-1",
"failOnError" : "FALSE",
"parserConfiguration" : {
"allowEmptyStrings": true
}
}
Данные загружены успешно.
- Вершина создана.
- полям ‘label‘ и ‘id’ присваиваются значения, указанные в csv.
- свойство ‘key2’ отображает его значение как ‘value’ (указано в csv).
- свойство ‘key1’ не найдено / не загружено в базу данных, несмотря на предоставление allowEmptyStrings как true в полезной нагрузке запроса.
Ответ №1:
Если вам нужна пустая строка, вам нужно заключить ее в кавычки в CSV:
~id,~label,key1:String,key2:String
testid1,testlabel,"",value2
testid2,testlabel,value1,""
Если поле не заключено в кавычки, оно обрабатывается как null (что отличается от пустой строки). Значения Null неявны в TinkerPop в его нынешнем виде.