metadatacenter-attic / cedar-features

Test repo to organize CEDAR high level features
0 stars 0 forks source link

External Registry (Authority) services: Auto-complete, Validation #10

Open martinjoconnor opened 8 years ago

martinjoconnor commented 8 years ago

Configure fields to call arbitrary REST services for data completion, data validation, data suggestion, etc.

Relevant task is https://github.com/metadatacenter/cedar-project/issues/749; there may be others.

graybeal commented 7 years ago

Oops, meant to close the window, not the task. :-<

graybeal commented 7 years ago

This can include calls that populate a field based on a value of an attribute of some entity in another repository, something like "authorityDataRequest("serviceLocation,serviceType,objectID,attributeID") to obtain the value of the attribute attributeID in the object objectID in the repository of type serviceType at the location serviceLocation. (The serviceType provides enough information for CEDAR to know what protocol it needs to use to obtain the requested information.)

The same pattern could work to get the values from another entity/attribute within CEDAR, or within other instances of CEDAR.

graybeal commented 6 years ago

Further generalization of this idea, inspired by discussion with/needs of Nancy F during CEDAR user experience testing.

If a resource provided by an authority is thought of as an object—identified by an IRI and with multiple statements made about it—the general statement of this task is to be able to deal with external objects and the statements about them.

Extending the population example above, say one wants to discover external objects. This could be specified as "authorityDiscoveryRequest("serviceLocation,serviceType,searchExpression[,searchContext]") to obtain object IDs matching the expression searchExpression, within the fields given by searchContext,in the repository of type serviceType at location serviceLocation.

The UI could present the responses as described in https://github.com/metadatacenter/cedar-project/issues/749, so that the user can pick the identifier of the desired object.

This pattern could work not only for external authorities, but also for instances of CEDAR itself (as an authority for metadata instances), and for BioPortal or other terminology repositories (as an authority for terms).