Today I enabled BibJSON input and output from BibServer, and it is available on the example running at http://bibsoup.net.
Each collection has a “download” link on the bottom left, and also, each page can be requested as JSON/BibJSON by simply adding .json onto the end of the path. For example:
returns the same 10 records that can be viewed on the page without the .json attribute. This is detailed a bit more on our Get records out of BibServer explanatory page.
At this stage, the BibJSON that is returned will contain a list of objects, and each object is either a record in that collection, or the collection metadata. This needs to be improved so that collection metadata is stored separately so it does not actually show up as a result in a search, but so that it is prepended to a BibJSON request for a collection. I am working on this.
Also, we can upload records from BibJSON too. There is a sample file containing 10 records available in our repo:
Point bibsoup at this URL and you will get a new collection, with a collection record, as seen here:
There is presently an issue in that records with “links” keys just upload a list – this is fixable, but brings up questions around the issue of the BibJSON format. Two particular points to start with are:
- should an author list be a list of strings which are just author names, or a list of objects that contain author strings among other information?
- should a links list be a list of strings that are URLs or a list of objects that contain URL strings among other information, such as anchor text, format, description of target, etc?
As a hint of my current thinking, I view author lists as lists of strings, which is a property of a bibliographic record – the list of names of people who are authors. Further information should exist in a separate person object, and the bibliographic record should have a list of person objects added to it. We must remember too, that the aim of BibJSON is to be simple. But further comments welcome!