首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openrdf Sesame:可以解析单行吗?

openrdf Sesame:可以解析单行吗?
EN

Stack Overflow用户
提问于 2013-07-13 17:45:14
回答 2查看 314关注 0票数 2

是否可以使用openrdf框架中的解析器将单行文本解析为openrdf模型?我想要解析巨大的nquads文件,并希望使用

代码语言:javascript
复制
org.openrdf.rio.nquads.NQuadsParser

完成这项任务。我的理想解决方案是返回一个org.openrdf.model.Statement,其中包含适当的主语、谓词、宾语和上下文实例。我知道这个类本身没有这样做的方法。由于我试图解析非常大的文件,所以无法将它们完全加载到存储库中。我可能会将文件块解析到存储库中,评估并清除存储库,为下一个块腾出空间。我想知道是否有更好的方法从文本文件的行中获取语句?

对于某些上下文,我希望收集有关Huge Nquads Files的统计信息,为此,我需要评估每条语句,但不需要存储大部分语句。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-14 01:15:59

不可能解析单行AFAIK,但Sesame确实有一个API,允许您控制对解析的语句执行的操作,这将避免您的代码实际将语句存储到存储库中。

有关仅计算三元组的简单示例,请参阅documentation,但您可以通过这种方式轻松地进行复杂得多的处理。

票数 2
EN

Stack Overflow用户

发布于 2013-07-16 07:55:26

经过进一步的研究,我意识到除了在

代码语言:javascript
复制
org.openrdf.rio.helpers.BasicParserSettings

具体来说,

代码语言:javascript
复制
NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES

可以防止解析器在发现无效行时失败。例如设置

代码语言:javascript
复制
parser.getParserConfig().addNonFatalError(NTriplesParserSettings.FAIL_ON_NTRIPLES_INVALID_LINES);

会将解析器配置为容错能力更强。这允许在嘈杂的nquads/ntriples文件中解析“好”的三元组。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17628962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档