簡體   English   中英

使用語言標簽的 Notation3 規則

[英]Notation3 rules using language tags

我有用 Turtle/Notation3 語法表達的事實,這些語法使用語言標簽來本地化字符串,例如

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ex: <http://www.example.org/#>.

ex:A rdfs:label "example"@en;
   rdfs:label "beispiel"@de.

是否可能?如果可能,如何定義特定於給定語言標簽的規則?

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ex: <http://www.example.org/#>.

{
  ?s rdfs:label ?v@en. # a mechanism is needed here to select for 'en' lang tag
}
=>
{
  ?s a ex:EnglishLabeledThing.
}.

謝謝你的幫助;)

我嘗試了上述語法的各種變體,訪問 langString 或 LocalizableString 的屬性,但沒有找到解決方案。 此外,我在 N3 規格中找不到任何解釋。 我正在使用 EYE v2.3.0。

為了將來參考,我想出了一個使用 func ( http://www.w3.org/2007/rif-builtin-function# ) 的解決方案:

prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ex: <http://www.example.org/#>.
@prefix func: <http://www.w3.org/2007/rif-builtin-function#>.

{
  ?s rdfs:label ?v.
  (?v) func:lang-from-PlainLiteral ?l.
  (?l "en") func:compare 0.
}
=>
{
  ?s a ex:EnglishLabeledThing.
}.

結果為ex:A a ex:EnglishLabeledThing. 正如預期的那樣,但是我也遇到了pred:matches-language-range ,它可能更適合這里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM