- From: Robert Scanlon <rscanlon@revelytix.com>
- Date: Sun, 27 Mar 2011 19:29:53 -0500
- To: public-rdf-dawg-comments@w3.org
- Message-ID: <AANLkTimVXpc3_jeJi4gHyqyognSmRWs04fJ9qDJGW1d4@mail.gmail.com>
Hi, Our company is implementing a SPARQL federator. We are planning on using the Service Description<http://www.w3.org/TR/2010/WD-sparql11-service-description-20101014/>specification to describe all services, including the services exposed 'out the top' by our federator ('federation services'), and the external services that are federated together by any given federation service ('federated services'). The latter are the services that can be referenced by the SERVICE clause in a SPARQL query. There's a few issues we've found with respect to a service's name (IRI): - It appears to us that the Service Description spec assumes all services are 'directly accessible', that is, that they all have a URL (the 'url' property). Federated services will not (necessarily) be directly accessible by URL. - In addition, it does not seem like the spec accommodates describing services that are the references of the SERVICE clause in SPARQL, such as federated services. Per the federation spec<http://www.w3.org/TR/2010/WD-sparql11-federated-query-20100601/#defn_service>, the SERVICE graph pattern contains an IRI which is the 'service name', not a URL; though it is not stated explicitly, one might infer from the description of GRAPH graph pattern IRIs (in the query spec) that the service IRI is meant to be 'interpreted by the query service' (in this case, our federator) to resolve the service (that is, it's not a directly-resolvable URL). - Lastly, the implication that a service is identified by URL (as opposed to IRI) seems to tightly couple a service to a particular URL. This does not allow for 'relocating' a (logically named) service, such as moving it to a new machine, or migrating it through a development-testing-production staging process, both typical of operations performed in enterprise environments. We would like to suggest that the spec be modified to allow the 'sd:name' property to be optionally used with Services (domain sd:Service, range IRI, cardinality 0..1, or maybe mandatory?). This would uniquely identify a service (similar to and consistent with graph naming/identification); would define exactly the IRI required for the SERVICE graph pattern in federated queries; and would decouple the service's identity from its served-up location (URL). In addition, the sd:url property should be optional (it's not clear in the spec what its cardinality is), so that for federated services it could be excluded. Thanks, Bob Scanlon Revelytix <http://www.revelytix.com/>
Received on Monday, 28 March 2011 00:30:26 UTC