【问题标题】:Graphdb sparql cannot make federated queryGraphdb sparql 无法进行联合查询
【发布时间】:2019-09-12 22:17:56
【问题描述】:

我正在尝试使用我的本地 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 Error Can not load own service description

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

【问题讨论】:

  • (1) 在测试和询问此类问题时,最好从SIMPLE query that shows the issue 开始,最好是可以完全在公共服务上复制的。 (2) 报告的错误似乎来自 RDF4J,而不是 GraphDB,并且似乎显示 RDF4J 直接与 DBpedia 实例 (Virtuoso) 对话,所以我不确定你是如何做你正在做的......请尝试简化您的测试设置,然后更详细地描述它。
  • 关于 rdf4j 错误,这可能是由于 GraphDB 在后台使用了部分 rdf4j 造成的。这不一定是 OP 在他们的设置中做了任何奇怪的事情的结果。

标签: sparql graphdb federated-queries


【解决方案1】:

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

我怀疑这是 DBPedia 服务中的一个暂时性故障,因为同一查询目前在 GraphDB 中工作,并通过FactForge service 使用最新的 GraphDB 9.0 版本和较旧的 GraphDB 8.x 版本进行测试。

【讨论】:

  • 我也可以在 FactForge 上执行此操作,但在我的本地计算机 (macOS Mojave 10.14.5) 上使用 GraphDB 免费版时我仍然遇到同样的问题。我通过为免费版本安装 Docker 映像使用了一种解决方法,现在我可以进行联合查询。
猜你喜欢
  • 1970-01-01
  • 2023-03-07
  • 2016-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多