为什么我在尝试在FOAF上使用关系时出错?

时间:2011-05-06 13:49:19

标签: xml rdf semantic-web foaf

我正在尝试验证W3C RDF上的foaf代码,并且从下面的块中导致问题。在这里,我试图展示兰迪和阿迪尔之间的关系,请告诉我为什么我不能在这里使用“rel”标签或为什么它会导致问题?

<foaf:knows>
        <foaf:Person>

        <foaf:name>Randy</foaf:name>

        <foaf:mbox_sha1sum>0525a7bfaf263d404e751bb12b89e4acc1ce68a7</foaf:mbox_sha1sum>
        <rdfs:workplaceHomepage rdf:resource="randy.html" />
    <rel:friendOf rdf:resource="adil.html"/>        
  </foaf:Person>
    </foaf:knows>

错误:

FatalError: The prefix "rel" for element "rel:friendOf" is not bound.[Line = 39, Column = 46]

2 个答案:

答案 0 :(得分:3)

您需要以与必须在RDF / XML文档顶部指定rel相同的方式声明命名空间foaf

这个例子适合你...

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/"
         xmlns:rel="http://some.namespace.for.rel.com/ns/"
         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
         >
 <foaf:Person>
   <foaf:name>Peter Parker</foaf:name>
   <foaf:mbox rdf:resource="mailto:peter.parker@dailybugle.com"/>
    <foaf:knows>
        <foaf:Person>
        <foaf:name>Randy</foaf:name>
        <foaf:mbox_sha1sum>0525a7bfaf263d404e751bb12b89e4acc1ce68a7</foaf:mbox_sha1sum>
        <rdfs:workplaceHomepage rdf:resource="randy.html" />
    <rel:friendOf rdf:resource="adil.html"/>        
      </foaf:Person>
    </foaf:knows>
 </foaf:Person>
</rdf:RDF>

无论如何,你对rdfs:workplaceHomepage的使用是错误的,你应该使用foaf:workplaceHomepage而且rel:friendOf没有多大意义。您也可以在这里使用foaf:knows

答案 1 :(得分:3)

您应该将FOAF内容包装在声明相应名称空间的RDF元素中:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:foaf="http://xmlns.com/foaf/0.1/"
     xmlns:rel="http://www.perceive.net/schemas/relationship/">