MMI Ontology Repository Use Cases

This document is a technical document that is evolutionary, and at times overcome by developments. This document will be reviewed and updated after the initial release of the BioPortal-based Ontology Registry in early October.

Use Case 1
Title: User defines a framework (aka context)
Description : The user determines the area(s) of interest for their knowledge framework, and initiates the existence of that framework. (In semantic terms, the framework is called a 'context'.) The context is associated with the appropriate metadata to characterize it, including its purpose, initial attributes, and any relationship to an existing context (e.g., isNewerVersionOf). 
Completion: The context is created, and the user receives positive feedback of that fact. Via the registry, the context is capable of storing triples, being discovered by name or attributes, representing its existence in a browser in response to a URI, and displaying its own metadata. The context is associated with a URI, which is made known to the user, and reflects the appropriate metadata for the context: its owner, revision date (and iteration or time if necessary), and its name.
ReferenceOntology Metadata for Vocabularies  (specification of metadata elements for a context)

Use Case 2
Title: User adds statements to an existing context
Description: A user develops one or more statements—terms, or relationships between terms—which are applicable (that is, local) to a particular semantic context maintained in the repository. The user wants to add the statement(s) to the context, in one of two ways: via individual statements, or submitting an entire ontology to his context. In the individual statement case, one or more statements may be added on a single form instance. Each statement is associated with the appropriate metadata to characterize it. Each form submission (of one statement, multiple statements, or an ontology) creates a new version of the context.
Completion: The statements are included in the context. The user receives positive feedback that the statements have been added. The statements are accessible via URI, and discoverable by any associated terms, or by attributes. Each statement can represent its existence in a browser in response to a URL, and can display its own metadata. The version of the context is automatically updated and a new URI made available.
Note: Statements must be able to reference statements (URIs) in other contexts.

Use Case 3
Title: User shares a context
Description: A user wants to share a context (for one or more of discovery, reading, and writing) with one or more collaborators, or with the public. Through a repository interface, he or she specifies the collaborators, and whether write access is being granted.
Completion: The granting of the collaboration is confirmed. Desired collaborators have the desired access to the context. 
Note: This might also be specified as the ability to restrict access, if the default of the repository is to grant a high level of collaborative access.

Use Case 4
Title: User discovers statements or information of interest via patterns
Description: A user has a concept, expressed in the form of a text string or pattern, and is interested in finding statements, or related information, that are related to this concept. The user may be interested in the statements themselves, their corresponding URIs, or any or all information associated with the statements, including connecting relationships. The system searches for statements with information matching all (or optionally part) of the provided text string (analogous to a Google search), and returns the related information requested by the user. 
Completion: User receives the requested statements or related information.
Options: User specification of some or all of the following options may be supported in advanced versions of the service. A) Type of matching to use (complete, partial, or root). B) Content to search for matches (terms, definitions, all fields, related terms).  C) What to return (statements, URIs, specific fields, all fields, related statements). D) Format of the returned entity(ies) (triples, original RDF, HTML, PDF document)  E) What source versions to search (all contexts, most recent version of each context, most recent version of each term (i.e., include deprecated terms).
Note: See also Use Case 15.

Use Case 5
Title: User discovers statements of interest via semantic matching
Description: A user has a concept, expressed in the form of a text string or set of terms, and is interested in finding statements that are related. This use case is entirely parallel to Use Case 4, but the search is done not just through pattern matching, but using the corresponding semantic concepts.
Completion: User receives the requested statements or related information, and optionally the semantic chain that led to it.

Use Case 6
Title: User gets information related to a URI
Description: The user provides a URI via a URL-based query or a web interface. In return, the user receives the corresponding information (term, description, associated metadata, and property-value pairs) related to that URI.
Completion: The user receives the requested information.
Options: User specification of the following options may be supported in advanced versions of the service. A) What to return (term, description, specific or all metadata fields, related statements). B) Specific relations of interest with respect to the URI, e.g., all broaderThan relations of this URI. C) Multiple URIs in a query.  

Use Case 7
Title: User searches for URIs in a particular context  I think this is addressed by Use Case 6, in its general case (option B)  -Graybeal 5/30/08 11:20 PM 
Description: A context contains a set of triples. The URIs returns are the URIs of the subjects of those triples

Use Case 8
Title: User creates a simple resource  Why is a simple resource different than another statement, like use case 2? -Graybeal 5/30/08 11:51 PM 
Description: User via web form submits a simple resource (label, definition, annotation, type  What is a 'type'?  -Graybeal 5/30/08 11:23 PM ) for an existing statement via a web form.
Completion: The resource is associated with the existing statement, and is retrievable by authorized users.
Note: See also Use Case 14, dealing with annotations. Are these the same use case?

Use Case 9
Title: User relates resources across contexts  This is use case 2 -Graybeal 5/30/08 11:36 PM 
Description: User is able to get to concepts from different terminologies and context and create a relation ( subClass, narrowerThan, etc..)

Use Case 10
Title: User queries registry using SPARQL
Description: The user wishes to construct a complex query to the registry, across the entire registry or specific entities of it. The user constructs the query in the SPARQL semantic query language, and submits it to the registry using a form.
Completion: The user receives the result of the SPARQL query.

Use Case 11
Title: User interacts with registry via an HTTP web service interface.
Description: A user can conduct any of the activities in Use Cases 1 through 7 via a web service interface provided by the registry. The necessary information is supplied to the web service of the registry, which provides an appropriate service response.
Completion: Each use case can be addressed via the web service of the registry.

