31
WHAT'S NEW IN RDF 1.1? Richard Cyganiak — DERI Friday Talk, 26 July 2013

What's New in RDF 1.1?

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: What's New in RDF 1.1?

WHAT'S NEW IN RDF 1.1?Richard Cyganiak — DERI Friday Talk, 26 July 2013

Page 2: What's New in RDF 1.1?

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

Page 3: What's New in RDF 1.1?

Today

• RDF — A quick overview• What's new in RDF 1.1?– JSON-LD

• The controversies and stuff that didn't make it

Page 4: What's New in RDF 1.1?

RDF — A quick intro

Page 5: What's New in RDF 1.1?

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

Page 6: What's New in RDF 1.1?

How it works

Page 7: What's New in RDF 1.1?

How it works

Page 8: What's New in RDF 1.1?

How it works

Page 9: What's New in RDF 1.1?

How it works

Page 10: What's New in RDF 1.1?

How it works

Page 11: What's New in RDF 1.1?

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

Page 12: What's New in RDF 1.1?

What's new in RDF 1.1?

Page 13: What's New in RDF 1.1?

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

Page 14: What's New in RDF 1.1?

RDF datasets

A.k.a Named Graphs, Quads

Page 15: What's New in RDF 1.1?

http://svn.foaf-project.org/foaftown/2009/layers/visuals/layercake2.jpg

Page 16: What's New in RDF 1.1?

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, …

Page 17: What's New in RDF 1.1?

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

Page 18: What's New in RDF 1.1?

Syntaxes

• Turtle– Now SPARQL compatible

• TriG– Turtle with named graphs

• N-Triples– WG Note

• N-Quads– WG Note

• JSON-LD

Page 19: What's New in RDF 1.1?

JSON-LD

Page 20: What's New in RDF 1.1?

{ "id": "markus", "firstname": "Markus", "lastname": "Lanthaler", "homepage": "http://www.markus-lanthaler.com/"}

Page 21: What's New in RDF 1.1?

{ "@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/"}

Page 22: What's New in RDF 1.1?

{ "@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/"}

Page 23: What's New in RDF 1.1?

{ "@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/"}

Page 24: What's New in RDF 1.1?

{ "@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/" }}

Page 25: What's New in RDF 1.1?

{ "@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/"}

Page 26: What's New in RDF 1.1?

{ "@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

Page 27: What's New in RDF 1.1?

The controversiesand stuff that didn't make it

Page 28: What's New in RDF 1.1?

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

Page 29: What's New in RDF 1.1?

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

Page 30: What's New in RDF 1.1?

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

Page 31: What's New in RDF 1.1?

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