У меня есть некоторый успех от a previous question, но получение результатов для других языков DBpedia не удается для некоторых (но не для всех) записей.SPARQL не возвращает сову: sameAs свойства, которые существуют в DBpedia
Например,
SELECT * WHERE {
VALUES ?label {"Acid Rain"@en "Chocolate"@en}
?en rdfs:label ?label .
optional { ?en owl:sameAs ?es . FILTER regex(str(?es), "es.dbpedia") }
filter not exists {?en a skos:Concept}
}
возвращает
{ "head": { "link": [], "vars": ["label", "en", "es"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "label": { "type": "literal", "xml:lang": "en", "value": "Chocolate" } , "en": { "type": "uri", "value": "http://dbpedia.org/resource/Chocolate" } , "es": { "type": "uri", "value": "http://es.dbpedia.org/resource/Chocolate" }},
{ "label": { "type": "literal", "xml:lang": "en", "value": "Acid Rain" } , "en": { "type": "uri", "value": "http://dbpedia.org/resource/Acid_Rain" }} ] } }
Обратите внимание на отсутствие испанских результатов "Acid Rain"
. Тем не менее, owl:sameAs
раздел http://dbpedia.org/page/Acid_rain явно имеет результаты для испанского языка, и начинается с http://es.dbpedia
.
Почему конечная точка DBpedia SPARQL не возвращает результаты owl:sameAs
, когда они четко указаны в DBpedia?
У меня есть ограниченный успех, используя '(owl: sameAs |^owl: sameAs) +'. Это определенно подтягивает испанский эквивалент для Acid_Rain. Однако, если я попытаюсь захватить сразу несколько языков - например, 'optional {? En (owl: sameAs |^owl: sameAs) +? Es. FILTER regex (str (? Es), "es.dbpedia")} необязательный {? En (owl: sameAs |^owl: sameAs) +? Pt. FILTER regex (str (? Pt), "pt.dbpedia")} '- Я получаю эту ошибку:' Virtuoso 37000 Error SP031: компилятор SPARQL: Variable '_ :: trans_subj_6_2' используется в подвыражениях запроса, но не присваивается ' – Justin
Тогда это ошибка в Virtuoso. Вы можете/должны открыть билет в своем репозитории Github или опубликовать его в своем списке рассылки, чтобы его можно было исправить. – AKSW
@AKSW, вы имеете в виду '(owl: sameAs |^owl: sameAs) +' предикат является ошибкой или отсутствием результатов для 'dbr: Acid_Rain' с использованием простой' owl: sameAs' является ошибкой? – Justin