Почему я получаю сообщение об ошибке при попытке использовать связь на FOAF? - PullRequest
4 голосов
/ 06 мая 2011

Я пытаюсь проверить код foaf на W3C RDF , и из следующего блока это вызывает проблему.Здесь я пытаюсь показать связь между Рэнди и Адилом, пожалуйста, уточните мне, почему я не могу использовать тег "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 ]

3 голосов
/ 06 мая 2011

Вы должны обернуть содержимое 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/">
3 голосов
/ 06 мая 2011

Вам необходимо объявить пространство имен rel так же, как вы указали foaf в верхней части документа RDF / XML.

Этот пример должен работать для вас ...

<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 здесь.

...