Use Case 12
Title: User interacts with registry via an Application Program Interface.
Description: A user can conduct any of the activities in Use Cases 1 through 7 via an API provided by the registry. The necessary information is supplied to the API of the registry, which provides an appropriate programmatic response.
Completion: Each use case can be addressed via the API of the registry.

Use Case 13 Title: User obtains context metadata associated with given context or term. 
Description: A user has a URI referencing a given context or statement. The user requests any metadata associated with the context of that URI. The system determines the associated context and the applicable metadata. (In the case of a term, this is the metadata of the enclosing context. In the case of a context, this is the metadata associated with that context, and with related contexts (previousVersion, latestVersion, parentContext, other relations).
Completion: The user receives the requested metadata.
Options: User specification of more sophisticated options may be supported in advanced versions of this service. A) Following chained relations to root contexts (e.g., firstVersion). B) Following specific chained relations (e.g., previousVersion of previousVersion).

Use Case 14
Title: Enable general-purpose annotation entry and discovery.
Description: A user wants to make (discover/read/share) an annotation about a particular context or statement. (Examples of such annotations include reasons for changing the entity; discussions about the entity, its meaning, and so on; and anticipated applications of the entity.) As in Use Cases 1 through 7, the user wishes to interact with the annotations for entities. Unlike Use Cases 1 through 7, the user does not want to interact with these annotations routinely; e.g., a search should not search the annotations unless the user explicitly specifies that is the intent.
Completion: The user can make, discover, read, and enable sharing of an annotation, but does not see annotations when interacting with the registry unless he or she has specifically requested it. Entities being annotated have their versions (and if a statement, the versions of their contexts) updated appropriately.
Note: This behavior seems desirable for other metadata for an entity. For example, searches for 'water' shouldn't find entities created by Dan Waterhouse.

Use Case 15 Title: Search for contexts or statements by date or other conceptual metadata.
Description: As in Use Case 4 and Use Case 5, the user wants to finds entities of interest. The search is based on auxiliary metadata for each entity, such as the date the entity was created or last updated. The search capabilities may require specialization for each type of metadata being searched (creator, owner, organization, etc.).
Completion: Searches return desired content (as in Use Case 4).
ReferenceOntology Metadata for Vocabularies  

Use Case 16 Title: User obtains metrics about registry entities.
Description: The user wants to learn about computable aspects of a given context or statement. He or she requests specific computed results, such as:

  1. number of statements (terms, relationships) in a context
  2. number of contexts/statements in the registry
  3. number of contexts/statements meeting certain criteria (reference: search concepts in Use Cases 4, 5, 10, 14, and 15)
  4. number of statements referencing a given URI
  5. number of revisions to a given context or statement
  6. number of users/organizations accessing the registry
  7. number of contexts/statements produced by a given user/organization
  8. number of contexts/terms accessed (served)
  9. number of times a given context or term has been accessed

Completion: Requests return desired content.
ReferenceBioPortal Presentation  (Natasha Noy)
Note: Implies computations are performed and associated with entities. To the extent this is implemented with an associations, the associations are connected with (and potentially cause updates to) the version of the associated entity(ies).

Use Case 17 Title: User obtains community feedback about registry entities.
Description: The user wants to learn about the community's opinion of a given context or statement. He or she requests specific types of community feedback about the entity, such as:

  1. reviews
  2. ratings
  3. usage experiences
  4. comments or questions
  5. annotations

Completion: Requests return desired content.
ReferenceBioPortal Presentation  (Natasha Noy)
Note: These may all be in the form of annotations, in which case Use Case 14 would address this requirement. Any annotations are connected with (and potentially cause updates to) the version of the associated entity(ies).

Use Case 18 Title: New entities are tested and/or validated automatically.
Description: The user has modified an entity or submitted a new one. The system evaluates the entity to make sure it is valid.  Results are reports to the user, and possibly used as criteria for rejecting the modification.
Completion: Tests are performed and results are appropriately presented and acted upon.
Note: See Use Case 19, on policy enforcement.

Use Case 19 Title: Policies of the registry are defined and enforced.
Description: Registry policies are formally described in a document. To the extent the implementation can enforce those policies, it does so through tests and validation, as described in Use Case 18.
Completion: Polices exist and are appropriately enforced.
Note: See Use Case 18, on testing/validation.

Use Case 20 Title: Provide URIs in multiple resolvable forms
Description: There are 3 candidate URIs for representing statements and contexts: URLs, URNs, and XRIs. Provide all 3 URIs for each principal entity, and provide resolving services (as web interfaces and web services) that can accept any URI form and provide the associated information, as in Use Case 6.
Completion: All 3 forms of URI can be provided and resolved for any statement or context.

Use Case 21 Title: Provide URIs for extended entities.
Description: In addition to each principal entity (statements, contexts), provide access to any auxiliary metadata entity for a statement or context. Auxiliary metadata entities include metadata fields, annotations, computational results, community feedback, test results, and policies.  
Completion: URIs (all 3 types) are generated for each extended entity listed, and resolve to the entity's content.
Note: Best solved with a generalized solution, to avoid recursive development.

Use Case 22 Title: Reasoning and inferencing services
Description: The registry can provide results of reasoning/inferencing within and across ontologies.
Completion: Reasoning/inferencing results are available as first class statements and contexts.

Use Case 23 Title: Display an ontology in a useful visual format.
Description: User can display a given ontology using the most useful web resources. 
Completion: Useful display services are made available to users.