Date

Call-in Information

Time: 11:00 am, Eastern Time (New York, GMT-04:00)

To join the online meeting:

Slack

Attendees

(star)  Indicating note-taker

  1. Brian Lowe
  2. Benjamin Kampe 
  3. Georgy Litvinov 
  4. Michel Héon 
  5. William Welling 
  6. Benjamin Gross 
  7. Ralph O'Flinn 
  8. Don Elsborg 
  9. Huda Khan (star)
  10. Dang Vu Nguyen Hai
  11. Christoph Gopfert

Agenda

  1. Announcements
    1. From Michel: ontology version https://github.com/UQAM-SB/CCRD-CRDC/ of CRDC vocabulary.  https://www.statcan.gc.ca/eng/subjects/standard/crdc/2020v1/introduction . "Could be used as a basis for a standardized classification of expertises in VIVO." (Michel is on vacation in August but interested in comments.)
    2. VIVO-PROXY updates
    3. Via Christian, an efficient SHACL validation implementation developed at TIB: https://github.com/SDM-TIB/Trav-SHACL 
  2. Unit tests
    1. Georgy has fixed the problematic unit tests in Vitro (none was problematic in VIVO): https://github.com/vivo-project/Vitro/pull/245  
    2. runOrder fix ready for 1.12.1 Unable to locate Jira server for this macro. It may be due to Application Link configuration.
  3. Small(er) development items for 1.13
    1. Firming up requirements for SKOS reasoner / indexer feature
    2. Other candidates from spreadsheet?: https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit?usp=sharing
  4. Defining shapes or subgraphs for use in APIs, edit forms, indexes etc.
    1. Diagrams:
      1. existing architecture: https://docs.google.com/presentation/d/1raO98mklGUQgAc6wMMbgDEsHVk1zoCA3bq4Fyy21GjI/edit?usp=sharing 
      2. Georgy: existing versus proposed
    2. Results of initial experiments with SHACL
    3. Mapping to simplified JSON objects for data ingest
      1. Inspiration? William Welling: Apache Marmotta LDPath syntax https://marmotta.apache.org/ldpath/language.html
    4. Defining concrete next steps
      1. Ontology model for defining form behavior?
  5. Moving Scholars closer to the core
    1. Build messaging system first? versus
    2. Original option of typing into existing document modifiers:
      1. "win/win" opportunity: Scholars and VIVO both eliminate some complexity
      2. converting Scholars SPARQL queries to VIVO DocumentModifiers
      3. replacing URIFinders with fast, reliable Solr lookups 

Needing reviews

    1. Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    2. https://github.com/vivo-project/Vitro/pull/242
    3. Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    4. Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    5. Unable to locate Jira server for this macro. It may be due to Application Link configuration.

References

  1. 2019-01 Architectural Fly-in Summary#201901ArchitecturalFlyinSummary-Ingest
  2. VIVO in a Box current document for feedback:

Future topics

  1. Prioritizing and planning post-1.12 development
  2. Forward-looking topics:
    1. frameworks: Spring / Spring Boot / alternatives
    2. Horizontal scalability
    3. Deployment
    4. Configuration : files / environment variables / GUI settings
    5. Editing / form handling
    6. Adding custom theming without customizing build
  3. Post-release priorities
    1. Ingest / Kafka
    2. Advanced Role Management
    3. Moving Scholars closer to core - next steps
  4. Vitro JMS messaging approaches - redux
    1. Which architectural pattern should we take?
    2. What should the body of the messages be
  5. Incremental development initiatives
    1. Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    2. Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    3. Integration test opportunities with the switch to TDB - requires startup/shutdown of external Solr ..via Maven

