What's New in RDF 1.1?

6,996 views

Published on

The RDF Working Group at W3C has been busy with an update to the RDF standards, and this work is now nearing its end. Here I summarise what's new, what's been controversial, and also give a very brief intro to the RDF data model.

Published in: Technology, Education
1 Comment
13 Likes
Statistics
Notes
No Downloads
Views
Total views
6,996
On SlideShare
0
From Embeds
0
Number of Embeds
77
Actions
Shares
0
Downloads
37
Comments
1
Likes
13
Embeds 0
No embeds

No notes for slide

What's New in RDF 1.1?

  1. 1. Richard Cyganiak — DERI Friday Talk, 26 July 2013 WHAT'S NEW IN RDF 1.1?
  2. 2. World Wide Web Consortium (W3C) • Standards body responsible for the Web • DERI is a member • What W3C can do for you: Member submissions – Community Groups – Work with experts, network, see how the sausage is made
  3. 3. Today • RDF — A quick overview • What's new in RDF 1.1? – JSON-LD • The controversies and stuff that didn't make it
  4. 4. RDF — A quick intro
  5. 5. Why RDF? • • • • A data model for the Web Can represent data from other data models Easy to integrate data from multiple sources Graphs, not tables or trees
  6. 6. How it works
  7. 7. How it works
  8. 8. How it works
  9. 9. How it works
  10. 10. How it works
  11. 11. Foundation for a family of standards • • • • • • • • SPARQL: Querying RDF data RDF Schema: Documenting the meaning of RDF data OWL: Formalizing the meaning of RDF data RDF/XML: Writing RDF data in XML RDFa: Embed RDF data in HTML R2RML: Mapping relational data to RDF GRDDL: Mapping XML data to RDF DC, Org, FOAF, SIOC, DCAT, VoID, …: Describe particular domains as RDF data
  12. 12. What's new in RDF 1.1?
  13. 13. RDF 1.1 • First update since 2004 • RDF-WG started in 2011, expected to end 2013 • Chartered to do: – Maintenance – Fixing some well-known issues – "Paving the cowpaths" • Nothing new in RDF Schema and RDF/XML
  14. 14. RDF datasets A.k.a Named Graphs, Quads
  15. 15. http://svn.foaf-project.org/foaftown/2009/layers/visuals/layercake2.jpg
  16. 16. RDF Datasets • Adopted from SPARQL — "Named Graphs" • Two data structures: – RDF graph – RDF dataset • Multiple RDF graphs, each named with a URI • A.k.a “quads” • Unnamed “default graph” – can be used for metadata • Applications: integration, provenance, versioning, …
  17. 17. Datatypes • xsd:duration, xsd:dayTimeDuration, xsd:yearMonthDuration • xsd:dateTimeStamp – Unlike xsd:dateTime, the time zone is not optional • rdf:langString – "Hello"@en now has a datatype • rdf:HTML – "E=mc<sup>2</sup>"^^rdf:HTML – Problem: No language tag! • rdf:XMLLiteral – No longer needs to be canonical XML • xsd:string – "xxx" and "xxx"^^xsd:string are now 100% the same thing
  18. 18. Syntaxes • Turtle – Now SPARQL compatible • TriG – Turtle with named graphs • N-Triples – WG Note • N-Quads – WG Note • JSON-LD
  19. 19. JSON-LD
  20. 20. { "id": "markus", "firstname": "Markus", "lastname": "Lanthaler", "homepage": "http://www.markus-lanthaler.com/" }
  21. 21. { "@context": { "firstname": "http://schema.org/givenName", "lastname": "http://schema.org/familyName", "homepage": "http://schema.org/url" }, "id": "markus", "firstname": "Markus", "lastname": "Lanthaler", "homepage": "http://www.markus-lanthaler.com/" }
  22. 22. { "@context": { "firstname": "http://schema.org/givenName", "lastname": "http://schema.org/familyName", "homepage": "http://schema.org/url" }, "@id": "/people/markus", "firstname": "Markus", "lastname": "Lanthaler", "homepage": "http://www.markus-lanthaler.com/" }
  23. 23. { "@context": { "firstname": "http://schema.org/givenName", "lastname": "http://schema.org/familyName", "homepage": "http://schema.org/url" }, "@id": "/people/markus", "firstname": "Markus", "lastname": "Lanthaler", "homepage": "http://www.markus-lanthaler.com/" }
  24. 24. { "@context": { "firstname": "http://schema.org/givenName", "lastname": "http://schema.org/familyName", "homepage": "http://schema.org/url" }, "@id": "/people/markus", "firstname": "Markus", "lastname": "Lanthaler", "homepage": { "@id": "http://www.markus-lanthaler.com/" } }
  25. 25. { "@context": { "firstname": "http://schema.org/givenName", "lastname": "http://schema.org/familyName", "homepage": {"@id": "http://schema.org/url", "@type": "@id" }, }, "@id": "/people/markus", "firstname": "Markus", "lastname": "Lanthaler", "homepage": "http://www.markus-lanthaler.com/" }
  26. 26. { "@context": { "firstname": "http://schema.org/givenName", "lastname": "http://schema.org/familyName", "homepage": {"@id": "http://schema.org/url", "@type": "@id" } }, "@id": "/people/markus", "@type": "http://schema.org/Person", "firstname": "Markus", "lastname": "Lanthaler", "homepage": "http://www.markus-lanthaler.com/" } Example from Markus Lanthaler, http://www.slideshare.net/lanthaler/building-next-generation-web-ap-is-with-jsonld-and-hydra
  27. 27. The controversies and stuff that didn't make it
  28. 28. Deprecating some of the bad stuff • • • • • Reification rdf:Alt, rdf:Bag, rdf:Seq RDF/XML  rdf:value For every bad feature, there is a vocal user who can't live without it
  29. 29. Literals as subjects • 1 math:lessThan 2 • "2013"^^xsd:gYear time:isBefore "2014"^^xsd:gYear • "Galway" ex:isTitleOf<http://dbpedia.org/resource/Galway> • Most specs and implementations could be easily adapted to allow this • Not worth it
  30. 30. Semantics of RDF datasets • What logical statements does an RDF dataset make? – How can we reason over them? • In a named graph, what is the relationship between the graph name URI and the RDF graph? – Same as? Is described by? Contains? • No solution fits all use cases. It's left unspecified. – No standard way to reason over RDF datasets
  31. 31. Nested and anonymous graphs • What about: "Bob said that Alice said XXX"? • Should we allow graphs as a new type of node in RDF triples? – URIs, literals, blank nodes, RDF graphs • Little implementation experience (but N3!) • Requires new DBs, different query language

×