SPARQL 查询可以导入或重用一组 PREFIX 定义(命名空间绑定)吗?

Tom*_*ker 5 namespaces sparql prefix

我通过在 Jupyter 笔记本(基于 Web 的 REPL 环境)中执行 SPARQL 查询来记录对 RDF 数据的探索。

我经常通过复制先前的查询进行调整来创建查询。笔记本中充满了 SPARQL 查询,这些查询均以相同的八个 PREFIX 定义(例如PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)开头。

为了减少混乱,我保持前缀列表较短,但这意味着我必须经常切换窗口来搜索必须添加的其他一些前缀(例如,PREFIX eurovoc: ...)。

有没有办法将 PREFIX 定义保存在文件中,然后只需将这些定义导入到查询中?

另外,由于我目前使用 Apache JENA 命令行实用程序在 Jupyter Notebook 中执行查询arq,因此我很高兴有任何允许将 SPARQL 查询拆分为多个文件的命令行实用程序或其他此类解决方法。

我在网上搜索了这个问题的答案stackoverflow.com,尝试了许多涉及 SPARQL、PREFIX、声明、定义、冗余、导入、重用、重用、命名空间、绑定、单独、文件和多重等词的查询,其中我在这里复制是为了让可能问同样问题的其他人更容易找到这个问题。

zak*_*mck 0

我在寻找类似的东西时偶然发现了这个问题。AFAIK,SPARQL 没有导入指令,但是有像rdf.sh这样的工具,它可以查看您在文件中使用的所有前缀并构建所需的定义(它们通常基于prefix.cc)。

此外,我见过具有预定义前缀定义并自动完成 SPARQL 的端点(例如,Fuseki),但依赖它们会降低查询的可移植性。