- From: NMP-MSW/Tampere <patrick.stickler@nokia.com>
- Date: Tue, 18 Nov 2003 11:04:52 +0200
- To: www-rdf-rules@w3.org
Reading through all the discussions arising from the proposed charter for an RDF Query WG, and considering the various approaches that exist to date to serve as input to such a process, I think it would be useful to keep the following distinctions in mind when defining one or more standardized RDF query protocols: The first distinction is between discovery versus submission. I.e. between pull versus push. The second distinction is between a resource centric focus and a broader, general, knowledge base focus. Thus, given these two distinctions, I see the degree of need (non proportionally) ordered as follows: Direction ----------------------------- | Pull | Push | ------------------------------------------ | Resource | 1 | 3 | Focus |----------------------------------------- | KB | 2 | 4 | ------------------------------------------ I also see a huge gap in degree of need between the pull versus push functionality, the latter being highly specialized and no where near as acutely needed as the former. Thus, if the first standardized RDF Query protocol(s) only addressed pull, that would IMO address the lion's share of the greatest immediate need, insofar as getting SW services and agents widely deployed. That is not to say that push is not very important. It is. But when deciding on the reasonable scope/target for the WG, if something has to go in order to have a timely first round, the I suggest that push functionality is a reasonable candidate for deferement. Also, I think the industry would benefit more from several, short, focused standardization rounds, rather than one long comprehensive standardization round. A first round focusing on two pull protocols (or two modes of behavior of the same pull protocol) -- one that is resource centric and the other that is KB centric, but sharing a common conceptual core -- aimed at providing a deployable standard for the publication and access of knowledge within a single calendar year, followed up by a second round addressing push functionality (with all the additional issues that come into play therein, e.g. authentication, organization/management of kb, etc.) constituting a more involved task. Yet while the WG works on push functionality in a second round, the SW can be happiliy purring along with the pull functionality. The resource centric protocol/mode will serve as a bootstrapping mechanism for the knowledge base centric protocol/mode (as well as any arbitrary web or semantic web service) such that for any web authority, an agent can obtain a description of that server based on its HTTP URI (e.g. http://example.org) from which it can obtain information about all protocols, interfaces, services, etc. -- including information relevant to general query services, and when relevant push functionality. -- I recommend a first round focusing only on pull functionality. I also recommend following minimal requirements be adopted into the charter for such a first round: 1. For any arbitrary URI having a web authority component, for any arbitrary agent, the agent is able to obtain authoritative knowledge about the resource denoted by the URI from the web authority of the URI; and can do so solely based on the to-be-defined standard, and with no additional knowledge other than that URI. The knowledge returned should, by default, correspond to a concise bounded description of the resource, representing a fundamental feature for scalability and efficiency. I.e. something akin to http://sw.nokia.com/uriqa/URIQA.html#cbd. 2. For any arbitrary query service which conforms to the to-be-defined standard, for any arbitrary agent, the agent is able to submit a generalized query to be executed against the knowledge base exposed by that service and recieve a subgraph of that knowledge base (possibly empty), corresponding to the knowledge matched by the query; and can do so solely based on the to-be-defined standard, and with no additional (manditory) knowledge about the service, server, particular knowledge base, model, etc. specified either in the request or the query. 3. Existing web standards should be employed as much as possible; however, overloading of the semantics of existing web protocols should be avoided and the deployment and use of the to-be-defined standard should have zero impact on the present-day functioning of the web and should not introduce any confusion or ambiguity whatsoever regarding the interpretation of any existing web standards or proper web server or web client behavior. Semantic web standards should extend the web, not redefine it. 4. The form of expression for general queries should not impose any constraints on the scope of expression which are not imposed by RDF, such as failure to support arbitrary vocabularies or arbitrary datatypes used in the expression of typed literals, e.g. by limiting the query language to a select set of native datatypes. Particular implementations will only support a limited number of datatypes, and thus, some queries may not be resolvable by all conformant query services; however the query language itself should neither restrict nor discriminate against any particular datatype, but should be as datatype agnostic and vocabulary agnostic as RDF. In addition to the above "absolute" requirements, I would also recommend the following additional requirements/deliverables: 5. Input queries presented to the general query service should be expressed as RDF (not necessarily RDF/XML, see #8 below). This allows for standard RDF tools to be used in the description of, expression of, processing of, reasoning about, the queries themselves. (note that adoption of #5 gives you #4 "for free") 6. Output of query results should be expressed as RDF/XML. Note that variable bindings can also be returned expressed as RDF (see #7 below), which allows for both matched knowledge *and* bindings to be accomodated in query results in a consistent, standardized manner. 7. A standardized vocabulary for describing query services, for expressing queries and for expressing query results should be defined, along with a formal semantics. E.g. something like the union of http://sw.nokia.com/rdfq/RDFQ.html and http://www.w3.org/2003/03/rdfqr-tests/recording-query-results.html, with additional terms relating to the query service description, etc. 8. A subset of N3 should be defined/standardized/blessed as a keyboard-friendly RDF serialization, for use with query entry interfaces. Queries expressed in RDF using this subset of N3 can be as compact and readable as queries expressed in a SQL like syntax. C.f. http://sw.nokia.com/rdfq/RDFQ.html#examples. This would provide for a pair of standardized RDF serializations: RDF/XML and "Compact RDF". Anyway, those would be my recommendations. Regards, Patrick -- Patrick Stickler Nokia, Finland patrick.stickler@nokia.com
Received on Tuesday, 18 November 2003 04:12:03 UTC