WG RDF X Oh, hey, I didn’t Can we just change Who’s the spec so I can Everything can see you guys all that? implement it? be a resource Graphs can’t be labile the way over there and I’m not either Users Web Framework Coders Coders RESTifarians Logicians Mathematicians Thanks and apologies to xkcd
s laimer Disc
Progress •Turtle, First Public Working Draft, 2011-08-09 •RDF 1.1 Concepts and Abstract Syntax, First Public Working Draft, 2011-08-30 •XSD 1.1 usage •Lots of lessons learned regarding use cases, concerns and expectations.
Challenges •Graphs •Charter: “Standardize a model and semantics for multiple graphs and graphs stores” •This is the most contentious portion of our work because it has the potential to radically change RDF, which we are not chartered to do.
Graphs •A “Graph Container” is a container, like a mutable “set” data structure in programming. It holds some RDF triples. •An “RDF Graph” is an idealized snapshot of a Graph Container; it's a mathematical set of RDF triples. •A “Graph Serialization” is a particular sequence of characters or bytes which conveys a particular RDF Graph in a language (e.g. Turtle or JSON-LD).
Blank Nodes •Many RDF users avoid using blank nodes. In some circles, this is considered to be a best practice. •Some issues raised by the use of blank nodes are how they may be followed (e.g. in SPARQL result sets) or referenced (e.g. within the same RDF document). •Optionally Skolemize blank nodes when desired.
Blank Nodes • In situations where bNode identification is needed, systems may systematically transform some or all of the blank nodes in an RDF graph into new, globally unique IRIs (Skolem IRIs). • For example, the authority responsible for the domain example.com could mint the following recognizable Skolem IRI: http://example.com/.well-known/genid/ d26a2d0e98334696f4ad70a677abc1f6 • Makes bNodes useful in the same way that auto_increment columns in SQL are.
New Datatypes • Added new RDF-compatible XSD 1.1 datatypes: • xsd:duration • xsd:dayTimeDuration • xsd:yearMonthDuration • xsd:dateTimeStamp
String Literals •All literals are typed. “Typed literal” becomes redundant. •“foo” becomes syntactic sugar for “foo”^^xsd:string. • Systems SHOULD silently convert xsd:string data to plain literals on output. • The RDF WG is recommending to the SPARQL WG and other SemWeb WG’s that they do the same. • Literals with a language tag now have the datatype IRI rdf:langString.
rdf:HTML •rdf:HTML literals will be introduced. •The lexical space consists of the set of Unicode strings. •The value space consists of a set of DOM4 DocumentFragment nodes. •Two DocumentFragment nodes A and B are considered equal if and only if the DOM4 method A.isEqualNode(B) returns true.
New RDF Serializations •Turtle: •Changed very little. •Turtle / SPARQL syntax harmonisation •N-Triples: •Orginally defined only for RDF test cases, n-triples will be standardized primarily for use as a bulk loading syntax. •JSON-LD (probably)
(Minor) Changes to Turtle •ISSUE-1: Turtle / SPARQL harmonization •‘.’s and ‘:’ in names in all positions of a local name apart from the first or last, e.g. ex:first.name / ns:foo:bar •Escape characters in prefixed names, e.g. ex:resource\/thing123 / ex:thing123\#this •Digits in the first character of local names, e.g. ex:7tm
(Minor) Changes to Turtle •Floats require a decimal after the ‘.’, e.g. ex:subject ex:hasValue “18.0” . (so you no longer need a space before the trailing ‘.’) •Adopted case-sensitive constants for xsd:boolean true and false.
N-triples •Now UTF-8 •Shifted to IRIs, not RDF URI References •Media type: application/rdf-triples •Tied closely to the Turtle grammar
JSON-LD •JSON-LD developed away from the RDF WG, now back (see http://json-ld.org) •JSON-LD is a language capable of serializing any RDF graph, and performing full RDF to JSON-LD to RDF round-tripping. •Working Draft stage, but more mature than most (e.g. implementations exist) •Concerns: (Perceived lack of WG JS knowledge)
The RDF Working Group is: Jean-François Baget Fabien Gandon Nathan Rixham Thomas Baker Charles Greer Guus Schreiber Adrien Basse Alex Hall Andy Seaborne Scott Bauer Steve Harris Manu Sporny Aidan Boran Michael Hausenblas Thomas Steiner Dan Brickley Sandro Hawke Mouhamadou Thiam Matteo Brunati Patrick Hayes Ted Thibodeau Gaoussou Camara Ivan Herman Thomas Visel Gavin Carothers Nicholas Humfrey William Waites Jeremy Carroll Kingsley Idehen Jan Wielemaker Pierre-Antoine Champin Arnaud Le Hors David Wood Kiu Ching Dickson Lukose Zhe Wu Olivier Corby Ivan Mikhailov Mohamed Zergaoui Richard Cyganiak Peter Patel-Schneider Antoine Zimmermann Souripriya Das Eric Prud'hommeaux Lee Feigenbaum Yves Raimond
David Wood Updating RDF co-chair, W3C RDF Working Group June 2012