首页 > 解决方案 > Graphdb sparql 无法进行联合查询

问题描述

我正在尝试使用我的本地 GraphDB 数据库和 SPARQL 端点进行联合查询。出于某种原因,我的结果表中总是出现错误或空列。

我尝试了几个在 FactForge 上运行良好的 SPARQL 端点。我的代码和错误消息如下,你能帮我让它工作吗?

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX bif: <bif:>
SELECT ?duration1 ?duration2{ 
    VALUES (?start ?end)
        {("2011-02-02T14:45:14"^^xsd:dateTime "2011-02-04T14:45:13"^^xsd:dateTime)}
    SERVICE <http://dbpedia.org/sparql>           #-- Virtuoso
        { BIND ((?end - ?start)/86400.0 AS ?duration1) }
}

错误 500:错误查询评估错误:org.eclipse.rdf4j.query.QueryEvaluationException:Virtuoso 22023 错误无法加载自己的服务描述

我正在使用 GraphDB 的免费版本。我的操作系统是 macOS Mojave 10.14.5。我直接从网站上安装了 GraphDB,我之前从未使用过 RDF4J。同样在此错误之后,我安装了一个本地 Virtuoso SPARQL 端点,我可以使用我的本地 GraphDB 作为服务来使用来自该端点的联合查询。但是我不能使用我的本地 Virtuoso 端点作为服务来使用来自我的本地 GraphDB 端点的联合查询,因为它给出了上面相同的错误。

标签: sparqlgraphdbfederated-queries

解决方案


上述错误的根本原因是“Virtuoso 22023 Error Can not load own service description”,作为未知的运行时异常处理,导致 HTTP Code 500。

我怀疑这是 DBPedia 服务中的一个暂时性故障,因为当前通过FactForge 服务使用最新的 GraphDB 9.0 版本和较旧的 GraphDB 8.x 版本测试的 GraphDB 可以使用相同的查询。


推荐阅读