Я пытаюсь получить некоторые данные о фильмах из DBpedia. Это мой запрос:Разный порядок результатов в DBpedia через запрос SNORQL и SERVICE
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 и ваш Одер не распространяется на запрос SERVICE, таким образом, вы можете на самом деле получить разные результаты. – AKSW
Есть ли способ преодолеть это ограничение? – kurious
Я так не думаю. Любой удаленный запрос, и это то, что в основном выполняется при использовании службы SERVICE рядом с удаленной конечной точкой, будет иметь максимальный набор результатов, возвращаемый удаленной конечной точкой. Таким образом, задача этого механизма объединения будет выполняться, но я не знаю о какой-либо реализации. Какой API или тройной магазин вы используете? – AKSW