...
Required? | User Story |
---|---|
Catalogers | |
As a cataloger, I want to edit an entity (e.g. work, instance, etc.) and add metadata about the entity from authoritative sources (e.g. LCNAF, OCLC FAST, etc.). | |
As a cataloger, I know exactly the authoritative term I want to add as metadata about an entity. | |
As a cataloger, I know the start of the label of the authoritative term I want to add as metadata about an entity. | |
As a cataloger, I know some keywords that will help me locate and select an authoritative term to add as metadata about an entity. | |
As a cataloger, I want search results to contain highly relevant terms for my keyword search. | |
As a cataloger, I want to know which fields were searched that produced the search results for keyword search. | |
As a cataloger, I want to see context about an authoritative term that helps with disambiguation and increases the accuracy of selecting the correct authoritative term. | |
As a cataloger, I want to be able to filter search results to a specific date range for a field on the authoritative term (e.g. birth date, death date, etc.). | |
As a cataloger, I want to be able to filter search results to a specific class type (e.g. ???). | |
As a cataloger, I want to be able to filter search results to a specific language. | |
As a cataloger, I want search results to be returned quickly, such that, performance times do not detract from the cataloging workflow. | |
As a cataloger, I want to be able to request additional search results if what I am looking for isn't in the current set of results displayed. | |
Developers | |
As a developer, I want one field in the authoritative term to be a human readable, meaningful representation of the term that can be displayed to users to identify the term for selection. | |
As a developer, I want to receive a permanent URI for each term to uniquely identify the term over time. | |
As a developer, I want to provide a widget that enables a cataloger to select a term from an authoritative source using left anchored autocomplete. | |
As a developer, I want to provide a widget that enables a cataloger to type in keywords and see a list of terms sorted in rank order. | |
As a developer, I want to provide additional information about terms to facilitate the accuracy of selection. | |
As a developer, I want to quickly return show search results to users (e.g. sub-second, specific threshold TBD) | |
As a developer, I want to receive pagination information with search results, such that, I can request the next page of results. | |
As a developer, I want data to be returned as linked data allowing for configurations that map ontologies to a normalized json format. | |
As a developer, I want data to be returned in the same format from all authorities (e.g. normalized json, json-ld, or something else) | |
As a developer, I want to be able to fulfill all search requests. (e.g. source authorities respond to all requests with excellent uptime) | |
As a developer, I want to update cached labels and URIs as changes are made to the authoritative source data. | |
Providers | |
As a provider, I want my data to be used. | |
As a provider, I want my data to be used accurately. | |
As a provider, I want to support the creation of application widgets that provide access to our data. | |
As a provider, I want our API(s) to be performant (e.g. sub-second queries, specific threshold TBD) | |
As a provider, I want access to our data to be available 24-7 with occasional outages for maintenance that will be announced in advance. |
Cache of entire or significant portion of dataset with updates via retrieve a known concept using a consistent format across datasets
Update cached data
Required? | User Story |
---|---|
Catalogers | |
As a cataloger, I want |
to be able to |
search across multiple authorities. | |
As a |
...
cataloger, I want |
...
the display of data in the editing app to follow a consistent and predictable format. | |
Developers | |
As an application developer, I want a reliable source of data, such that, I am able to fulfill all search requests. | |
As a cache developer, I want to store all or significant portion of authoritative data locally. | |
As a developer, I want to control how data is searched. | |
As a developer, I want to control what data is returned to and displayed in the end user application (e.g. extended context). | |
As a developer, I want to control the format of data the editing application receives for the selection widget. | |
As a cache developer, I want to update cached data as changes are made to the authoritative source data. | |
Producers | |
As a producer, I want to make my data available for download. | |
As a producer, I want consumers of my data to use the most up to date version of the data. | |
As a producer, I want to provide a change management API that provides information on changes to terms in the dataset (e.g. new, deleted, changed, deprecated, moved, split, merged, etc.). |
Auto-fill Batch processing
Required? | User Story |
---|---|
Catalogers | |
As a cataloger, I want auto-reconciliation processes to run that identify 'same-as' type relationships from other authorities. | |
Developers | |
As a developer, I want to run auto-batch processes once data has been entered. | |
Producers | |
As a producer, I want to support auto-reconciliation. |
Manual Batch processing
Required? | User Story |
---|---|
Catalogers | |
As a cataloger, I want to load data in a reconciliation program (e.g. open refine) and apply changes across multiple entities (e.g. works, instances, etc.) | |
As a cataloger, I want to be able to filter potential choices by date range. | |
Developers | |
Producers | |
As a producer, I want to support an API that allows my data to work with popular reconciliation programs (e.g. open refine) |
Share Key Concepts:
- primary label
- Authority entities are expected to have a primary label that is a human readable representation of the entity.
- relevant information
- This will include the primary label of the entity.
- This likely will include other information from the entity referred to as extended context.
- accurately select
- This relates to the user's ability to disambiguate similarly labeled entities based on the information provided in search results.
Sub-Use Case: User knows keywords related to an entity (aka Keyword Search)
As a user of a metadata editor application, I want to type in keywords and be presented with a list of relevant information that allows me to accurately select an entity to use as metadata in a local record. The entity is expected to be in the top X (e.g. 5, 8, 10, 20) results, but may be lower in results requiring the ability to access more results.
Sub-Use Case Key Concepts:
- accurately select
- This assumes that search results will be in rank order with the highest ranked search results appearing first for Keyword Search
- access more results
- When the desire entity is not in the set of results presented, there needs to be a way for the user to access more results (e.g. pagination)
Sub-Use Case: User knows the primary label and starts typing it from the first character (aka Left Anchored Search)
As a user of a metadata editor application, I want to type in the primary label and be presented with a list of relevant information that allows me to accurately select an entity to use as metadata in a local record. The entity is expected to be the top result in almost all cases.
Sub-Use Case Key Concepts:
- accurately select
- This assumes that search results will be in alphabetical order for Left Anchored Search
Example: Fill in $0 MARC field with LOC label search.
Influencing results
- Filter - limit by date ranges, class type, date of birth, language etc.
- Extended Context vs. Filter
- Language filtering can greatly change results
- Fields to search
Cache of entire or significant portion of dataset with updates via retrieve a known concept using a consistent format across datasets
- local search of cached data
- have the URI and want to get details about that term
- get most recent version of data for that URI
- go across multiple authorities
- consistent data access pattern across authorities to get the data
See also update of cached data
Update cached data
- LOC has ATOM feeds that indicate what has changed
Batch processing
Auto-fill with a batch process
- background process that occurs across data
Manual batch processing
...