有可能有一个带有两个空前缀的Turtle文件吗?
想象一下,我们有一个带有此前缀声明的.ttl
文件:
@prefix : <http://www.example.com/example#> .
@prefix ex2: <http://www.ex2.com/ex2#> .
@prefix ex3: <http://www.ex3.com/ex3#> .
@prefix : <http://www.empty.com/empty#> .
...
所有空前缀将在何处解析:http://www.example.com/example#
或http://www.empty.com/empty#
?
答案 0 :(得分:3)
specification将其定义为映射Map[prefix -> IRI]
所以,不,你不能有两个相同的前缀(包括空前缀)。
答案 1 :(得分:2)
您可以在一个文件中包含多个定义,但一次只能在一个范围内。
例如:
@prefix : <http://example.com/one#> .
:s :p :o .
@prefix : <http://example.com/two#> .
:s :p :o .
会导致两个三元组,因为文件是按顺序解析的,因此在遇到三重定义的点处的前缀映射决定了它的解析方式。
虽然这是完全有效的输入,但您很难找到允许您将其作为输出生成的库。实际上,最好避免在文件过程中重新定义前缀,因为它会降低文件的人类可读性,并降低在文件中剪切和粘贴内容的能力。