RDF Syntaxes 2.0
This presentation is personal opinion.
I am not speaking on behalf of my employer.
The slides are presented via S5
State of existing RDF Syntaxes 1
Syntaxes with widespread use (and implementation)
- RDF / XML : Standardised in W3C Recommendation.
- N-Triples : Standardised in W3C Recommendation.
- RDFa : Standardised in W3C Recommendation.
- Turtle (or similar syntax implemented or N3) : W3C Team notes.
State of existing RDF Syntaxes 2
Syntaxes with some use:
- RDF / JSON : Talis Wiki page specification.
- RSS and Atom : multiple conflicting / overlapping specifications.
Syntaxes with low use:
- GRDDL : Standardised in W3C Recommendation
- RDF / PHP : Defined and implemented in ARC and others(?)
Recommendations on existing syntaxes
- RDF / XML : low risk to:
rdf:-namespaced elements and attributes such as for graph names, full property URIs
- Weakly Deprecate, but not remove, namespaced names.
- N-Triples : leave alone.
- RDFa : revise using experience with HTML5 world.
- Turtle : align with SPARQL's forked triple pattern syntax.
However if incompatibility is not a concern
- RDF / XML : remove
rdf:ID, property attributes and reification.
- N-Triples : allow Unicode characters.
- Turtle : maybe add named graphs.
BUT compatibility is a concern with standards.
So do not make incompatible changes lightly.
Recommendations on new syntaxes
- MUST be capable of representing entire RDF model without exceptions.
- Turtle : Polish, tidy and standardise as a W3C Recommendation
- Binary : Need has not been demonstrated and no de-facto standards. Do not standardise.
If need is shown, base it on Thrift or Protocol Buffers.
Recommendation on new XML Syntaxes
- Conjecture: You cannot write down a graph in a tree in an obvious, unambiguous, simple form.
( This point applies to JSON too )
- Evidence: Nobody has figured out a decent XML encoding of RDF graphs in over 10 years.
- Opinion: XML DOM view of an XML-encoding of a graph is not a natural fit.
- Counterpoint: Turtle seems to have worked. Different expectations?
Summary: do not do this.