Go Repository Protocol
|Table of contents|
Here's a software project I've been thinking about for some time; there's no code yet, just a few ideas.
The basic idea behind the Go Repository Protocol (GRP) is to have searchable repositories (or databases) of Go games and problems.
A repository can consist of several game/problem collections. You might have a collection of pro games, another one for your own games and so on. Imagine all the games governed by the repository as a big pool of data, and collections as views onto that data. Or imagine iTunes' smart playlists, if you will.
It should be possible to search by board position or by game info (who played black, white, how strong, what date, event and so on). Just look at Kombilo's search features. Here are some ideas for what should be possible using the GRP:
- connect to several repositories and do parallel searches, filtering out duplicates
- search by board position and/or player info
- restrict a previous search result by a new search (i.e., "search within those hits")
- merge two or more whole or partial repositories
- save queries and search results
- retrieve games in a search result
That the protocol is open means that it's easy for everyone who wants to write a client for it.
Bob McGuigan: It seems that most of what you want is already present in gobase.org
maruseru: gobase.org is great, but you're limited to the gobase.org repository, and it's a web application - I'd like a desktop application with a richer interface, plus integration with an SGF editor. Like kombilo, but with an open interface to all sorts of repositories.