SPARQL更新:语言标记中不允许下划线

SPARQL更新:语言标记中不允许下划线,sparql,rdf,blazegraph,Sparql,Rdf,Blazegraph,我正在尝试使用blazegraph工作台的“更新”选项卡将数据插入blazegraph。下面是一个示例代码段: INSERT DATA { ns:MyNode ns:hasValue "MyValue"@en_us } 我正在用@symbol指定语言标记。但是,它会引发以下异常: org.openrdf.query.MalformedQueryException:第8行出现词法错误, 第49栏。遇到:“u”(117),在“u”之后 似乎它不允许下划线作为语言标记的一部分。如果只尝试使用“e

我正在尝试使用blazegraph工作台的“更新”选项卡将数据插入blazegraph。下面是一个示例代码段:

INSERT DATA
{
  ns:MyNode ns:hasValue "MyValue"@en_us
}
我正在用@symbol指定语言标记。但是,它会引发以下异常:

org.openrdf.query.MalformedQueryException:第8行出现词法错误, 第49栏。遇到:“u”(117),在“u”之后

似乎它不允许下划线作为语言标记的一部分。如果只尝试使用“en”,效果很好


为什么会这样?下划线在这里是一个特殊字符吗?如果是这样的话,如何避免这种情况?

语言标记的语法是由RFC定义的,现在在中进行了修订。语言标记的注册由IANA控制

子标签由“
-
”分隔;只有
A-Z,0-9
在子标签中是合法的

当RDF语法(N3、SPARQL、Turtle等)采用时,采用的语法模式是一种折衷语法,与RFC弱匹配<代码>'@'[a-zA-Z]+('-'[a-zA-Z0-9]+)*但不考虑所有细节。子标记分隔符为“
-
”。语言标记中不允许使用“