Académique Documents
Professionnel Documents
Culture Documents
{
"@odata.id": "serviceRoot/People('vincentcalabrese')"
}
SPARQL
A set of specifications that provide languages and protocols to query
and manipulate RDF graph content on the Web or in an RDF store
17
Service Description
Request:
GET /sparql/
Host: www.example.org
Response: An RDF description,
using the Service Description
vocabulary
Protocol for RDF
Request:
GET /sparql/?query=[SPARQL
Query]
Host: www.example.org
Response: A SPARQL Results
Document or RDF graph
Update Language
PREFIX foaf: <http://xmlns.com/foaf/0.1/> .
INSERT DATA { <http://www.example.org/alice#me>
foaf:knows [ foaf:name "Dorothy" ]. } ;
DELETE { ?person foaf:name ?mbox }
WHERE { <http://www.example.org/alice#me> foaf:knows
?person .
?person foaf:name ?name FILTER ( lang(?name) = "EN"
) .}
Examples taken from http://www.w3.org/TR/sparql11-overview/
Query Language
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name (COUNT(?friend) AS ?count)
WHERE {
?person foaf:name ?name .
?person foaf:knows ?friend .
} GROUP BY ?person ?name
Result (serialized in XML, JSON, CSV, TSV):
Graph Store HTTP Protocol
POST /rdf-
graphs/service?graph=http%3A%2F%2Fwww.example.org%2Falice
Host: example.org
Content-Type: text/turtle
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<http://www.example.org/alice#me> foaf:knows [ foaf:name "Dorothy" ] .
http://www.w3.org/TR/sparql11-overview/
Linked Data Platform
Describes the use of HTTP for accessing, updating, creating and
deleting resources from servers that expose data as Linked Data
Centered around LDPRs, LDPCs, membership, containment
Under development at W3C; working draft
18
http://www.w3.org/TR/ldp/
LDP-BC
Request: GET /c1/
Response payload:
Resource
Request: GET /netWorth/nw1
Response payload:
LDP-DC
Request: GET /netWorth/nw1/liabilities/
Response payload:
Examples taken from http://www.w3.org/TR/ldp/
LDP-DC
Request:
Data Access Summary
Web APIs
Very flexible, popular with Web developers, no specific commitment to data
models
OData
ER-based data model, abstract interface to datastores (focus on CRUD),
perceived as vendor-pushed (strong tool support)
SPARQL and LDP
Graph data model, community-pushed, some interesting features (querying,
federation, linking,)
Though there is overlapping between the various approaches, they all aim
to simplify access to distributed data sources for application developers
Which approach to choose depends on many factors, e.g. type of data, size,
relationships, infrastructure, skills to support, frequency of updates, end-use
scenarios,
19
Outline
The context: Open Data
Data access: Web APIs, OData, SPARQL/LDP
DaaS solutions landscape and open DaaS architecture
20
Data publication
Data access mechanisms simplify data consumption for application
developers
But data needs to be provisioned to applications according to the
chosen data access mechanism
And applications will always be dependent on the hosting for the data
they use
Data publishers and application developers need to rely on generic
Cloud platforms and build, deploy and maintain a complex Open
Data software and data stack from scratch
Complicated data provisioning and maintenance process
Data-as-a-Service (DaaS) solutions are emerging to address this issue
21
Like all members of the "as a Service" (XaaS) family, DaaS is based on the concept that the product,
data in this case, can be provided on demand to the user regardless of geographic or
organizational separation of provider and consumer.
Source: Wikipedia; https://en.wikipedia.org/wiki/DaaS
Relevant DaaS solutions
22
Windows Azure
Marketplace
Socrata DataMarket
Factual Junar
PublishMyData
DaPaaS
Windows Azure Marketplace
A marketplace for applications
and data (~170 datasets; ~700
applications)
Charging data consumers
Tools and APIs for data
publishing, analytics, metadata
management, account
management and pricing,
monitoring and billing, as well
as a data portal for dataset
exploration
Supports OData
23
https://datamarket.azure.com/
Source: Microsoft
http://go.microsoft.com/fwlink/?LinkID=201129&clcid=0x409
Socrata
Specific focus on Open Data
Open Data Portal: data publishing &
clean-up, metadata generation, data-
driven portals for data exploration and
portal management
API Foundry for creating and deploying
RESTful APIs on top of the data
Hosted data is accessible through the
Socrata Open Data API (SODA) a
RESTful interface for searching and
reading data in XML, JSON or RDF
24
http://www.socrata.com/
Source: Socrata
DataMarket
Provides statistical data from
almost 100 data providers
~ 71 000 datasets
Supports embeddable
visualisations of data, data
export, live feeds for data
updates, ability for data
publishers to monetize data via
the marketplace, custom data
driven portals for publishers,
data portal, Web API
25
http://datamarket.com/
Factual
Data for ~ 65 million local business and points
of interest in 50 countries; a product database
of over 650,000 products
Used to provide the option for hosting
thousands of 3rd party data sets (Community
Data