RDF/XML Syntax Specification errata

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

RDF/XML Syntax Specification errata

Jean-Luc Sanson

RDF/XML Syntax Specification (Revised)

W3C Recommendation 10 February 2004

This version:

http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/

 

The following text in section 7.2.34 Production rdf-id

An attribute <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#eventterm-attribute-string-value#eventterm-attribute-string-value">·string-value· matching any legal <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#ref-namespaces#ref-namespaces">[XML-NS] token NCName

Should be replaced by

An attribute string value matching URI Reference syntax for fragment identifier

 

Reason : rdf:ID is a URI fragment identifier not an NCName (it should not be confused with xs:ID that is an NCName)

As stated in various parts of RDF specifications rdf:ID is a URI fragment identifier

RDF Primer *

(3.2) Using rdf:ID specifies a fragment identifier, given by the value

of rdf:ID attribute (RDF Primer).

 

RDF Syntax Specification *

(2.14) RDF/XML allows further abbreviating RDF URI references in XML attributes in two ways.

The XML Infoset provides a base URI attribute | xml:base | that sets

the base URI for resolving relative RDF URI references otherwise the base URI is that of the document.

The base URI applies to all RDF/XML attributes that deal with RDF URI references

which are | rdf:about | , | rdf:resource | , | rdf:ID | and | rdf:datatype | ..

The | rdf:ID | attribute on a node element (not property element, that

has another meaning) can be used instead of | rdf:about | and gives a

relative RDF URI reference equivalent to | # | concatenated with the | rdf:ID | attribute value.

 

Rdf:ID is used to abbreviate an URI

So if I have this RDF Schema (that is validated by w3c  rdf validator or other like SemanticsWork)

 <?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdfs:class rdf:about="http://www.iec/UnitSymbol#J/s">

<rdfs:label>J/s</rdfs:label>

<rdfs:comment>test for URI Refrence and rdf:ID</rdfs:comment>

</rdfs:class>

<rdfs:class rdf:about="http://www.iec/UnitSymbol#MJ%2Fs">

<rdfs:label>MJ/s</rdfs:label>

<rdfs:comment>test for URI Refrence and rdf:ID</rdfs:comment>

</rdfs:class>

</rdf:RDF>

I could abbreviate it as (and this is not validated because rdf:ID is validated against an NCName)

<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://www.iec/UnitSymbol">

<rdfs:class rdf:ID="J/s">

<rdfs:label>J/s</rdfs:label>

<rdfs:comment>test for URI Refrence and rdf:ID</rdfs:comment>

</rdfs:class>

<rdfs:class rdf:ID="MJ%2Fs">

<rdfs:label>MJ/s</rdfs:label>

<rdfs:comment>test for URI Refrence and rdf:ID</rdfs:comment>

</rdfs:class>

</rdf:RDF>

 

Jean-Luc Sanson

ITG Consultants