在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
答案 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))
}