У меня есть ссылки на несколько страниц DBpedia нравится:
http://dbpedia.org/resource/Harry_Potter
http://dbpedia.org/resource/Twilight_(series)
http://dbpedia.org/resource/Bible
http://dbpedia.org/resource/MangaКак запросить конкретный ресурс/страницу DBpedia для нескольких объектов?
Я хотел бы получить реферата и Thumbnail объекты для каждого из них.
я могу получить их по отдельности с помощью:
Для Аннотация:
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://dbpedia.org/resource/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label WHERE { <http://dbpedia.org/resource/Harry_Potter> dbo:abstract ?label . FILTER (lang(?label) = \'en\')}
Для Thumbnail:
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://dbpedia.org/resource/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?thumbnail WHERE { <http://dbpedia.org/resource/Harry_Potter> dbo:thumbnail ?thumbnail}
Можно ли сочетать выше двух запросов в один. Я очень новичок в SPARQL и не смог получить it для работы.
Кроме того, есть ли лучший способ запроса, чем мой текущий подход?
Вы можете комбинировать тройные узоры в один запрос, конечно. И что вы хотите сказать лучше? – AKSW
Как их объединить? и лучше я имею в виду более оптимизированный способ –
В простейшем случае просто поместите оба тройных шаблона в один и тот же запрос, каждый заканчивается точкой '.' Вот и все. В вашем примере не так много места для оптимизации, поскольку это слишком просто. Если вы хотите написать более компактные запросы SPARQL, вы можете взглянуть на синтаксис TURTLE, который в основном состоит в том, как вы можете писать тройные шаблоны в SPARQL. – AKSW