何时以及为何使用ns0pred?

时间:2009-01-06 09:27:59

标签: rdf

问候,

当我开始使用RDF时,我来到了ns0pred。 我假设ns表示没有主题,pred意味着谓词。不确定零,然后是错误的布尔值。

<rdf:Description rdf:about="http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest">
<ns0pred:label xmlns:ns0pred="http://www.w3.org/2000/01/rdf-schema#">MyTest</ns0pred:label>
</rdf:Description>

有一个例子。

如果我说的话,如果没有可用的前缀(例如基本名称),请使用ns0pred前缀吗?

在进一步研究我的RDF数据之前,我应该知道ns0pred是否有任何缺点?

亲切的问候, 里斯

2 个答案:

答案 0 :(得分:2)

我对RDF一无所知,但看起来ns0pred实际上意味着'名称空间0',在xml中你可以定义你想要的任何命名空间,在你上面的例子中你可以编写

<rdf:Description rdf:about="http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest">
    <myPrefix:label xmlns:myPrefix="http://www.w3.org/2000/01/rdf-schema#">MyTest</myPrefix:label>
</rdf:Description>

标记中的xmlns:属性定义“xml名称空间”,并提供与以ns0pred开头的任何标记对应的模式定义。

您经常会在生成的xml文件中找到名称空间被赋予看似随机的名称,但这只是为了防止在使用多个名称空间和模式的情况下发生冲突。

答案 1 :(得分:1)

您的假设不正确,ns0pred只是您正在使用的任何RDF库的自动生成的命名空间前缀。在您给出的示例中,它是RDFS模式的前缀,因此所讨论的属性实际上是rdfs:label,只是使用了不同的前缀(ns0pred)而不是常见的“rdfs”。

一般来说,前缀没有任何语义含义,它们只是为了使RDF / XML内容更具可读性,在这种情况下失败,因为它给你错误的印象。

此外,在您的示例中,还有一个主题:http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest

剪掉RDF会生成一个包含三个三元组的图表:

<http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest> <http://www.w3.org/2000/01/rdf-schema#label> "MyTest".