37
Characteristics of a Characteristics of a RESTful Semantic Web & RESTful Semantic Web & Why They Are Important Why They Are Important Chimezie Ogbuji The latest version of this presentation is here: http://gonzaga.ogbuji.net/~cogbuji/RestfulSemanticWeb.(odp|ppt|pdf)

The Characteristics of a RESTful Semantic Web and Why They Are Important

Embed Size (px)

DESCRIPTION

Overview of some of the motivation and background behind the current draft of the SPARQL 1.1 Uniform HTTP Protocol for Managing RDF Graphs

Citation preview

Page 1: The Characteristics of a RESTful Semantic Web and Why They Are Important

Characteristics of a Characteristics of a RESTful Semantic Web & RESTful Semantic Web & Why They Are ImportantWhy They Are Important

Chimezie Ogbuji

The latest version of this presentation is here:http://gonzaga.ogbuji.net/~cogbuji/RestfulSemanticWeb.(odp|ppt|pdf)

Page 2: The Characteristics of a RESTful Semantic Web and Why They Are Important

Introduction

I work in the Cleveland Clinic Heart and Vascular Institute as an Architect and Developer

Member representative and Editor in W3C Data Access Working Group (DAWG)

Page 3: The Characteristics of a RESTful Semantic Web and Why They Are Important

The Semantic Web

The Semantic Web (SW) is an extension of the Architecture of the World-wide Web (AWWW)• Web content is given well-defined

meaning

• Knowledge representation provides meaning

Page 4: The Characteristics of a RESTful Semantic Web and Why They Are Important
Page 5: The Characteristics of a RESTful Semantic Web and Why They Are Important

SW & AWWW Interoperability

SW should retain properties of the AWWW• Web agents should be able to

seamlessly interact with both

• The assumptions web agents make about the AWWW should hold in the SW

• Should be able to have our 'layer cake' and eat it too!

Page 6: The Characteristics of a RESTful Semantic Web and Why They Are Important

Current W3C DAWG Effort

Relevant specifications• SPARQL 1.1/Query• SPARQL 1.1/Update

• SPARQL 1.1/Protocol

• SPARQL 1.1/Service Descriptions• SPARQL 1.1/Uniform HTTP

Protocol for Managing RDF Graphs

Discussing the latter

Page 7: The Characteristics of a RESTful Semantic Web and Why They Are Important

SPARQL 1.1 Update

A language for updates to an RDF store• Insert triples into an RDF graph• Delete triples from an RDF graph

• Perform group of update actions

• Create new RDF graph within store• Delete an RDF graph from the store

Both large and small granularity

Page 8: The Characteristics of a RESTful Semantic Web and Why They Are Important

Motivation

Update operations should not be bound to an API or programming language

Similar query languages include update mechanisms (SQL)

A language extension is needed• However, an HTTP-based (RESTful)

alternative is needed as well

Page 9: The Characteristics of a RESTful Semantic Web and Why They Are Important

A RESTful Update ProtocolA RESTful Update Protocol

What does it mean to be RESTful?• Adhering to best practices for

distributed hypermedia• Often misunderstood or overstated

What is Hypermedia:• Human-authored media that

'branch or perform' in response to user actions

Page 10: The Characteristics of a RESTful Semantic Web and Why They Are Important

Primer on REST

Representation State Transfer• A coordinated set of architectural

constraints (an architectural style)

• Properties induced by Web architecture

• Abstraction of architectural elements within a distributed hypermedia system

Page 11: The Characteristics of a RESTful Semantic Web and Why They Are Important

URLs and URIs

URI (Uniform Resource Identifier)• A locator, a name, or both

URL (Uniform Resource Locator)• Subset of URIs that provide a

means of locating the resource via an access mechanism

Page 12: The Characteristics of a RESTful Semantic Web and Why They Are Important

REST Data Elements

Key data elements:• Resource identifier (URL, URN,etc.)• Resource (conceptual target of a

reference)

• Representation (RDF document)• Representation metadata (Internet

Media Type)

• Control data (if-modified-since, POST: purpose of message)

Page 13: The Characteristics of a RESTful Semantic Web and Why They Are Important

Credit: I. Jacobs and N. Walsh (2004)

Page 14: The Characteristics of a RESTful Semantic Web and Why They Are Important

Component Interactions

Components act on resources via representations

REST interactions are stateless

REST interactions are similar to synchronous function calls• Input: control data, identifier, and

representation

• Output: control data, resource metadata, and representation

Page 15: The Characteristics of a RESTful Semantic Web and Why They Are Important

W3C TAG and AWWW

Information Resource (documents)• “[...] all of their essential

characteristics can be conveyed in a message”

Tag Issue httpRange-14:• What kind of things do HTTP URIs

refer to? Depends on response to HTTP GET

Page 16: The Characteristics of a RESTful Semantic Web and Why They Are Important
Page 17: The Characteristics of a RESTful Semantic Web and Why They Are Important

Exceptions to this Paradigm

