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

Preview:

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

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)

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)

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

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!

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

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

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

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

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

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

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)

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

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

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

Exceptions to this Paradigm

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

resolvable (strictly names):• tag:chimezie@ogbuji.net:2009/Ngozi

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

Can such URIs identify information resources?

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

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?

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”

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

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)

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

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

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

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

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

URI Components

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

Embedded URI Request

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

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?

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?

The Semantic Web

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

Recommended