Repository Types
Sakaibrary Types for the Repository OSID
OKI OSID Types are denoted in the following way:
authority / domain / keyword
An example of an OKI OSID Type is: mit.edu / search / title
The authority is "mit.edu", the domain is "search" and the keyword is "title". This is a Title Search Type defined by MIT. All Type definitions are Out-of-Band Agreements used to specify the abstractly defined OSIDs.
The authority with which we are creating new Types is sakaibrary. The mit.edu Types already exist.
Repository Type
sakaibrary / repository / metasearch
This Type is used for Repositories that contain scholarly resources derived from metasearch engines.
Search Type
sakaibrary / search / asynchMetasearch
This Type is used to conduct a complex, asynchronous search of a metasearch engine.
This Type defines that search criteria must be a java.lang.String in CQL Format limited to the fields: keyword, title, author, subject, year and the relations: { = , and }.
Examples are:
- (keyword = clara+clairvoyant) and (keyword = lyrics)
- (((((keyword = clara+clairvoyant) and (keyword = lyrics)) and (title = open+road)) and (author = donovan)) and (subject = rock+and+roll+music)) and (year = 1970)
- ((((title = why+do+chimpanzees+hunt+and+share+meat) and (author = mitani)) and (author = watts)) and (subject = behavior)) and (subject = mating)
Classes from the org.sakaibrary.common.search.impl
package can be used to effectively parse user input and create proper CQL according to the above rules.
This Type defines search properties must be of the Type sakaibrary / properties / asynchMetasearch.
Properties Types
sakaibrary / properties / asynchMetasearch
This Type is used to assign search properties to an asynchronous search of a metasearch engine. This Type defines the following keys:
- required properties are in red and starred
* guid
- A globally unique identifier. This is an alpha-numeric java.lang.String that uniquely identifies the specific user's search session.* baseUrl
- A java.lang.String base URL for the SROI's metasearch engine.* username
- A java.lang.String username used to login to the SROI's metasearch engine.* password
- A java.lang.String password used to login to the SROI's metasearch engine.sortBy
- A java.lang.String with one of the following values:- 'rank' - results are returned sorted by the metasearch engine's internal ranking algorithm.
- 'title' - results are returned sorted by title in ascending order (A-Z).
- 'author' - results are returned sorted by author's last name in ascending order (A-Z).
- 'year' - results are returned sorted by year in descending order (newer to older).
- 'database' - results are returned sorted by database in metasearch engine order.
- if undefined,
sortBy
defaults to 'rank'.
pageSize
- A java.lang.Integer indicating how many records to display per page. If undefined,pageSize
defaults to 10.startRecord
- A java.lang.Integer indicating which record to begin displaying results at. Records start at 1 and not 0. If undefined,startRecord
defaults to 1 (the first record).databaseIds
- A java.util.List of identifiers used to identify the databases to be searched by the metasearch engine. In Sakai 2.3, this field is not used.
sakaibrary / properties / metasearchStatus
This Type is used to retrieve status information regarding an initiated asynchronous search. The Repository's getPropertiesByType() method can be used to retrieve search status information from the Repository. The org.osid.shared.Properties object of Type sakaibrary / properties / metasearchStatus returned has a unique key-value structure. Below is a table describing the structure of the Properties object:
key |
value |
---|---|
|
A java.lang.Integer representing the number of milliseconds the SROI recommends the Consumer wait before calling nextAsset() again. This number is only a suggestion and does not guarantee an Asset will be retrieved if the Consumer waits the indicated number of milliseconds. |
|
a java.util.ArrayList containing the |
|
A java.lang.String with status notification (searching, fetching, ready, error, timeout) for the entire search set. |
|
A java.lang.String with status details for the entire search set. |
|
A java.lang.Integer representing how many total records have been found for the entire search set. |
|
A java.lang.Integer representing how many records have been fetched for the entire search set. |
|
A java.lang.Integer representing how many records have been merged for the entire search set. |
|
A java.util.Map containing all of the above fields except for |
Asset, RecordStructure and PartStructure Types
Following is a depiction of the Sakaibrary Asset, RecordStructure and PartStructure Types.
- Asset Type : sakaibrary / asset / citation
- RecordStructure Type : sakaibrary / recordStructure / citation
- PartStructure Type : mit.edu / partStructure / creator
- PartStructure Type : mit.edu / partStructure / date
- PartStructure Type : sakaibrary / partStructure / dateRetrieved
- PartStructure Type : sakaibrary / partStructure / doi
- PartStructure Type : sakaibrary / partStructure / edition
- PartStructure Type : sakaibrary / partStructure / endPage
- PartStructure Type : sakaibrary / partStructure / inLineCitation
- PartStructure Type : sakaibrary / partStructure / isnIdentifier
- PartStructure Type : sakaibrary / partStructure / issue
- PartStructure Type : mit.edu / partStructure / language
- PartStructure Type : sakaibrary / partStructure / locIdentifier
- PartStructure Type : sakaibrary / partStructure / note
- PartStructure Type : sakaibrary / partStructure / openUrl
- PartStructure Type : sakaibrary / partStructure / pages
- PartStructure Type : sakaibrary / partStructure / publicationLocation
- PartStructure Type : mit.edu / partStructure / publisher
- PartStructure Type : mit.edu / partStructure / rights
- PartStructure Type : sakaibrary / partStructure / sourceTitle
- PartStructure Type : sakaibrary / partStructure / startPage
- PartStructure Type : mit.edu / partStructure / subject
- PartStructure Type : mit.edu / partStructure / type
- PartStructure Type : mit.edu / partStructure / url
- PartStructure Type : sakaibrary / partStructure / urlFormat
- PartStructure Type : sakaibrary / partStructure / urlLabel
- PartStructure Type : sakaibrary / partStructure / volume
- PartStructure Type : sakaibrary / partStructure / year
- RecordStructure Type : sakaibrary / recordStructure / citation
For more detailed information about the Asset Type, see the attached Out-of-Band document: sakaibraryAssetTypes.doc
For more detailed information about the RecordStructure Type, see the attached Out-of-Band document: sakaibraryRecordStructureTypes.doc
For more detailed information about the PartStructure Types, see the attached Out-of-Band document: sakaibraryPartStructureTypes.doc