Я использую следующий SPARQL запрос из PHP, где $title
одинакова для всех пяти запросов троек:Объединение одинаковых предметов в DBpedia SPARQL запроса
SELECT * WHERE {
{ <http://dbpedia.org/resource/$title> rdfs:label ?pageTitle . }
UNION
{ <http://dbpedia.org/resource/$title> owl:sameAs ?sameAs . }
UNION
{ <http://dbpedia.org/resource/$title> dbpedia-owl:abstract ?abstract . }
UNION
{ <http://dbpedia.org/resource/$title> dbpedia-owl:thumbnail ?thumbnail . }
UNION
{ <http://dbpedia.org/resource/$title> dbpedia-owl:wikiPageID ?wikiID . }
}
Есть ли способ, чтобы упростить это так, что $title
только указано один раз в запросе? Я думаю, что какой-то анонимный узел может быть задействован? возможно? :-)
Есть ли причина, вы хотите союза здесь, в частности? Похоже, что ваши результаты будут представлять собой таблицу с пятью столбцами (по одной для каждой переменной), но в каждой строке только один из этих столбцов будет иметь значение. Вы предпочли бы решение с двумя столбцами: одно, указывающее свойство, и одно, указывающее значение? –
@JoshuaTaylor Вы правы, в том, что с выходом HTML из http://dbpedia.org/sparql (с помощью веб-браузера) вы получаете то, что описываете, но выход JSON дает мне что-то менее бесполезное: o) Есть ли способ получить результат, как вы описываете, не делая эти вещи объединения (например, ответ от jimkont - который я сейчас хочу попробовать) –