验证rdf时出现致命错误

时间:2015-04-17 21:41:26

标签: web rdf semantic-web rdfs cardinality

我将下面显示的代码放在rdf vaildator中 http://www.w3.org/RDF/Validator/ 得到了一个(FatalError:实体" xsd"被引用,但未被声明)我不知道为什么我得到了这个。

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:owl ="http://www.w3.org/2002/07/owl#">

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
</owl:Restriction>
</rdf:RDF>

1 个答案:

答案 0 :(得分:2)

  

[我得到了](FatalError:实体&#34; xsd&#34;被引用,但未被声明)我不知道为什么我得到了这个。

在这一行:

<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>

出现实体&xsd;。但是,它没有被定义。您可以将&xsd;替换为http://www.w3.org/2001/XMLSchema#来解决此问题。例如,

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:owl ="http://www.w3.org/2002/07/owl#">

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">2</owl:cardinality>
</owl:Restriction>
</rdf:RDF>

也就是说,看起来你复制了一个OWL本体的片段。本体可能在原点有实体声明。请注意,您现在拥有的内容不再是合法的OWL本体,因为它没有hasParent的属性声明,也许因为没有定义基本IRI。不过,它仍然是合法的RDF。