Невозможно загрузить пустые строковые значения для свойств вершин и ребер с помощью загрузчика Neptune

#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
     }
}
 

Данные загружены успешно.

  1. Вершина создана.
  2. полям ‘label‘ и ‘id’ присваиваются значения, указанные в csv.
  3. свойство ‘key2’ отображает его значение как ‘value’ (указано в csv).
  4. свойство ‘key1’ не найдено / не загружено в базу данных, несмотря на предоставление allowEmptyStrings как true в полезной нагрузке запроса.

Ответ №1:

Если вам нужна пустая строка, вам нужно заключить ее в кавычки в CSV:

 ~id,~label,key1:String,key2:String
testid1,testlabel,"",value2
testid2,testlabel,value1,""
 

Если поле не заключено в кавычки, оно обрабатывается как null (что отличается от пустой строки). Значения Null неявны в TinkerPop в его нынешнем виде.