a previous questionからいくつかの成功を収めていますが、一部の(ただしすべてではない)エントリでは他のDBpedia言語の結果を取得できません。例えばSPARQLが返さないowl: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"
スペイン結果が存在しません。しかし、http://dbpedia.org/page/Acid_rainのowl:sameAs
セクションには、スペイン語の結果が明確に表示されており、それはhttp://es.dbpedia
で始まります。
なぜDBpedia SPARQLエンドポイントは、DBpediaに明確にリストされている場合、owl:sameAs
結果を戻さないのですか?
私は '(owl:sameAs |^owl:sameAs)+'を使っていくつかの成功を収めました。それは間違いなくAcid_Rainのスペイン語の対応を引き上げます。しかし、複数の言語を同時に取得しようとすると、 'optional {?en(owl:sameAs |^owl:sameAs)+? FILTER regex(str(?es)、 "es.dbpedia")} optional {?en(owl:sameAs |^owl:sameAs)+?pt。 'のVirtuoso 37000エラーSP031:SPARQLコンパイラ:変数 '_ :: trans_subj_6_2は、' クエリの部分式に使用されるがassigned'されていない - FILTERの正規表現(?STR(PT)、 "pt.dbpedia")}'私はこのエラーを取得します – Justin
それはVirtuosoのバグです。 Githubリポジトリのチケットを開くか、またはメーリングリストに投稿して修正することができます。 – AKSW
@AKSWは、あなたが '意味ですか(フクロウ:sameAsのを| ^フクロウ:sameAsの):Acid_Rain'プレーン'フクロウを使って:+ '述語は、バグやDBR'の結果の欠如であるsameAs'はバグでしょうか? – Justin