Virtuoso 42000 错误 SR186:如何使用 SPARQL 查询授予对 dbpedia 的权限



在de.dbpedia上,我正在运行以下查询:

SELECT distinct *
WHERE {
{
    ?name dcterms:subject category-de:Haus_Liechtenstein.
    ?name rdf:type foaf:Person.
Optional {?name <http://de.dbpedia.org/ontology/deathDate> ?deathDate}
MINUS {?name dbpedia-owl:deathDate ?d}
}
union{
    SERVICE silent <http://dbpedia.org/sparql>{
    ?name dcterms:subject category-en:Princely_Family_of_Liechtenstein.
    ?name rdf:type foaf:Person.
Optional {?name <http://dbpedia.org/ontology/deathDate> ?deathDate}
MINUS {?name <http://dbpedia.org/ontology/deathDate> ?d}
}
}
}

收到以下错误:

Virtuoso 42000 错误 SR186:没有执行过程 DB 的权限。DBA。用户 ID 为 106、组 ID 为 106 的SPARUL_LOAD_SERVICE_DATA

有没有办法授予权限?如何获得结果?顺便说一句:"可选"只是为了检查我是否得到正确的结果......

提前非常感谢

福比

您的查询有多个问题。首先,您需要将两个<http://de.dbpedia.org/ontology/deathDate>都替换为 dbpedia-owl:deathDate .其次,我假设您正在尝试获取所有?deathDate,然后过滤没有?deathDate的那些。如果是这样,这是您需要编写的查询,而不会遇到权限问题:

SELECT distinct *
WHERE {
{
?name dcterms:subject category-de:Haus_Liechtenstein.
?name rdf:type foaf:Person.
Optional {?name dbpedia-owl:deathDate ?deathDate}
}
union{
SERVICE silent <http://dbpedia.org/sparql>{
?name dcterms:subject category-en:Princely_Family_of_Liechtenstein.
?name rdf:type foaf:Person.
Optional {?name dbpedia-owl:deathDate ?deathDate}
}
}
filter (!bound(?deathDate))
}

最新更新