【问题标题】:SPARQL federated query "SERVICE" returns Virtuoso RDFZZ Error: unexpected variable name 'stubvar14'SPARQL 联合查询“SERVICE”返回 Virtuoso RDFZZ 错误:意外变量名 'stubvar14'
【发布时间】:2015-04-10 11:16:02
【问题描述】:

我想从两个不同的 SPARQL 端点获取人员列表,因此我在 de.dbpedia 上使用此查询:

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

然后我得到以下错误:

Virtuoso RDFZZ 错误 DB.DBA.SPARQL_REXEC('http://dbpedia.org/sparql', ...) 收到带有意外变量名称“stubvar14”的结果

知道我做错了什么吗?非常感谢!

【问题讨论】:

    标签: sparql dbpedia federated-queries


    【解决方案1】:

    所以问题是,虽然这两个查询单独工作正常,但组合查询中的service 部分试图根据第二组过滤第一组。我认为你缺少的是一个工会:

    PREFIX category-en: <http://dbpedia.org/resource/Category:>
    SELECT distinct count(?name)
    WHERE {
    {
        ?name dcterms:subject category-de:Haus_Liechtenstein.
        ?name rdf:type foaf:Person.
    }
    union{
        SERVICE silent <http://dbpedia.org/sparql>{
        ?name dcterms:subject category-en:Princely_Family_of_Liechtenstein.
        ?name rdf:type foaf:Person.
    }
    }
    MINUS {?name dbpedia-owl:deathDate ?d}
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多