Note: This document has no formal status whatever as an artifact of DAWG. It is placed here for historical interest only; questions or comments regarding this document should be directed to Kendall Clark, kendall@monkeyfist.com. DAWG has formaly postponed the serviceDescription issue:

whereas the serviceDescription designs aren't maturing in the timescale of the current schedule, and implementation experience is somewhat thin, RESOLVED to postpone serviceDescriptions

Thus, if you have new information — designs that are mostly baked or implementation experience to report — please report it to the DAWG comments list and it will be taken under advisement.

SPARQL Service Advertisement and Discovery Language (SADDLE)

Introduction

Namespace: http://www.w3.org/2005/03/saddle/#

The SPARQL protocol is intended to promote interoperability between RDF clients and servers, while minimizing the amount of out-of-band communication necessary. A standardized, well-understood means for servers to advertise their capabilities and configuration options, and for clients to discover and understand those capabilities and options, will limit out-of-band communications. In particular, a language for describing SPARQL services should require as little additional complexity for RDF clients and servers; hence the use of RDF for this language.

Description

@@TODO

Example

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix other: <http://example.org/foo#>
@prefix saddl: <http://www.w3.org/2005/03/saddle/#> .
@prefix sl: <http://www.w3.org/.../sparql>

_:serviceA
wsdl:endpoint <http://a.example/sparql/>;
wsdl:interface sl:SparqlQuery.

_:serviceB
wsdl:endpoint <http://b.example/sparql/>;
wsdl:interface other:SparqlQSR.

_:serviceC
wsdl:endpoint <http://b.example/sparql/>;
wsdl:interface other:SparqlQS.

_:aGeoSvc
sl:extensionFunctions geo:distance, algebra:rootOfQuadraticEquasion.

_:evolvingSvc
wsdl:endpoint <http://a.example/sparql/>;
saddle:queryLanguage [ saddle:spec <http://www.w3.org/TR/rdf-sparql-query/> ],
                     [ saddle:spec <http://www.w3.org/Submission/RDQL/> ]. # serql, etc.

#hence, we need a list of URIs identifying RDF query languages... Or a generative scheme for creating them

_:x
wsdl:endpoint <http://a.example/sparql/>;
saddle:resultFormat [ saddl:mediaType "application/sparql-results+xml";
                      saddl:spec <http://www.w3.org/TR/rdf-sparql-XMLres/> ],
                    [ saddle:mediaType "application/rdf+xml";
                      saddle:spec <http://www.w3.org/TR/rdf-syntax/> ].

_:mySvc
saddle:humanInterface <http://my.example/sparql.php>. # e.g. an XForm or HTML form

_:factBookService
saddle:dataSet <...fact-book-part-1.rdf>, <...fact-book-part-2.rdf>.

_:socialNetworkingService
# this service invites queries that use predicates and classes 
# that start with <...foaf/> (aka "in the foaf namespace")
saddle:vocabulary <...foaf/>.

# Add:
# saddle:supportsDatatypeOperation
# http://www.mindswap.org/dav/ontologies/bijan/2005/dawg/ formerly known as "closed over"