At the heart of ScienceBase are items that describe a wide variety of data and information sources. ScienceBase is based on a REST service architecture using JSON (JavaScript Object Notation) as a data transport format for reading items and for manipulating data in ScienceBase (create, update, and delete). The ScienceBase information model consists of a core set of attributes that provide for a higher level integration of various types of metadata such that a ScienceBase Item can represent anything from a distinct scientific dataset to a complex streaming data source to a description of a science project. This concept is driven from the basic user story that groups of researchers need to see a broad-based collection of different types of assets from structured datasets to more simple information sources all together in one place. The ScienceBase Item core model is essentially based on the simple Dublin Core Metadata Element Set.
The ScienceBase Item core model of simple discovery metadata (e.g., title, abstract, contacts, etc.) is coupled with a set of high-level item "supercategories" to provide ScienceBase users with a way to understand and navigate through many different types of items (e.g., Data, Publication, Project, etc.). The core model can be extended with ScienceBase Extensions to provide additional attributes that further describe items. Extensions can be based on metadata standards such as additional elements of the ISO19115 standard for geospatial metadata that do not map simply into the ScienceBase Item core model. Some aspects of ScienceBase Extensions are controlled programmatically because of other features such as a ScienceBase Item that describes data stored in the ScienceBase Repository while other extensions take on attribution from ScienceBase harvests of other metadata sources or direct user input.
The ScienceBase Item core model and all extensions are stored natively in ScienceBase JSON or sbJSON. The ScienceBase REST service uses sbJSON to retrieve information about an item, update an item, and create new items. Please see JSON Syntax link at the bottom of the page for a great introduction to the topic.
An overview of the most commonly used fields in SB JSON.
- Creating Queries for ScienceBase
- An introduction on creating searches in ScienceBase and the SB JSON that is returned.
- CRUD Operations on Items
- Create Read Update Delete items via REST Services
- GET
- "GETting" an item, in SB JSON
- Creating and Modifying Items
- Creating and updating Items via JSON
- DELETE
- Deleting items via REST
- Downloading Item Attachments
- Downloading files attached to items (individually or all of the files in an item)
- Examples and Use Cases
External Links
- REST explanation (Wikipedia) - http://en.wikipedia.org/wiki/Representational_state_transfer
- JSON explanation (Wikipedia) - http://en.wikipedia.org/wiki/Json
- JSON format homepage - http://www.json.org/
- JSON Syntax (Wikipedia) - http://en.wikipedia.org/wiki/Json#Data_types.2C_syntax_and_example