AWS Нептун установить кардинальность однозначных? - PullRequest
1 голос
/ 09 января 2020

У меня возникли проблемы с пониманием требований к количеству элементов для столбцов в формате загрузки данных Gremlin, как показано здесь:

https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format-gremlin.html

В частности, это утверждение:

«Значение мощности может быть либо единичным, либо заданным. Предполагается, что по умолчанию установлено значение, означающее, что столбец может принимать несколько значений. ”

Что, по-видимому, противоречит следующей спецификации количества элементов:

name:type(set) - Устанавливается количество элементов, которое совпадает со значением по умолчанию, а содержимое имеет одно значение.

Как столбец набора элементов (который принимает несколько значений) может быть однозначным? Ниже приведена спецификация мощности множества значений, как показано ниже, которая согласуется с моим пониманием того, что такое мощность множества, но однозначный набор просто не выглядит логичным:

name:type(set)[] - количество элементов установлено, а содержимое многозначно.

1 Ответ

5 голосов
/ 09 января 2020

Одна и та же вершина и свойство могут появляться в нескольких строках. Если количество элементов для этого столбца равно single, это приведет к тому, что массовый загрузчик выдаст ошибку во второй раз, когда она появляется (если не указана опция, позволяющая заменять отдельные значения мощности при запуске загрузчика). Если количество элементов равно set, даже если для каждой строки имеется только одно значение, оно будет добавлено к другим значениям, уже имеющимся в наборе для данного свойства.

Обозначение в квадратных скобках означает, что в В столбце CSV есть несколько значений для этого свойства в каждой строке, где оно появляется.

Без квадратных скобок ожидается только одно значение для этого столбца , но количество элементов по-прежнему равно set, если явно не указано type(single), например, String(single).

Надеюсь, это поможет уточнить.

ОБНОВЛЕНО:

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

~id,~label,list:Int(set)[],flag:String
T001,test,1;2;3;4;5,hello                    
...