Похоже, что все, что вы ищете, это все тройки формы [dbpedia: Cat? P? O], где? O - буквальный. Вы можете получить те, у которых есть запрос SPARQL CONSTRUCT, на public DBpedia endpoint и запросить результаты в RDF/JSON.
construct where {
dbpedia:Cat ?p ?o
filter isLiteral(?o)
}
SPARQL results
Построить запросы являются частью стандарта SPARQL, и описаны в 16.2 CONSTRUCT. Если вы с помощью sparql-client for Python (нет языка тегов по этому вопросу, хотя, так что нет никаких оснований предполагать, что общий читатель будет), обратите внимание, что its documentation говорит:
sparql-client библиотека запросов SPARQL, что выполняет SELECT и ASK запросов к конечной точке SPARQL через HTTP.
Поскольку этот конкретный клиент не поддерживает запросы CONSTRUCT, вам нужно использовать запрос SELECT. Вы можете использовать:
select ?p ?o {
dbpedia:Cat ?p ?o
filter isLiteral(?o)
}
SPARQL results
В результате JSON не совсем такой же формы, но она по-прежнему довольно регулярно, и вы будете в состоянии обработать его без особых проблем:
{ "head": { "link": [], "vars": ["p", "o"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/abstract" } , "o": { "type": "literal", "xml:lang": "nl", "value": "De kat of huiskat (Felis catus) is een van de oudste huisdieren van de mens. De gedomesticeerde kat behoort tot de familie der katachtigen (Felidae). De oude soortnaam was Felis domesticus, tegenwoordig is deze vervangen door Felis catus. Eind 2009 waren in Nederland ongeveer 3,6 miljoen katten aanwezig." }},
…
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/conservationStatus" } , "o": { "type": "literal", "xml:lang": "en", "value": "DOM" }},
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/synonym" } , "o": { "type": "literal", "xml:lang": "en", "value": "Felis catus domestica (invalid junior synonym)" }},
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/synonym" } , "o": { "type": "literal", "xml:lang": "en", "value": "Felis silvestris catus (subjective synonym)" }},
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/wikiPageID" } , "o": { "type": "typed-literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "6678" }},
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/wikiPageRevisionID" } , "o": { "type": "typed-literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "547667240" }},
{ "p": { "type": "uri", "value": "http://www.w3.org/2000/01/rdf-schema#label" } , "o": { "type": "literal", "xml:lang": "zh", "value": "\u732B" }},
{ "p": { "type": "uri", "value": "http://www.w3.org/2000/01/rdf-schema#label" } , "o": { "type": "literal", "xml:lang": "de", "value": "Hauskatze" }},
…
Как ни странно, я получаю «sparql.SparqlException», когда я пытаюсь выполнить ваш запрос с Python [sparql client] (https://pypi.python.org/pypi/sparql-client/). Является ли команда «construct» нестандартной Sparql? – Cerin
@Cerin CONSTRUCT является стандартным, но ваш клиент не поддерживает весь стандарт. Я обновил свой ответ. Вы действительно должны рассмотреть вопрос о добавлении тега [tag: python] к вопросу, если вам нужны решения для определенного языка. –