0

我正在生成 Turtle 三元组,完整的数据集已经大约 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 

加载这些示例文件可能需要很长时间——然后它只告诉我有一个错误,而没有任何迹象表明问题出在哪里。所以我目前的调试方法是二分查找——生成一半大小的文件,看看是否有错误,拆分差异,检查错误,这样我就把它缩小到几行,我可以很容易地检测到错误. 这真的很乏味。有没有办法让门徒报告它呕吐的地方?

如果没有,也许我可以使用另一个工具来检查我生成的三元组的语法?

4

1 回答 1

2

解析器中不会引发内存不足错误,因此没有要提供的行号。您的内存限制可以加载的行数只能通过连续尝试来猜测。

最好的解决方法是增加 -Xmx 参数值。

于 2017-08-30T22:00:32.663 回答