Sinopia <=> External Data Expectations
External Data API Expectations
Configuration & Context
- For all of the below, can “select” single authority source, subset of authority sources, or all available authority sources for single GET request.
- Authentication & Authorization is open question.
- Rate limiting and other throughput limits is open question.
GET => Fetch:
- In (payload or param): URI
- 200 Out (payload, preference JSON): All RDF statements with URI as subject in External Store; date & context of statements?
GET => Lookup (Single field Query):
- In (payload or param): String as API URL parameter
- 200 Out (payload, preference JSON): Array of URIs, Match Score, Labels, Contextual Info (Type);
GET => Multi-field Lookup (Multi-field Query):
- In (payload or param): Array of Strings as API URL parameters
- 200 Out (payload, preference JSON): Array of URIs, Match Score, Labels, Contextual Info (Type);
Error responses
To be written up.
Sinopia Search Lookup Interactions (Proposed)
Search for available data => Search Query / Browse
Sinopia Search Client:
- If needed, break apart API calls by source.
- Call API(s) for Lookup with search string. (or Multi-field Lookup if spaces in search string.)
- Use Lookup default data to break apart API(s) responses for display of responses.
- Follow Selection responses below
Select to View
- User selects “see more” for a given result.
- Call API(s) for Fetch or to dereference for the selected value’s URI from Lookup results.
- Display RDF in module.
Select to Edit Single Resource
- User selects
Edit
for a given result.
- Ask User to select a Profile to edit the resource with.
- Check Permissions to
Edit a resource
(if a Sinopia resource in their group).
i. If true: Ask user to Select Profile
& following steps.
ii. If false: say they cannot edit, ask if they want to clone.
- Call API(s) for Fetch or to dereference for the selected value’s URI from Lookup results.
- Map RDF to selected Profile.
- Present User the Editor with mapped data pre-populated for the existing resource in the selected Profile.
Select to Edit Shape based on Profile
- User selects
Edit
for a given result.
- Ask User to select a Profile to edit the profile-mapped shape with.
- Query API(s) for Profile-mapped other resources (through their linking predicates) based on selected value’s URI from Lookup results.
- Call API(s) for Fetch or to dereference for all URIs to map to the Profile (or this might be part of 3).
- Map RDF to selected Profile.
- Check Permissions to
Edit resources
(if all Sinopia resources in their group).
i. If true: Ask user to Select Profile
& following steps.
ii. If false: say they cannot edit, ask if they want to clone the resources they cannot edit.
- Present User the Editor with mapped data pre-populated for the existing resource in the selected Profile.
Select to Clone Single Resource
- User selects “clone” for a given result.
- Ask User to select a Profile to edit the resource or the profile-mapped shape with.
- Check Permissions to Clone a resource (if they have a graph that can work within).
i. If true: Ask user to select Profile & following steps.
ii. If false: say they need a graph to work within.
- Call API(s) for Fetch or to dereference for the selected value’s URI from Lookup results.
- Map RDF to selected Profile (or profile subset / resource map hash).
- Present User the Editor with mapped data pre-populated for a new resource(s), with sameAs links to Fetch URI.
Sinopia Editor Lookup Interactions (Proposed)
Sinopia Lookup Client:
- Configuration management (auth, API settings).
- Call API for Lookup with form field type-ahead string.
- Use Lookup default response data for URI, label, type?
- Save selected & mapped data in client.
Sinopia Lookup Client:
- Configuration management (auth, API settings).
- Call API for Lookup with form field type-ahead string.
- Use Lookup default response data for URI, label, type for type-ahead starter field.
- Call API for Fetch above to retrieve RDF.
Sinopia Mapper Client:
- Map RDF from Fetch to determined other form fields
- Save selected & mapped data in client.
Sinopia Lookup Client:
- Configuration management (auth, API settings).
- Call API for Lookup with form field string.
Sinopia Lookup Browse Module:
- Use Lookup default response data (paginated for all results) for URI, label, type, context to display to user.
- If User selects “see more”, display context data. (Fetch for full RDF?)
- When User selects value, respond with Lookup default response data for selected value’s URI, label, type.
Sinopia Lookup Client:
- Save selected & mapped data in client.
Sinopia Lookup Client:
- Configuration management (auth, API settings).
- Call API for Lookup with form field string.
Sinopia Lookup Browse Module:
- Use Lookup default response data for URI, label, type, context to display to user.
- If User selects “see more”, display context data. (Fetch for full RDF?)
- When User selects value, respond with Lookup default response data for selected value’s URI, label, type.
- Call API for Fetch above to retrieve RDF for selected value’s URI.
Sinopia Mapper Client:
- Map RDF from Fetch to determined other form fields.
- Save selected & mapped data in client.
Sinopia Lookup Client:
- Save selected & mapped data in client.
Link to “External” URI via Browse & Select from Multiple Fields to Single Field
Sinopia Lookup Client:
- Configuration management (auth, API settings).
- Call API for Lookup with all strings from indicated fields.
Sinopia Lookup Browse Module:
- Use Lookup default response data for URI, label, type, context to display to user.
- If User selects “see more”, display context data. (Fetch for full RDF?)
- When User selects value, respond with Lookup default response data for selected value’s URI, label, type.
Sinopia Lookup Client:
- Save selected & mapped data in client.
Link to “External” URI via Browse & Select from Multiple Field to Multiple Fields
Sinopia Lookup Client:
- Configuration management (auth, API settings).
- Call API for Lookup with all strings from indicated fields.
Sinopia Lookup Browse Module:
- Use Lookup default response data for URI, label, type, context to display to user.
- If User selects “see more”, display context data. (Fetch for full RDF?)
- When User selects value, respond with Lookup default response data for selected value’s URI, label, type.
- Call API for Fetch above to retrieve RDF for selected value’s URI.
Sinopia Mapper Client:
- Map RDF from Fetch to determined other form fields
- Save selected & mapped data in client.
Sinopia Lookup Client:
- Save selected & mapped data in client.