【问题标题】:Different order of results in DBpedia through SNORQL vs. SERVICE query通过 SNORQL 与 SERVICE 查询在 DBpedia 中的不同结果顺序
【发布时间】:2016-12-29 19:39:34
【问题描述】:

我正在尝试从 DBpedia 检索有关电影的一些数据。这是我的查询:

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX : <http://dbpedia.org/resource/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbpedia: <http://dbpedia.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX onto: <http://dbpedia.org/ontology/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT *
{{SELECT *

WHERE {
SERVICE<http://dbpedia.org/sparql>{
?movie dcterms:subject <http://dbpedia.org/resource/Category:American_films> ;
        a onto:Film ;
        rdfs:label ?title ;
        dbpedia2:gross ?revenue .

?movie onto:starring ?actorUri .
?actorUri rdfs:label ?actor .

OPTIONAL {
  ?movie onto:imdbId ?imdbId .
}
BIND(xsd:integer(?revenue) as ?intRevenue) .
FILTER ((datatype(?revenue) = 'http://dbpedia.org/datatype/usDollar') && (LANGMATCHES(LANG(?title), 'en')) && (LANGMATCHES(LANG(?actor), 'en'))) .
}
}
}}
ORDER BY DESC (?intRevenue)
LIMIT 40000
OFFSET 0

http://dbpedia.org/snorql/(不带SERVICE 关键字)上运行此查询会返回正确的结果。但是,从第三方三联店这样做不会产生相同的订单(例如:霍比特人和指环王失踪)。

我需要在查询中进行哪些更改才能获得相同的结果?

【问题讨论】:

  • DBpedia 的默认限制为 10000,并且您的 ODER BY 不会传播到 SERVICE 查询,因此,您确实可以获得不同的结果。
  • 有没有办法克服这个限制?
  • 我不这么认为。任何远程查询,以及在使用靠近远程端点的 SERVICE 时基本上完成的操作都会受到远程端点返回的最大结果集的影响。所以这将是联合查询引擎的任务来处理这个,但我不知道有任何实现。哪个API分别。你用三联店吗?
  • 克服此限制的最佳方法是拥有your own DBpedia mirror,您可以在其上设置自己的限制(包括无限制),然后您可以将其用作您的主要或远程数据存储和/ 或查询引擎。
  • 可能将此作为解决方案

标签: sparql dbpedia linked-data


【解决方案1】:

克服此特定限制的最佳方法是拥有your own DBpedia mirror,您可以在其上设置自己的限制(包括无限制),然后您可以将其用作主要或远程数据存储和/或查询引擎.

(ObDisclaimer:OpenLink Software 提供public DBpedia SPARQL endpoint,产生VirtuosoDBpedia Mirror AMI,并雇用我。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    相关资源
    最近更新 更多