【问题标题】:What is the best way to export and import ARC2 RDF data?导出和导入 ARC2 RDF 数据的最佳方式是什么?
【发布时间】:2012-03-04 08:35:33
【问题描述】:

一开始,我做错了:

  • 我使用 MySQL 来复制表。

这很糟糕,因为 ARC2 对其中一个表列使用依赖于平台的散列函数。

所以,我认为解决方案很简单:

// To export
$store->createBackup('backup_file.spog');

// To import
$store->query('LOAD <file://FULL_PATH_TO_FILE/backup_file.spog>');

我想发布这个问题,以防有人有更多建议。我还是 RDF 和 ARC2 的新手。

有关 ARC2 问题的更多信息:

  • 为了在 MySQL 数据库中查找主题 URI,ARC2 使用 http://php.net/crc32 散列函数。结果整数不是 32 位。尽管 crc32() 使用“一次 32 位长度的输入字符串”准备校验和,但生成的整数值是平台相关的,这可以在 PHP_INT_SIZE 和 PHP_INT_MAX 常量中看到

【问题讨论】:

    标签: php import export rdf sparql


    【解决方案1】:

    这个问题没有答案(除了我在我的问题中提出的答案),所以我只是回答我自己的问题。唯一的选择必须是我迄今为止找到的那个......显然没有其他方法可以在 ARC2 中进行完全导入/导出转储,除了......

    // To export
    $store->createBackup('backup_file.spog');
    
    // To import
    $store->query('LOAD <file://FULL_PATH_TO_FILE/backup_file.spog>');
    

    【讨论】:

      【解决方案2】:

      是的,创建 SPOG 备份似乎是最直接的选择。但是有一天我遇到了一些问题,我改用了 rdf 导出:

      $ser = ARC2::getRDFXMLSerializer();
      $all = $store->query("SELECT ?s ?p ?o WHERE { ?s ?p ?o }");
      $rdfxml2 = $ser->getSerializedTriples($all['result']['rows']);  
      file_put_contents('storename.rdf', $rdfxml2);
      

      【讨论】:

      • 我明白了,所以您将数据保存到 RDF 文件中。导入和导出非常缓慢。您是否注意到这种方法有任何改进?
      • 我的意思是,当我使用 SPOG 备份方法导入和导出时,速度很慢。所以,我希望有另一种更快的方法。
      猜你喜欢
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-10
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多