Many many applications, web services and websites have interfaces that produce lists of search results in response to a full-text search query. Often the results are also available through some sort of web API, so other applications can use the results. There are several standards and quasi-standards for the format of such search results, OpenSearch being the most relevant one, but Atom and other feed formats (including the RDF-based RSS 1.0) are also often used.
I want to express such search results in RDF, to make it easier to process them in RDF-based apps.
Some important requirements:
- Support for paging. Often, only a limited number of search results are initially produced by the API. Further results are available by submitting an additional request. The RDF format must support this.
- Plays well with RDFa. Part of my motivation is to allow web publishers to mark up their existing search result pages using RDFa, to make the results accessible to automated processing.
- Also describe the search invocation interface. RDF-based clients should be able to discover the existence of a search interface, and should be able to figure out how to submit a query.
Possible starting points and inputs:
- Atom -- there is also an RFC for paging Atom feeds, and for ranking in feeds
- The Talis Platform uses RSS 1.0 plus some bits from OpenSearch for this purpose. Example RDF document
- The RDF Book Mashup has its own little search result vocabulary (for searching books)
- The Sindice API has a search vocabulary. It's not documented though.
Notes, pointers, discussion, input?
- Talk here!