首页 > 解决方案 > 如何解决错误:{E201} RDF 中属性元素的多个子元素而不丢失分隔?

问题描述

我正在学习如何创建 RDF,这是我的 3 种咖啡

<?xml version="1.0"?>

<rdf:RDF
xmlns:ex = "http://example.org/" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
>
    <rdf:Description rdf:about="ex:CoffeeShop">
        <ex:serves>
            <rdf:Description rdf:about="ex:Coffee">
              <ex:name>Brazilian Espresso</ex:name>
              <ex:usesTechnique>Espresso</ex:usesTechnique>
              <ex:isMadeOf>Brazilian Coffee Beans</ex:isMadeOf>
              <ex:roastingLevel>8</ex:roastingLevel>
            </rdf:Description>
            <rdf:Description rdf:about="ex:Coffee">
              <ex:name>Special Arabica</ex:name>
              <ex:usesTechnique>french pressed</ex:usesTechnique>
              <ex:isMadeOf>Arabica Beans</ex:isMadeOf>
              <ex:roastingLevel>6</ex:roastingLevel>
            </rdf:Description>
            <rdf:Description rdf:about="ex:Coffee">
              <ex:name>Colombian Latte</ex:name>
              <ex:served>non-steamed milk</ex:served>
              <ex:isMadeOf>Colombian Cocoa Beans</ex:isMadeOf>
              <ex:roastingLevel>9</ex:roastingLevel>
            </rdf:Description>
        </ex:serves>
    </rdf:Description>
</rdf:RDF>

但是当我对照 RDF W3C 验证器检查它时,我得到了这个错误。

Error: {E201} Multiple children of property element[Line = 16, Column = 52]
Error: {E201} Multiple children of property element[Line = 22, Column = 52]

但是如果我删除了我将失去分离,如何在不失去分离的情况下解决这些错误?

标签: rdfrdfs

解决方案


一种可能性,无需引入额外的 rdfs 依赖项

<rdf:RDF
xmlns:ex = "http://example.org/" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
>
  <rdf:Description rdf:about="CoffeeShop">
    <ex:coffee_type rdf:parseType="Collection">
            <rdf:Description rdf:about="ex:Coffee1">
              <ex:name>Brazilian Espresso</ex:name>
              <ex:usesTechnique>Espresso</ex:usesTechnique>
              <ex:isMadeOf>Brazilian Coffee Beans</ex:isMadeOf>
              <ex:roastingLevel>8</ex:roastingLevel>
            </rdf:Description>
            <rdf:Description rdf:about="ex:Coffee2">
              <ex:name>Special Arabica</ex:name>
              <ex:usesTechnique>french pressed</ex:usesTechnique>
              <ex:isMadeOf>Arabica Beans</ex:isMadeOf>
              <ex:roastingLevel>6</ex:roastingLevel>
            </rdf:Description>
            <rdf:Description rdf:about="ex:Coffee3">
              <ex:name>Colombian Latte</ex:name>
              <ex:served>non-steamed milk</ex:served>
              <ex:isMadeOf>Colombian Cocoa Beans</ex:isMadeOf>
              <ex:roastingLevel>9</ex:roastingLevel>
            </rdf:Description>
    </ex:coffee_type>
  </rdf:Description>
</rdf:RDF>  

我从这里获取了语法提示,搜索RDF Collections


推荐阅读