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

时间:2015-04-15 08:23:30

标签: 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:无权执行具有用户ID 106,组ID 106的过程DB.DBA.SPARUL_LOAD_SERVICE_DATA

有没有办法授予许可?我怎样才能得到我的结果? btw:&#34;可选&#34;只是为了检查我是否得到了正确的结果......

提前多多感谢

Fobi

1 个答案:

答案 0 :(得分:1)

您的查询有多个问题。首先,您需要将<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))
}