Overview

Dynamic API enables extension of VIVO by a non-Java developer. A dynamic action and REST endpoint is prescribed in the form of RDF. After that, in-memory representation of dynamic action might be loaded and executed by invoking REST endpoint with defined parameters. An OpenAPI specification for defined endpoint can be generated. Moreover, implementation of a generator of user interface based on RDF specification of dynamic action is planned for end of 2022. Besides that, user interface for defining a dynamic action is planned in the following period. It wouldn't mean that extension of VIVO will be possible without knowledge of semantic web technologies at all, because the certain knowledge of VIVO ontology, N3Templates and SPARQL query will be probably needed for definition of a new dynamic action.   

Steps for defining new custom forms

  1. Learn basic concepts of RDF and n3 notation
  2. Learn basic concepts of Dynamic API ontology
  3. Learn basic concepts of VIVO ontology
  4. Learn basic concepts of graph patterns, SPARQL queries and Solr queries
  5. Define and register a new action and resource API endpoints in accordance with Dynamic API ontology
    1. At the moment, this might be implemented
      1. completely out of VIVO
        1. write new action in any text editor or an RDF editor,
        2. copy it to {VIVO_HOME}/rdf/abox/filegraph directory and
        3. restart server
      2. by using existing VIVO user interface for definition of the ontology instances
    2. A user interface for defining a dynamic action is planned in the following period which will make this process more simple
  6. Create REST and RCP endpoints
    1. this will be done automatically after registration of a valid definition of dynamic action and resource API endpoint 
      1. implementation of a validator for dynamic action is planned for the next sprint
        1. based on SHACL rules 
        2. should provide informative message what is wrong
  7. Generate OpenAPI specification for REST and RCP endpoints
  8. Make user interface for running dynamic action through collecting necessary parameters from users, firing endpoint request and presenting the results of the dynamic action
    1. implementation of a generator of user interface based on RDF specification of dynamic action is planned for end of 2022


  • No labels