vivo-project / VIVO

VIVO is an extensible semantic web application for research discovery and showcasing scholarly work
http://vivoweb.org
BSD 3-Clause "New" or "Revised" License
205 stars 129 forks source link

vivo_home/api/rest/{version}/persons #3873

Open chenejac opened 1 year ago

chenejac commented 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