вставка данных в схему Гракна - PullRequest
3 голосов
/ 30 апреля 2020

Я создал следующую схему Гракна

define  
contract sub relation,     
  relates manufacturer,     
  relates product;  
drug sub entity,    
  plays product,    
  has product_name,    
  has code;  
company sub entity,    
  plays manufacturer,    
  has manufacturer_name;
      
product_name sub attribute,  
  datatype string;  
manufacturer_name sub attribute,  
  datatype string;  
code sub attribute,  
  datatype string;

У меня есть 3 csv (препарат, компания и контракт)

  1. препарат имеет имя продукта (уникальное) и код
  2. компания имеет имя_производителя (уникальное)
  3. контракт имеет имя_продукта и имя_производителя (уникальное сочетание обоих)

Я использую тот же migrate.py, предоставленный grakn [изменяющий имена столы]. Во время приема всплывает следующая ошибка:

<_ Рандеву RP C, оканчивающееся на: status = StatusCode.INVALID_ARGUMENT details = "GraqlSemanticException-name не имеет 'isa', 'sub' или 'ID'. Пожалуйста, проверьте журналы сервера для трассировки стека. " debug_error_string = "{" созданный ":" @ 1588172437.178000000 "," description ":" Ошибка, полученная от узла ipv4: 127.0.0.1: 48555 "," file ":" src / core / lib / surface / call. cc " , "file_line": 1055, "grpc_message": "GraqlSemanticException-name не имеет" isa "," sub "или" id ". Пожалуйста, проверьте журналы сервера на наличие трассировки стека. "," Grpc_status ": 3}">

В примере phone_calls, предоставленном grakn, я вижу генерируемый идентификатор (генерируется ли он автоматически?) Мне нужно вставить данные в поля (компания, контракты и лекарства). При необходимости я могу поделиться с нами migrate.py, который я написал.

1 Ответ

3 голосов
/ 30 апреля 2020

Пожалуйста, проверьте имена, используемые в ваших файлах migrate.py и csv. Оба должны быть одинаковыми для вставки данных в гракн-БД. Пример: если ваш запрос имеет вид:

'insert $company isa company, has name "' + company["name"] + '";'

Так что в вашем CSV-файле заголовок должен быть «имя». Надеюсь, это поможет.

...