2017-08-17 101 views
0

下面的查询翻译一个词一定语言名词:翻译使用SPARQL与Babelnet

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据标签我可以告诉

+0

您期望看到的标签是什么? – AKSW

+0

有了'?translation?p?o.'你可以看到唯一的“有用的”相关节点是通过':reference'属性的,也就是说,对于你获得http://babelnet.org/rdf/s00005054n的苹果 - 但是这里没有标签是附加的,并再次,你期望哪个标签? – AKSW

+1

那么Babelnet是多语言的百科词典?所以也许期望是可以输入“apple”并找回数据,例如 – Jay

回答

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描述了数据模型并提供了一些示例查询。