我正在生成乌龟三元,完整数据集已经大约2GB。我处理几个K的小样本,以进行大多数测试。然后,我尝试在完整数据集上进行定期测试。它永远不会一直加载,但它告诉我是否有错误。
我的快速测试是将TTL文件加载到Protege中。我正在使用Protege 5.2(Windows版本)。小样本中没有错误。但是,当我更大的样本(protege)读取在TTL文件中,我会生成,并告诉我有错误。
• Level: INFO Time: 1504111914814 Message: ------------------------------- Loading Ontology -------------------------------
• Level: INFO Time: 1504111914815 Message: Loading ontology from file:/C:/Projects/gdelt/sample.ttl
• Level: INFO Time: 1504112075814 Message: Finished loading file:/C:/Projects/gdelt/sample.ttl
• **Level: ERROR Time: 1504112075818 Message: An error occurred whilst loading the ontology at GC overhead limit exceeded. Cause: {}**
• Level: INFO Time: 1504112075819 Message: Loading for ontology and imports closure successfully completed in 160995 ms
加载这些示例文件可能需要很长时间 - 然后才告诉我有错误,没有任何迹象表明问题所在。因此,我当前的调试方法是二进制搜索 - 生成文件一半,查看是否存在错误,分开差异,检查错误,然后我将其缩小到几行,可以轻松地检测到错误。这确实是乏味。有没有办法让Protege报告其呕吐的线?
如果没有,也许我可以使用另一个工具来检查我生成的三元组的语法?
解析器中没有增加内存错误,因此没有行号可提供。只有连续的尝试才能猜测可以加载带有内存限制的线的数量。
最好的解决方法是增加-XMX参数值。