vivo_home/api/rest/{version}/organizationUnits
Created by: chenejac
Describe the solution you'd like The endpoints for CRUD operations over organization units should be defined by using Dynamic API ontology.
- GET vivo_home/api/rest/{version}/organizationUnits
- GET vivo_home/api/rest/{version}/organizationUnits/{uri}
- GET vivo_home/api/rest/{version}/organizationUnits/{uri}/subunits
- POST vivo_home/api/rest/{version}/organizationUnits
- PUT vivo_home/api/rest/{version}/organizationUnits/{uri}
- DELETE vivo_home/api/rest/{version}/organizationUnits/{uri}
The JSON format for description an organization unit should be supported with the following structure:
{
"uri" : "http://localhost:8080/vivo/individual/n469",
"type" : "http://vivoweb.org/ontology/core#College",
"name" : ["College of Science@en_US", "Fakultet prirodnih nauka@sr_Latn_RS"]
"description" : ["A college of Sample University@en_US", "Fakultet sa nekog Univerziteta@sr_Latn_RS"]
"superOrganizationUnit" :
{
"uri" : "http://localhost:8080/vivo/individual/n6810",
"name" : ["Sample University@en_US", "Primer univerziteta@sr_Latn_RS"]
}
}
Additional context
-
Some examples are available at https://github.com/chenejac/Vitro/blob/sprint-dynapi-2022-may-demo/home/src/main/resources/rdf/abox/filegraph/continentAPI.n3 aligned with Dynamic API ontology at that moment. Postman can be used for testing. OpenAPI specification (swagger.yml) can be generated. Demo meeting - https://wiki.lyrasis.org/display/VIVO/2022-07-07+-+Dynamic+API+demo+meeting (video record here - https://drive.google.com/file/d/1hOrB8D3tDiTU6TuvnT6HJ1JcclOJp3xm/view?usp=sharing)
-
The another useful resource might be n3 files for reporting available at https://github.com/vivo-project/Vitro/tree/dynapi/home/src/main/resources/rdf/dynapiAbox/everytime