Some pegs don't fit this hole • There are URIs that are not

resolvable (strictly names):• tag:[email protected]:2009/Ngozi

• There are HTTP URIs that are not resolvable (404 Not Found):• http://weather.example.com/oaxaca

Can such URIs identify information resources?

Page 18: The Characteristics of a RESTful Semantic Web and Why They Are Important

SPARQL Dataset SPARQL Dataset

RDF Dataset (collection of graphs)• One graph (the default graph)

without a name• Zero or more named graphs that are

identified with a (graph) URI

Relationship between a named graph and its URI is indirect• This is a source of confusion

Page 19: The Characteristics of a RESTful Semantic Web and Why They Are Important
Page 20: The Characteristics of a RESTful Semantic Web and Why They Are Important

Datasets, REST, and AWWW

httpRange-14 and RDF datasets• What kind of things do graph URIs

refer to?

• If it is an HTTP URI, does it also depend on the response to HTTP GET?

Page 21: The Characteristics of a RESTful Semantic Web and Why They Are Important

A Graph URI Conjecture

httpRange-14 might be a moot point with RDF datasets• All of the essential characteristics

of an RDF graph can be conveyed in a message (as an RDF document)

• So, graph URIs identify (RDF) Information Resources• “RDF knowledge”

Page 22: The Characteristics of a RESTful Semantic Web and Why They Are Important
Page 23: The Characteristics of a RESTful Semantic Web and Why They Are Important

RDF Graph Denotation

What is the relationship between the graph and what the URI identifies?• RDF model theory tells us the

meaning of an RDF graph

• Allows us to interpret an RDF graph in a reproducible, principled way

Page 24: The Characteristics of a RESTful Semantic Web and Why They Are Important

Graph URI Conjecture (cont.)

For a named graph in a dataset: • Graph URI identifies the meaning

of the graph

• Meaning can be serialized into an RDF document (over a protocol)

• RDF graph parsed from this document can be interpreted to provide the meaning (possibly with the aid of an ontology)

Page 25: The Characteristics of a RESTful Semantic Web and Why They Are Important
Page 26: The Characteristics of a RESTful Semantic Web and Why They Are Important

Straightforward REST Model

If we assume graph URIs are resolvable HTTP URIs:• REST components can interact

with (named) graphs in a dataset intuitively via their URIs

• They can retrieve a representation of the meaning of a graph in the dataset

Page 27: The Characteristics of a RESTful Semantic Web and Why They Are Important

Straightforward Model (cont.)

• REST components can update the meaning of a graph by sending representations to the graph URIs

• They can create new named graphs by sending a representation to a URI

Page 28: The Characteristics of a RESTful Semantic Web and Why They Are Important

Large Grain Protocol

Compared to SPARQL Update• Facilitates manipulation at a

strictly large granularity

• RDF graphs are the atomic components of the RESTful update protocol

• For smaller grain, more precise manipulation, there is SPARQL Update language

Page 29: The Characteristics of a RESTful Semantic Web and Why They Are Important

REST and RDF Syntax

REST provides an extensible framework for the syntax of representations• REST components can request

representations in a format of their choice (NTriples, RDF/XML, custom XML, etc.)

• They can update RDF graphs via representations of their choice

Page 30: The Characteristics of a RESTful Semantic Web and Why They Are Important

Exceptions to the Rule

What about graphs whose URIs are strictly names (and not locations)?• Their URIs are not HTTP URIs• Their HTTP URIs are not resolvable

• The naming authority (DNS) for the URI is different from the server managing the dataset

Page 31: The Characteristics of a RESTful Semantic Web and Why They Are Important

URI Components

Page 32: The Characteristics of a RESTful Semantic Web and Why They Are Important

Embedding URIs

Such URIs can be embedded (nested) in the query component of a resolvable, parent HTTP URI• A REST component interacts with

the parent URI

• Requests to the parent URI are understood to be directed at a graph associated with the embedded URI

Page 33: The Characteristics of a RESTful Semantic Web and Why They Are Important

Embedded URI Request

Page 34: The Characteristics of a RESTful Semantic Web and Why They Are Important

Managing the Exceptions

Provides a way to manage graphs whose URIs are names but not locations• REST components interact with

composite URIs (locations)

• A URI (a name) is embedded in the location

Page 35: The Characteristics of a RESTful Semantic Web and Why They Are Important

Outstanding Questions

What does a graph URI in an RDF dataset identify?• Proposed it identifies the meaning

of its associated graph

• Does the response from interacting with a graph HTTP URI determine this authoritatively?

• Does this matter?

Page 36: The Characteristics of a RESTful Semantic Web and Why They Are Important

Outstanding Questions (cont.)

Coordinating the protocols• How do web agents discover the

various 'services'?

• Can they do so in an unambiguous way?

• Can they intuitively determine which to use and at what level of granularity?

Page 37: The Characteristics of a RESTful Semantic Web and Why They Are Important

The Semantic Web

Answers to these questions are key to the future landscape of the Semantic Web