【发布时间】:2016-11-06 10:17:51
【问题描述】:
我通过在 Jupyter 笔记本(基于 Web 的 REPL 环境)中执行 SPARQL 查询来记录我对 RDF 数据的探索。
我经常通过复制前一个查询来创建查询以进行调整。笔记本充满了 SPARQL 查询,这些查询都以相同的八个 PREFIX 定义开始(例如,PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)。
为了减少混乱,我保持 PREFIX 列表简短,但这意味着我必须经常切换窗口来搜索必须添加的其他前缀(例如,PREFIX eurovoc: ...)。
有没有办法将 PREFIX 定义保存在文件中,然后简单地将这些定义导入到查询中?
另外,由于我目前使用 Apache JENA 命令行实用程序 arq 在 Jupyter Notebook 中执行查询,因此我很乐意使用任何允许将 SPARQL 查询拆分为多个文件的命令行实用程序,或者其他此类解决方法。
我在stackoverflow.com 和网络上搜索了该问题的答案,尝试了许多涉及 SPARQL、PREFIX、声明、定义、重复、导入、重用、重用、命名空间、绑定、分离、文件和多个文件,我在这里复制这些文件是为了让可能提出相同问题的其他人更容易找到这个问题。
【问题讨论】:
-
不适用于 arq - 尽管只是将前缀与查询连接起来并将输出提供给您所在的任何操作系统或环境中的 sparql 命令。
-
以下工作:
%%script bash QUERY=$(cat prefixes.sparql query.sparql) arq --data agro.n3 "$QUERY"(其中%%script bash表示 Jupyter 笔记本单元格中的所有内容都由bash解释)。不漂亮,这意味着我需要将查询单独粘贴到笔记本中,但可行。谢谢!
标签: namespaces sparql prefix