1. The document discusses characteristics of a RESTful Semantic Web and why they are important. It proposes that graph URIs in an RDF dataset identify the meaning of their associated graph.
2. It suggests a model where REST components can interact with named graphs intuitively via their URIs, retrieving and updating representations of the graphs' meanings.
3. It acknowledges some exceptions, like URIs that are names rather than locations, and proposes embedding such URIs in resolvable parent URIs to enable REST interaction.
1. Characteristics of a
RESTful Semantic Web &
Why They Are Important
Chimezie Ogbuji
The latest version of this presentation is here:
http://gonzaga.ogbuji.net/~cogbuji/RestfulSemanticWeb.(odp|ppt|pdf)
2. 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)
3. 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
4.
5. 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!
7. 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
8. 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
9. A 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
10. 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
11. 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
12. 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)
14. 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
15. 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
16.
17. 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?
18. 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
19.
20. 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?
21. 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”
22.
23. 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
24. 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)
25.
26. 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
27. 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
28. 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
29. 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
30. 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
32. 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
34. 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
35. 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?
36. 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?