【发布时间】:2015-03-24 13:15:42
【问题描述】:
我正在使用以下查询从 DBPedia 本体中查找所有具有城市域(或城市超类)或国家范围(或国家超类)的属性。当我使用固定长度的路径时没有问题,但是当我把 * 定义为任意长度的路径时,我得到了这个错误:
Virtuoso 37000 错误 SP031:SPARQL 编译器:变量 '_::trans_subj_6_4' 用于查询的子表达式,但不用于 分配
我的 SPARQL:
define sql:signal-void-variables 1
define input:default-graph-uri <http://dbpedia.org>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX res: <http://dbpedia.org/resource/>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
select ?property where{
{ ?property rdfs:domain/^rdfs:subClassOf* dbo:City }
UNION
{ ?property rdfs:range/^rdfs:subClassOf* dbo:Country }
}
另外,当我输入任何数字而不是 * 时,我也会收到同样的错误。我使用Virtuoso 作为 DBPedia SPARQL 端点。
【问题讨论】:
标签: path rdf sparql dbpedia virtuoso