Difference between revisions of "TF-RDF-XML"

From RDF Working Group Wiki
Jump to: navigation, search
(Change 3: signature resolve(e, s))
(Task Force "RDF-XML")
Line 22: Line 22:
 
'''status:''' done.
 
'''status:''' done.
  
[http://www.w3.org/2001/sw/RDFCore/errata#missing-parent-accessor initial errata]
+
[http://www.w3.org/2001/sw/RDFCore/errata#missing-parent-accessor initial erratum]
  
 
Section 6.3.3 Grammar Action Notation of the RDF/XML Syntax Specification defines the resolve action with the <code>signature resolve(e, s)</code>, i.e. taking two arguments, and yet we find the following:
 
Section 6.3.3 Grammar Action Notation of the RDF/XML Syntax Specification defines the resolve action with the <code>signature resolve(e, s)</code>, i.e. taking two arguments, and yet we find the following:
Line 34: Line 34:
 
while both should read:
 
while both should read:
 
  <nowiki>u:=uri(identifier:=resolve(e, a.string-value))</nowiki>
 
  <nowiki>u:=uri(identifier:=resolve(e, a.string-value))</nowiki>
 +
 +
== Change 4: missing parent accessor ==
 +
'''status:''' done.
 +
 +
[http://www.w3.org/2001/sw/RDFCore/errata#incorrect-resolve initial erratum]
 +
Section 6 of the RDF/XML Syntax Specification (Revised) says that the parent property of the element information item in the XML Infoset is required, but section 6.1.2 Element Event does not create a parent accessor for that event.
 +
Element events therefore do not have a parent accessor, and yet a parent accessor on element events is made use of in a number or sections. See the error submission for further details.
 +
 +
== Change 5: datatyped empty literals ==
 +
'''status:''' open.
 +
 +
[http://www.w3.org/2001/sw/RDFCore/errata#datatyped-empty-literals inital erratum] with [http://lists.w3.org/Archives/Public/www-rdf-comments/2005AprJun/0000.html email 1] and [http://lists.w3.org/Archives/Public/www-rdf-comments/2005AprJun/0003.html email 2]
 +
 +
Serialization of datatyped empty literals is not anticipated by the RDF/XML grammar.
 +
This is believed by several developers and former WG-members to be an omission in the grammar defined by the RDF/XML Syntax Specification: a bug was reported (and acknowledged by the editor), relating to the use of an rdf:datatype attribute on empty RDF properties. See the archived mailing list thread for technical details. In addition to the question of the RDF/XML grammar's syntactic completeness, note that this issue identifies a construct that occurs within RDF graphs that cannot be serialized in the RDF/XML syntax.
 +
 +
'''proposal:'''
 +
<nowiki>
 +
Current section "7.2.16 Production literalPropertyElt" says
 +
start-element(URI == propertyElementURIs ), attributes == set(idAttr?, datatypeAttr?))
 +
text()
 +
end-element()
 +
Note that the empty literal case is defined in production emptyPropertyElt.
 +
(...)
 +
 +
Current section "7.2.21 Production emptyPropertyElt" says
 +
start-element(URI == propertyElementURIs ),
 +
    attributes == set(idAttr?, ( resourceAttr | nodeIdAttr )?, propertyAttr*))
 +
end-element()
 +
(...)
 +
 +
with section "7.2.7 Production propertyAttributeURIs" specifying and
 +
anyURI - ( coreSyntaxTerms | rdf:Description | rdf:li | oldTerms )
 +
(...)
 +
 +
with section "7.2.2 Production coreSyntaxTerms" including datatypes:
 +
rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype
 +
(...)
 +
 +
 +
My understanding here is that we could change section 7.2.21 this way:
 +
 +
7.2.21 Production emptyPropertyElt
 +
start-element(URI == propertyElementURIs ),
 +
    attributes == set(idAttr?, ( resourceAttr | nodeIdAttr | datatypeAttr)?, propertyAttr*))
 +
end-element()
 +
</nowiki>

Revision as of 10:59, 30 October 2012

Task Force "RDF-XML"

List of the changes considered for the RDF 1.1 XML Syntax Specification.

Changes include the Errata for RDF Syntax

Change 1: typo "tiple"

status:done.

initial erratum

Syntax typo “tiple” in 7.2.11 Production nodeElement: "and the following tiple is added to the graph"

Change 2: hard coded reference to XML and Unicode versions

status: done.

initial erratum

Hard coded reference to XML 1.0 and to Unicode 3.0 are unduly restrictive. Both reference should be exchanged against a normative reference to the generically latest versions of both standards.

Change 3: signature resolve(e, s)

status: done.

initial erratum

Section 6.3.3 Grammar Action Notation of the RDF/XML Syntax Specification defines the resolve action with the signature resolve(e, s), i.e. taking two arguments, and yet we find the following:

in 7.2.11 Production nodeElement

u:=uri(identifier:=resolve(a.string-value))

in 7.2.21 Production emptyPropertyElt

u:=uri(identifier:=resolve(a.string-value))

while both should read:

u:=uri(identifier:=resolve(e, a.string-value))

Change 4: missing parent accessor

status: done.

initial erratum Section 6 of the RDF/XML Syntax Specification (Revised) says that the parent property of the element information item in the XML Infoset is required, but section 6.1.2 Element Event does not create a parent accessor for that event. Element events therefore do not have a parent accessor, and yet a parent accessor on element events is made use of in a number or sections. See the error submission for further details.

Change 5: datatyped empty literals

status: open.

inital erratum with email 1 and email 2

Serialization of datatyped empty literals is not anticipated by the RDF/XML grammar. This is believed by several developers and former WG-members to be an omission in the grammar defined by the RDF/XML Syntax Specification: a bug was reported (and acknowledged by the editor), relating to the use of an rdf:datatype attribute on empty RDF properties. See the archived mailing list thread for technical details. In addition to the question of the RDF/XML grammar's syntactic completeness, note that this issue identifies a construct that occurs within RDF graphs that cannot be serialized in the RDF/XML syntax.

proposal:

Current section "7.2.16 Production literalPropertyElt" says
start-element(URI == propertyElementURIs ), attributes == set(idAttr?, datatypeAttr?))
text()
end-element()
Note that the empty literal case is defined in production emptyPropertyElt.
(...)

Current section "7.2.21 Production emptyPropertyElt" says
start-element(URI == propertyElementURIs ),
    attributes == set(idAttr?, ( resourceAttr | nodeIdAttr )?, propertyAttr*))
end-element()
(...)

with section "7.2.7 Production propertyAttributeURIs" specifying and
anyURI - ( coreSyntaxTerms | rdf:Description | rdf:li | oldTerms )
(...)

with section "7.2.2 Production coreSyntaxTerms" including datatypes:
rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype
(...)


My understanding here is that we could change section 7.2.21 this way:

7.2.21 Production emptyPropertyElt
start-element(URI == propertyElementURIs ),
    attributes == set(idAttr?, ( resourceAttr | nodeIdAttr | datatypeAttr)?, propertyAttr*))
end-element()