SPARQLing SERVICES Leigh Dodds Engineering Manager, Ingenta XTech, May 2006.

Slides:



Advertisements
Similar presentations
What Is Microsoft Marketplace DataMarket What Is Microsoft Marketplace DataMarket? Michael Stiefel
Advertisements

Connecting Social Content Services using FOAF, RDF and REST Leigh Dodds, Engineering Manager, Ingenta Amsterdam, May 2005.
XPointer and HTTP Range A possible design for a scalable and extensible RDF Data Access protocol. Bryan Thompson Presented to the RDF Data Access.
XPointer and HTTP Range A possible design for a scalable and extensible RDF Data Access protocol. Bryan Thompson draft Presented to the RDF.
Building FHIR Servers on Existing Applications
Proposed update of Technical Guidance for INSPIRE Download services based on SOS Matthes Rieke, Dr. Albert Remke (m.rieke, 52°North.
XML: Styling and Transformation Dr Andy Evans. Multiple views Nice thing is that this data can be styled in lots of different ways using stylesheets.
Web Services Seminar: Service Description Languages
ESDSWG2011 – Semantic Web session Semantic Web Sub-group Session ESDSWG 2011 Meeting – Semantic Web sub-group session Wednesday, November 2, 2011 Norfolk,
Semantic Web Introduction
 Copyright 2004 Digital Enterprise Research Institute. All rights reserved. SPARQL Query Language for RDF presented by Cristina Feier.
CSCI 572 Project Presentation Mohsen Taheriyan Semantic Search on FOAF profiles.
A division of Publishing Technology Facet Building Web Pages With SPARQL SWIG-UK Event, HP Labs November 23 rd 2007 Leigh Dodds Chief Technology Officer,
Peoplesoft: Building and Consuming Web Services
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
TP2653 Adv Web Programming SOAP and WSDL. SOAP Simple Object Access Protocol – Lightweight XML-based messaging protocol – A protocol for accessing a Web.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Publishing data on the Web (with.
SPARQL All slides are adapted from the W3C Recommendation SPARQL Query Language for RDF Web link:
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
The Semantic Web Web Science Systems Development Spring 2015.
Chapter 3 Querying RDF stores with SPARQL. Why an RDF Query Language? Why not use an XML query language? XML at a lower level of abstraction than RDF.
AIXM Users’ Conference, March Implementing AIXM in Instrument Flight Procedures Automation Presenter: Iain Hammond MacDonald, Dettwiler &
1 SPARQL A. Emrah Sanön. 2 RDF RDF is quite committed to Semantic Web. Data model Serialization by means of XML Formal semantics Still something is missing!
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
05/01/2016 SPARQL SPARQL Protocol and RDF Query Language S. Garlatti.
Web Services Martin Nečaský, Ph.D. Faculty of Mathematics and Physics Charles University in Prague, Czech Republic Summer 2014.
Martin Kruliš by Martin Kruliš (v1.1)1.
Steven Perry Dave Vieglais. W a s a b i Web Applications for the Semantic Architecture of Biodiversity Informatics Overview WASABI is a framework for.
RSS Syndication CS 431 – Carl Lagoze – Cornell University.
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
The AstroGrid-D Information Service Stellaris A central grid component to store, manage and transform metadata - and connect to the VO!
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
SysML v2 Model Interoperability & Standard API Requirements Axel Reichwein Consultant, Koneksys December 10, 2015.
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
National College of Science & Information Technology.
Slug: A Semantic Web Crawler Leigh Dodds Engineering Manager, Ingenta Jena User Conference May 2006.
Web Development. Agenda Web History Network Architecture Types of Server The languages of the web Protocols API 2.
The Client-Server Model
Enabling Secure Internet Access with TMG
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
ALTO Protocol draft-ietf-alto-protocol-14
AJAX and REST.
Unit – 5 JAVA Web Services
SPARQL SPARQL Protocol and RDF Query Language
Middleware independent Information Service
CASE STUDY -HTML,URLs,HTTP
XML in Web Technologies
Representational State Transfer
WEB API.
Analyzing and Securing Social Networks
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
$, $$, $$$ API testing Edition
JavaScript & jQuery AJAX.
Updates on the XSLT stylesheets for DDI
LOD reference architecture
Introduction to World Wide Web
RDF David R Newman 15 July 2009.
Rational Publishing Engine RQM Multi Level Report Tutorial
CSE591: Data Mining by H. Liu
XML and its applications: 4. Processing XML using PHP
and perspectives for AIXM
CREE: HEIRPORT lite Welcome screen:
WCF Data Services and Silverlight
.NET Framework V3.5+ & RESTful web services
Chapter 9: Configuring Internet Explorer
Presentation transcript:

SPARQLing SERVICES Leigh Dodds Engineering Manager, Ingenta XTech, May 2006

The Three Things ● That Web 2.0 Needs a Query Language – And SPARQL fits very nicely ● How to Implement the SPARQL Protocol – And some useful extensions ● Implementation Issues – And other Things to Consider ●...plus show a few demos

API Design Pressures ● Pressure for Uniformity – Reduce Learning Curves – Eliminate Switching Costs ● Managing the Surface Area – New features; services; data – Impacts on existing users ● Performance Optimisation – Usage monitoring; adapting storage models – Issues of granularity

How a Query Language Helps ● Skills Transfer ● Substitutability ● “Micro protocols” – Clients construct their own APIs – “Surface Area” remains constant ● Increased Granularity – Potentially fewer requests for same results – Optimise for data not resource usage?

SPARQL in a Nutshell ● W3C Data Access Working Group ● RDF Query Language – No updates ● Three Specifications – Query, Results Format, Protocol – All Candidate Recommendations ● Four Query Types – ASK, SELECT, CONSTRUCT, DESCRIBE – Targeted at different use cases

Example SPARQL Query PREFIX foaf: SELECT ?name ?weblog FROM WHERE { ?x foaf:name ?name. ?x foaf:weblog ?weblog. }

The SPARQL Results Format ● XML Format for Query Results – For SELECT and ASK queries ● Used to transmit results across the Web ● Very Simple and Regular Format – 10 elements in a single namespace ● Easy to process – E.g. with XSLT and other XML tools

That Query Again PREFIX foaf: SELECT ?name ?weblog FROM WHERE { ?x foaf:name ?name. ?x foaf:weblog ?weblog. }

The SPARQL Results Format <sparql xmlns="

The SPARQL Results Format <sparql xmlns="

The SPARQL Results Format <sparql xmlns="

The SPARQL Results Format <sparql xmlns=" Libby Miller results...

The SPARQL Protocol ● How to ship a query and results across the web – HTTP and SOAP Bindings ● Very Simple Protocol – 1 Required Parameter (the query) – GET or POST ● HTTP Status Codes for Errors – Malformed Queries (400 Bad Request) – Server Errors/Refusals (500 Server Error) ● Allows Content-Negotiation

Example Protocol Request GET /sparql ?query =PREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns. com... &default-graph-uri=

Data Set Ambiguities ● 3 ways to specify data set in protocol – Query, Request, or a default ● Disambiguation Rules ● Order of Precedence 1.Protocol 2.Query 3.Processor ● Processor can always refuse a request – Either because no data set, or its unacceptable

Types of SPARQL Service ● Spectrum of Service Types ● Fixed Data Set – Fixed set of available data sources – GovTrack.us, Opera Community ● Arbitrary Data Set – Query over any arbitrary data source(s) – SPARQL.org; Rasqal Demonstrator – XML ArmyKnife

GovTrack

XML Army Knife

Protocol Extension: Query by Ref ● query-uri – Indicate query to run via URI ● Allows easier sharing of queries ● Simplifies protocol requests – Reduces need for POST – Enables caching ● Useful level of indirection – Dynamically generated queries – Parameterised (e.g. Default values)

Protocol Extension: XSLT ● xslt-uri – XSLT post-processing of Query Results ● Expose non-protocol parameters to XSLT engine – Allows for parameterised stylesheets ● Configurable mime-type for response – – and/or use a request parameter

Querying RSS 1.0 Feeds PREFIX dc: PREFIX rss: SELECT ?rsstitle ?rsslink FROM WHERE { ?rsslink a rss:item ; rss:title ?rsstitle ; dc:date ?date. } ORDER BY DESC(?date) LIMIT 10

<sparql xmlns=" geobloggers:"Network Link"... results...

<sparql xmlns=" geobloggers:"Network Link"... results...

geobloggers: "Network Link"...

Querying Geographical Data PREFIX dc: PREFIX geo: PREFIX rss: SELECT ?title ?description ?lat ?long WHERE { ?point a geo:SpatialThing ; dc:title ?title ; rss:link ?description ; geo:lat ?lat ; geo:long ?long. }

History_Museum Natural History Museum ,

Querying Geographical Data #2 PREFIX myfn: PREFIX dc: PREFIX geo: PREFIX rss: SELECT ?title ?description ?lat ?long WHERE { ?point a geo:SpatialThing ; dc:title ?title ; rss:link ?description ; geo:lat ?lat ; geo:long ?long. FILTER (myfn:Distance2(?lat, ?long, " ", " ") < 2) }

Protocol Extension: JSON ● JSON format for SPARQL Results – Re-expression of XML format as JSON ● Not formal standard, but DAWG produced – Based on several existing implementations ● Already well supported – ARQ, Redland, ARC (SPARQL for PHP)

{ "head": { "vars": [ "img", "title", "description" ] }, "results": { "distinct": false, "ordered": false, "bindings": [ { "img": { "type": "uri", "value": " }, "title": { "type": "literal", "value": "Leigh Dodds" }, "description": { "type": "literal", "value": "British; biology graduate..." } ] }

Implementation Issues ● What Kind of Service? – FDS, ADS, or somewhere in-between? ● Mapping Data to RDF – D2R, Squirrel RDF, Jena Property Tables, etc. – XSLT transformation from existing data ● Privacy – Exposing personal data

Implementation Issues ● Security – Abuse detection (e.g. Rate limiting; Usage tracking) – DOS Attacks ● Query Performance – Placing LIMITs on results – Restricting processing times ● Caching – For Fetched Resources

The Three Things (again) ● That Web 2.0 Needs a Query Language – And SPARQL fits very nicely ● How to Implement the SPARQL Protocol – And some useful extensions ● Implementation Issues – And other Things to Consider...

Questions? Tag: xtech-06-sparqling-services

Attributions