将数据插入 grakn 模式

inserting data to a grakn schema

我创建了以下 grakn 模式

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. 药物具有 product_name(唯一)和代码
  2. 公司有 manufacturer_name(唯一)
  3. 合同有 product_name 和 manufacturer_name(两者的独特组合)

我正在使用 grakn [修改表的名称] 提供的相同 migrate.py。在摄取期间弹出以下错误。

<_RPC 的集合点终止于: 状态 = StatusCode.INVALID_ARGUMENT 详细信息 = "GraqlSemanticException-name doesn't have an 'isa', a 'sub' or an 'id'. Please check server logs for the stack trace." debug_error_string = "{"created":"@1588172437.178000000","description":"Error received from peer ipv4:127.0.0.1:48555","file":"src/core/lib/surface/call.cc","file_line":1055 ,"grpc_message":"GraqlSemanticException-name doesn't have an 'isa', a 'sub' or an 'id'. Please check server logs for the stack trace.","grpc_status":3}" >

在 grakn 提供的 phone_calls 示例中,我看到正在生成 ID(它是自动生成的吗?) 我需要将数据插入字段(公司、合同和药品)。如果需要,我可以分享我写的migrate.py。

请检查您的 migrate.py 和 csv 文件中使用的名称。两者应该相同才能将数据插入 grakn-DB。例子: 如果您的查询是这样的:

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

所以在您的 csv 文件中 header 应该是 "name"。 希望这有帮助。