假设我们将以下RDF代码输入到W3C RDF验证器( http://www.w3.org/RDF/Validator/ )。
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:uni="http://www.example.org/uni-ns#">
<rdf:Description rdf:about="949352">
<uni:name>Grigoris Antoniou</uni:name>
<uni:title>Professor</uni:title>
</rdf:Description>
</rdf:RDF>一旦我要求解析RDF代码,我就会发现在三元组中,RDF已经被验证器的自己的URI所取代。

三元组的主题不应该是http://www.w3.org/1999/02/22-rdf-syntax-ns#949352吗?
验证器为什么要这样做?
发布于 2014-11-12 10:38:46
attribute以IRI作为值。
您有949352作为值,它是相对的IRI。它将被解析为基本文档的IRI (在您的示例中是验证器)。
例如,您可以提供绝对IRI (示例1),或者指定xml:base (示例2)。
示例1:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:uni="http://www.example.org/uni-ns#">
<rdf:Description rdf:about="http://my-site.example.com/my-page/949352">
<uni:name>Grigoris Antoniou</uni:name>
<uni:title>Professor</uni:title>
</rdf:Description>
</rdf:RDF>示例2:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:uni="http://www.example.org/uni-ns#"
xml:base="http://my-site.example.com/my-page/">
<rdf:Description rdf:about="949352">
<uni:name>Grigoris Antoniou</uni:name>
<uni:title>Professor</uni:title>
</rdf:Description>
</rdf:RDF>https://stackoverflow.com/questions/26879502
复制相似问题