如何区分 SQL 三元组和显式三元组?

How can I distinguish SQL triples from explicit triples?

我正在使用模板驱动提取从同一组文档生成 SQL 视图和 RDF 三元组。 SQL 视图用于快速检查原始数据,而三元组用于下游将信息提供给知识图谱。

我现在需要将 RDF 三元组提取到一个外部文件中,我正在努力分离支持 SQL 视图的那些三元组。文档建议我应该在我的 Sparql 查询中使用固定的主题或谓词,这是我不能做的事情,因为我事先不知道两者中的任何一个。我尝试在 XQuery 中过滤掉 SQL 三元组,但我无法设计一种方法来检测 sem:sparql 返回的某个值或 cts:triples 返回的三元组是否是 SQL 的或我的。

任何关于如何从 MarkLogic 中获取所有非 SQL 三元组的转储的帮助将不胜感激。

谢谢, 汉斯

来自 SQL 视图的主题不是真实的 sem:iri(它们是 sql:rowID),因此您可以使用以下方法排除它们:

FILTER( ISIRI(?subject) )

HTH!

您可以尝试使用函数tde:node-data-extract。 它基本上可以让您查看文档和 TDE 的结果。 虽然它可能涉及对所有文档执行此操作并将其再次转换为 RDF 的一些工作,但应该是可能的。