Tickets

  1. Status of In-Review tickets

    type key summary assignee reporter priority status resolution created updated due

    Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Notes

  1. Announcements
    1. From Michel: ontology version https://github.com/UQAM-SB/CCRD-CRDC/ of CRDC vocabulary.  https://www.statcan.gc.ca/eng/subjects/standard/crdc/2020v1/introduction . "Could be used as a basis for a standardized classification of expertises in VIVO." (Michel is on vacation in August but interested in comments.) (Michel was here today and discussed this topic.)
      1. CRDC: Canadian classification/vocabulary for research.  Standardized across Canada.  Based on international organization.  Open data made from statistics canada.  Taxonomy is in CSV file. 
      2.  Michel translated it into OWL/RDFS.  After discussion with Christian, made SKOS version of ontology. Branch issue 1 on GitHub.  When back in September, Michel will investigate more about SKOS and then merge with main branch.
      3. Tried with VIVO and it seemed to work well.  
      4. If researchers using VIVO in Canada, could then be represented in capability map with standardized expertise.
      5. Research area forms where vocabularies can be used.  Would be good to include this ontology/vocabulary as choice in form.  
      6. Taxonomy in both French and English.  Three fields and four levels depth.  For each level, individual entities which can be associated with research expertise.  
      7. Repository has two ontologies: CCRD-CRDC: data graph.  Another one has the semantics.  Java source is code for transforming CSV into TTL. 
      8. Brian: need to use SKOS version?
        1. Michel: SKOS.  
      9. Michel: Three different data graphs for each taxonomy field. Not sure what the best way to represent this info might be, but good to have this discussion before including in the core.
      10. Brian: how large?
        1. Michel: Under 5000 triples
      11. Brian: What is the semantic file?
        1. Michel: Documentation under stats canada. Will see three fields and explanation of what main field is for.  Semantic ontology: properties of columns of CSV file. Rules for structuring taxonomy.  Meta-ontology. 
    2. VIVO-PROXY updates
      1. Github: https://github.com/vivo-community/VIVO-PROXY 
      2. Michel: Cleaned code for the prototype originally presented at conference.  Created additional APIs: persons, organizations, preferred position for person in organization, research area.  Another API to create concept in VIVO.  Another to send IRI in VIVO and retrieve triples in TTL or any form. 
        1. Can be compiled
        2. Readme file explains proxy
        3. Calling API: CURL commands with JSON data
      3. If people could test it, this proxy might be a good starting point for sprint in September or October (after mid-September)
        1. Sweden/Louisiana universities will be interested in this sprint
      4. In the VIVO community github
      5. Brian: RDF API for person: Is that doing more than the linked data response for an entity?
        1. Michel: SPARQL describe request for a URI.
        2. Uses Swagger
        3. Port 1919: description of the API and ability to try the API
        4. Need to send in validated data since no validation process within Proxy
        5. William: vivo’s own responsibility to validate incoming data and not client.
        6. Michel: If bad username/password: won’t see a 404 error since VIVO giving back 200.  VIVO proxy doesn’t have a way to check if user credentials resulted in error. 
          1. Have pull request for VIVO to give 404 error if bad authentication. 
            1. VIVO proxy: Or will need to re-manage communication with VIVO.   
        7. William: Does SPARQL update return responses that show if something doesn’t work?
        8. Michel: Sparql update api seems to work ok.  
          1. When creating a new URI: put it in query.  Or build sparql function that can call VIVO to generate instance with particular URI
          2. Management of individuals not trivial in VIVO. If used in VIVO, can’t use one generated in VIVO itself
        9. William: if only properties available are first name, last name - no way to disambiguate automatically using just query.  If don’t match exactly, whole new URI. 
        10. Michel: more formal way is to check if URI exists
        11. Brian: could have api look for keys in ontology - compound key or ORCID that already exists in the system, so can infer that this is the same entity already in the system instead of trying to guess. 
        12. Michel: Command design pattern implemented in code. VIVO proxy has own stubs with JAVA class.  Request inside VIVO receiver.
          1. https://github.com/vivo-community/VIVO-PROXY/blob/main/bundles/ca.uqam.tool.vivo-proxy/src-custom/main/java/ca/uqam/tool/vivoproxy/pattern/command/receiver/VivoReceiver.java 
        13. William: Do you need to change getters/setters if YAML for Swagger changes
          1. Michel: no
        14. William: What is test coverage?
          1. Michel: Currently none.  This is a prototype.
        15. Brian: Authentication message always coming back as 200 with VIVO even when login doesn’t work.
          1. Proxy relying on human user behavior.  Error shows up on the page but doesn’t send an http error
            1. Options: Scrape the response or build separate API that returns error code directly
    3. Via Christian, an efficient SHACL validation implementation developed at TIB: https://github.com/SDM-TIB/Trav-SHACL 
  2. Unit tests
    1. Georgy has fixed the problematic unit tests in Vitro (none was problematic in VIVO): https://github.com/vivo-project/Vitro/pull/245  
    2. runOrder fix ready for 1.12.1 VIVO-2005 - Add runOrder to unit tests In Review
  3. Small(er) development items for 1.13
    1. Firming up requirements for SKOS reasoner / indexer feature

Draft notes on Google Drive



  • No labels