-
Notifications
You must be signed in to change notification settings - Fork 1
DatabaseGuide
The default name for the database is "extensiblecatalog." Since the OAI Toolkit refers to the database through property files (OAIToolkit.db.properties in the importer and in the server), you can change the database name if you refresh the updated name in these property files. We recall your attention to the fact that you can choose different metadata storage strategies. Your application will use all these tables if you choose the “MySQL” strategy. If you choose “mixed,” the xmls table will be empty. If you choose “Lucene,” all except the resumption_token table will be empty.
The records table is the primary table of the OAI Toolkit database, and it stores most of the metadata of the incoming records (in this version only MARCXML is supported). The fields in the table and their descriptions are as follows:
record_id | A system generated identifier created by incrementing the identifier of each successive record |
---|---|
external_id | The ID of the MARC record from the ILS. In MARC, this is the 001 field. |
record_type | The ID of the record type, which is equal to the ID of the set created according to the record type). The possible record types being (1) Bibliographic records; (2) Authority records; (3) Holdings records; (4) Classification records; (5)Community Information records; and (6) Item records* . The record_type column contains the numeric representation of the record type. |
creation_date | The date of creation of the MARC record (005 field) in the original ILS). If the 005 field is non-existent, then the creation_date will be the date the record is imported to the database by the OAIToolkit. |
modification_date | The date of the last modification to the MARC record (005field). If an ILS does not store the date of the last modification in the 005 field (as Voyager does not, for example), then the modification_date will be the date the record is imported to the database by the OAIToolkit. |
is_deleted | Flag to signal if the record is deleted in the ILS or not. (This behaves as a non deleted record. If it is a new record, we simply insert it into the database. If it is an existent record, simply set is deleted to true (what???). If a record is deleted, the OAI server shows only the date and identifier, but not the MARCXML record itself.) |
root_name | The XML root element's name (currently unused). It will maintained for future usage. |
root_namespace | The XML root element's namespace (currently unused). It will be maintained for future usage. |
*
The XC project is still working on modelling Item records, since there is currently no standard to govern this record type. This version of OAI Toolkit does not yet handle Item records.
The xmls table stores the MARCXML content. Each xmls row connects to a records row by means of a record_id, which is the ID of the corresponding records row. (There is a practical reason for storing XML content in a different table: it happens that some MySQL querys like count() function are dependent on the physical volume of the records. The loads of MARCXML records greatly slowed down such queries when we stored them in the same table, and they were therefore relocated to their own table.)
record_id | The ID of the corresponding records row. This is a referential value, which means that the user cannot delete a record if its record_id is refered to in a row of the xmls table. Concordantly, there can exist no xmls row that is not bound to a row of the records table. |
---|---|
xml | The content of the MARCXML. It can be a string of up to 2GB. |
The sets table defines and lists the record types described above in the records table’s record_type column (bibliographic records, authority records, etc.).
In OAI-PMH, a set is an optional construct that groups records for the purpose of selective harvesting. Repositories may organize records into sets. Set organization can be flat, as in the case of a simple list, or hierarchical, as in the case of taxanomies. Multiple hierarchies with distinct, independent top-level nodes are allowed. Hierarchical organization of sets is expressed in the syntax of the setSpec parameter as described below. When a repository defines a set organization, it must include set membership information in the headers of records returned in response to the ListIdentifiers , ListRecords and GetRecord requests (http://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#Set). Currently, the record types are used as sets.
set_id | An auto-incremented identifier of the record. This is referred to by the records table’s record_type column, and the sets_to_records table’s set_id column. |
---|---|
set_name | A short, humanly readable string naming the set |
set_tag | Currently unused |
set_spec | A colon [:] separated list indicating the path from the root of the set hierarchy to the respective node. Each element in the list is a string consisting of any valid URI unreserved characters, which must not contain any colons [:] . Since a set_spec forms a unique identifier for the set within the repository, it must be unique for each set. Flat set organizations have only sets with set_spec that do not contain any colons [:] . |
set_description | An optional container that may hold community-specific XML-encoded data about the set |
This table connects sets to records. Each row represents a simple connection. If you want to connect multiple sets to the same record, you must create multiple rows in the sets_to_records table, one row for every set.
record_id | The specified record’s identifier (record_id) |
---|---|
set_id | The soecified set’s identifier (set_id) |
A resumptionToken is a sample session-like token that helps identify and continue the previous queries (http://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#FlowControl). The OAIToolkit uses the resumption_token table to store the SQL queries generated by the selective harvesting parameters (sets, from, until) and the metadataPrefix. The resumptionToken parameter in an OAI request contains the ID of a row in the resumption_token table and a number representing the limit argument in an SQL query.
id | The auto-incremented ID of the token |
---|---|
creation_date | The creation date of the token |
query | The SQL query to retrieve the records |
query_for_count | The SQL query to count the total number of records matching the SQL query |
metadataPrefix | The metadata prefix for displaying records |
- Installing the Toolkit
- Using the Toolkit
- Browsing the OAI Server
- Populating with Data
- Monitoring
- Performance / System Requirements
- Useful Info
- ILS Connectors
- Release Notes