使用SPARQL和Babelnet翻译名词

时间:2017-08-17 00:17:40

标签: sparql

以下查询将单词翻译成某种语言:

SELECT DISTINCT ?translation WHERE {
    ?entries a lemon:LexicalEntry .
    ?entries rdfs:label "apple"@en .
    ?entries lemon:sense ?sense .
    ?sense lexinfo:translation ?translation .
    filter contains(str(?translation),"HI")
}

但是我怎样才能检索翻译的标签,据我所知,这是一个LexicalSense

1 个答案:

答案 0 :(得分:3)

向上和向下的方式是一样的(正如赫拉克利特所说的那样):

SELECT DISTINCT ?label WHERE {

?original_entry rdfs:label "apple"@en .
    ?original_entry lemon:sense ?original_sense .
        ?original_sense
        lexinfo:translation
        ?translated_sense .
    ?translated_entry lemon:sense ?translated_sense . 
?translated_entry rdfs:label ?label .

FILTER (lang(?label) = "hi") 
}

Try it!

This page描述了数据模型并提供了一些示例查询。