SPARQL更新:语言标记中不允许下划线
我正在尝试使用blazegraph工作台的“更新”选项卡将数据插入blazegraph。下面是一个示例代码段: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
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]+)*但不考虑所有细节。子标记分隔符为“-
”。语言标记中不允许使用“”