SPARQL新手求助:查询Wikidata获取单词词源及音频等属性
从Wikidata提取单词词源及其他属性的SPARQL查询方案
你的原查询仅获取了词汇条目、词形和lemma,要提取词源、音频等属性,需要在查询中加入对应Wikidata属性的关联语句。以下是改进后的查询及说明:
基础改进查询(包含词源和音频)
SELECT DISTINCT ?lexicalEntry ?lemma ?word ?etymologyText ?pronunciationAudio WHERE { VALUES ?word {'exact'@en} ?lexicalEntry a ontolex:LexicalEntry ; dct:language wd:Q1860 ; wikibase:lemma ?lemma ; ontolex:lexicalForm ?form . ?form ontolex:representation ?word . # 提取词源文本(可选,避免过滤无词源的条目) OPTIONAL { ?lexicalEntry wdt:P5137 ?etymologyText } # 提取发音音频(可选) OPTIONAL { ?lexicalEntry wdt:P443 ?pronunciationAudio } }
关键属性说明
- 词源:使用
wdt:P5137(词源文本)直接获取结构化的词源描述;若需关联词源的原始词汇,可改用wdt:P138(词源),该属性指向其他词汇条目或概念实体。 - 音频:
wdt:P443(发音(音频))返回音频文件的URI,可直接访问播放。 - 词性:若需获取词性,可添加以下
OPTIONAL语句:OPTIONAL { ?lexicalEntry wdt:P5188 ?lexicalCategory ; rdfs:label ?categoryLabel FILTER(LANG(?categoryLabel) = "en") } - 定义:添加
OPTIONAL { ?lexicalEntry wdt:P1810 ?definition FILTER(LANG(?definition) = "en") }可获取单词的英文定义。
注意事项
- 使用
OPTIONAL包裹非必填属性,确保即使某些条目缺少词源或音频,仍能返回其他已有的数据。 - 所有Wikidata属性前缀
wdt:对应简化的属性路径,适合新手快速使用。
内容的提问来源于stack exchange,提问作者Omar Al-Howeiti
相关产品推荐
相关产品推荐

