涉及汉字的 SPARQL 查询

SPARQL Query Involving Chinese Characters

我是 运行 以下查询,以获取 this public 端点上的英语单词 "father" 的翻译:

PREFIX dbnary: <http://kaiko.getalp.org/dbnary#>
select distinct ?l ?written where
{
dbnary-eng:father dbnary:describes ?le .
?t dbnary:isTranslationOf ?le .
?t dbnary:targetLanguage ?l .
?t dbnary:writtenForm ?written .
}

在返回的字符串中,我还可以找到中文翻译“爸爸”。 当我尝试反向查询时,我没有收到任何中文单词的结果(它适用于其他语言):

PREFIX dbnary: <http://kaiko.getalp.org/dbnary#>
select distinct ?c where
{
?c dbnary:describes ?le .
?t dbnary:isTranslationOf ?le .
?t dbnary:targetLanguage ?l .
?t dbnary:writtenForm "爸爸" .
}

我做错了什么?

正如 Stanislav Kralin 正确指出的那样,查询不起作用的原因是缺少语言注释。正确的查询公式如下:

PREFIX dbnary: <http://kaiko.getalp.org/dbnary#>
select distinct ?c where
{
   ?c dbnary:describes ?le .
   ?t dbnary:isTranslationOf ?le .
   ?t dbnary:targetLanguage ?l .
   {?t dbnary:writtenForm "爸爸"@yue .}
   UNION {?t dbnary:writtenForm "爸爸"@cmn .}
}