Я пытаюсь запросить свойство skos:broader
для категории DBPedia «Заболевания_ротовой_полости, слюнные_ железы_и_ челюсти». Эта категория доступна по следующему URI: http://dbpedia.org/resource/Category:Diseases_of_oral_cavity,_salivary_glands_and_jaws
Следующий запрос обеспечивает желаемый результат:
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?broaderCategory
WHERE {
<http://dbpedia.org/resource/Category:Diseases_of_oral_cavity,_salivary_glands_and_jaws> skos:broader ?broaderCategory
}
Требуется запросить свойство skos:broader
для нескольких категорий с помощью кода Python и оболочки Sparql. Я пытаюсь сделать код более читабельным, определяя PREFIX
для всех URI категорий DBPedia и используя его в предложении WHERE
следующим образом:
PREFIX dbpcat: <http://dbpedia.org/resource/Category:>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?broaderCategory
WHERE {
dbpcat:Diseases_of_oral_cavity,_salivary_glands_and_jaws skos:broader ?broaderCategory
}
Второй запрос возвращает синтаксическую ошибку в "," в названии категории. Замена запятой на escape-последовательности (hex-unicode и html) не помогла. И использование строкового литерала (dbc:"[category]"
и dbc:'''[category]'''
) тоже неверный синтаксис.
Как в этом случае обращаться с запятой?