W3C

– DRAFT –
RDF & SPARQL WG (informal discussion)

07 May 2026

Attendees

Present
AndyS, doerthe, gtw, j22, lisp, niklasl, pfps, TallTed, tl, tpt
Regrets
ktk, ora
Chair
j22
Scribe
AndyS, j22

Meeting minutes

j22: an RDF 1.2 parser can produce different triples to an RDF 1.2 parser.

w3c/rdf-xml#86

<gb> Issue 86 Evolving 1.2 triple term features : rdf:parseType, rdf:annotation (by afs) [ms:CR]

<j22> w3c/rdf-xml#86

AndyS: Write-up of the different issues to be addressed

j22: If the top element has rdf:version or its:version, then its a parse error

https://www.w3.org/TR/rdf12-xml/#RDF

which says "attributes == set())"

j22: fail fast if rdf:version on rdf:RDF

gtw: Does anyone know of arbitrary of rdf:parseType="xxxx" in the wild?

<j22> AndyS: suggest a standard used for buildings in europe.

<niklasl> https://www.w3.org/2009/07/NamedGraph.html proposed rdf:parseType="GraphLiteral"

<niklasl> (don't know if anyone ever used that though)

niklasl: rdflib accepts (and ignores) attributes on rdf:RDF

AndyS: Jena raises an error.

niklasl: and rdf:annotation would be property attributes i.e. triples.

<niklasl> Within RDF/XML documents it is not permitted to use XML namespaces whose namespace name is the RDF namespace IRI concatenated with additional characters.

niklasl: also a way is (I do not advocate it)

<niklasl> https://www.w3.org/TR/rdf12-xml/#section-Namespace

AndyS: If RDF/XML is not streamable, then we can require rdf:version on the top element. But may be impactful.

tpt: My current feeling is that optional rdf:version is the way to go.

j22: Also the its:version, its:dir

tpt: maybe use the rdf: namespace

<niklasl> <rdf:Description rdf:value="X"/>

<j22> nodeElement =

<j22> element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType |

<j22> rdf:resource | rdf:nodeID | rdf:datatype | rdf:li |

<j22> rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID ) {

<j22> (idAttr | nodeIdAttr | aboutAttr )?, xmllang?, xmlbase?, propertyAttr*, propertyEltList

<j22> }

<niklasl> <rdf:Description rdf:annotation="X"/>

https://www.w3.org/TR/its20/

AndyS: its is a spec that changes all XML parsing, even if RDF/XML is embedded in a different document.

rdfs: comment "Idiomatic property used for structured values." ;

<niklasl> <rdf:Description>

<niklasl> <ex:something rdf:annotation="xyz">X</ex:something>

<niklasl> </rdf:Description>

<niklasl> <ex:something rdf:annotation="xyz">

<niklasl> <rdf:Description rdf:value="abc"/>

<niklasl> </ex:something>

AndyS: rdflib and Jena produce an error on property attribute + inline text for the value

AndyS: option of last resort is no RDF/XML 1.2

James: talking about protocol tests. new rdf1.2

gtw: new tests in new rdf 1.2 directory, old tests stay where they are

StrawPoll: +d(ont care) +1 0 -1

<TallTed> 0 is usually don't care

require rdf:version (ideally on root element) -- option 2 - assume control fo rdf nnamepace and// require rdf:version (ideally on root element) -- option 2 - assume control of rdf namespace and define as new words , version optional. -- option 3 don't care

option 2

option 2

<lisp> 3

<Tpt> option 2

<gtw> 3

<tl> +1 to option 2

<TallTed> 3 (I don't have a strong enough grasp of these details)

<niklasl> option 2, noting that I'm slightly worried about annotations being used on triples with empty string values (or langstrings), no rdf:version would interpret the data differently even in compliant RDF/XML parsers

j22: ITS may be supported by at the XML level.

its yes or no strawpoll (-1 no) +1 yes

<j22> +1

<AndyS> +1

<Tpt> +1

<niklasl> +1

zakim: end meeting

rrsagent: draft minutes

Minutes manually created (not a transcript), formatted by scribe.perl version 248 (Mon Oct 27 20:04:16 2025 UTC).

Diagnostics

Succeeded: s/streamble/streamable/

Succeeded: s|<rdf:Description rdf:attribution="X"/>||

Succeeded: s|s!RDF/XMl!RDF/XML!||

Succeeded: s|RDF/XMl is not|RDF/XML is not|

Succeeded: s/attirbute/attribute/

Succeeded: i/its is a spec that changes/scribe+ j22

Succeeded: s/rdflib and Jena produce/AndyS: rdflib and Jena produce/

Succeeded: s/Jena raises an error/AndyS: Jena raises an error/

Succeeded: s/fo rdf/of rdf/

Succeeded: s|option 1- strict / require rdf:version (ideally on root element) -- option 2 - assume control fo rdf nnamepace and||

Succeeded 2 times: s/rrsagent: draft minutes//g

Warning: ‘s/option 1- strict / require rdf:version (ideally on root element) -- option 2 - assume control fo rdf nnamepace and//’ interpreted as replacing ‘option 1- strict ’ by ‘ require rdf:version (ideally on root element) -- option 2 - assume control fo rdf nnamepace and/’

Succeeded: s/option 1- strict / require rdf:version (ideally on root element) -- option 2 - assume control fo rdf nnamepace and//

Maybe present: James, rdfs, rrsagent, StrawPoll, zakim

All speakers: AndyS, gtw, j22, James, niklasl, rdfs, rrsagent, StrawPoll, tpt, zakim

Active on IRC: AndyS, gtw, j22, lisp, niklasl, pfps, TallTed, tl, Tpt