Open chenejac opened 1 year ago
Describe the solution you'd like The endpoints for CRUD operations over persons should be defined by using Dynamic API ontology.
The JSON format for description a person should be supported with the following structure:
{ "uri" : "http://localhost:8080/vivo/individual/n6870", "type" : "http://vivoweb.org/ontology/core#FacultyMember", "firstName" : "Peters", "lastName" : "Jasper", "middleName" : "I", "positions" : [ { "organizationUnitURI" : "http://localhost:8080/vivo/individual/n4762", "organizationUnitName" : ["Harvard University@en_US", "Harvard Univerzitet@sr_Latn_RS"], "positionName" : ["Associate professor@en_US", "Vanredni profesor@sr_Latn_RS"], "positionType" : "http://vivoweb.org/ontology/core#FacultyPosition", "startDate" : 2014-05-27, "endDate" : 2020-05-23 }, { "organizationUnitURI" : "http://localhost:8080/vivo/individual/n4762", "organizationUnitName" : ["Harvard University@en_US", "Harvard Univerzitet@sr_Latn_RS"], "positionName" : ["Full professor@en_US", "Redovni profesor@sr_Latn_RS" ], "positionType" : "http://vivoweb.org/ontology/core#FacultyPosition", "startDate" : 2020-05-24 } ] # "awards" and "researchAreas" should be added as well "internalID" : "n6870", "ORCID" : "0000-0002-9942-5521", "SCOPUSAuthorID" : "35795419600", "ResearcherID" : "J-4074-2012" }
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
Describe the solution you'd like The endpoints for CRUD operations over persons should be defined by using Dynamic API ontology.
The JSON format for description a person should be supported with the following structure:
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