如何在 SPARQL 中设置变量的语言?

问题描述 投票:0回答:1

我知道如何设置文字的语言:

"foo"@en

但是

?foo@en
(这不起作用)呢?

上下文:我想将一堆设置为

en-gb
的标签复制到
en
中,以便它们更好地与我正在使用的知识管理工具配合使用。所以像这样:

INSERT {
   ?subject skos:prefLabel ?object@en
} 

WHERE {
  ?subject skos:prefLabel ?object .
  FILTER (lang(?object) = "en-gb")
} 
sparql rdf iso-639
1个回答
1
投票

str
允许您获取语言标记文字的词汇形式,
STRLANG
允许您指定文字的语言标签。

CONSTRUCT { 
  ?subject skos:prefLabel ?label_en .
}

WHERE { 

  ?subject skos:prefLabel ?label_enGB . 
  FILTER (lang(?label_enGB) = "en-gb") .

  BIND( STRLANG(str(?label_enGB), "en") AS ?label_en ) .

}

示例:

  1. ?label_enGB
    "foo"@en-gb
  2. str(?label_enGB)
    "foo"
  3. STRLANG(str(?label_enGB), "en")
    "foo"@en
© www.soinside.com 2019 - 2024. All rights reserved.