Date
Call-in Information
Time: 11:00 am, Eastern Time (New York, GMT-04:00)
To join the online meeting:
- Go to: https://lyrasis.zoom.us/my/vivo1?pwd=a2Q3RUVKVkN2dkNHV3FUaFRtLzhGdz09
- Passcode: 351860
One tap mobile:
US: +16699006833,,9358074182# or +19292056099,,9358074182#
Or Telephone:
US: +1 669 900 6833 or +1 929 205 6099 or 877 853 5257
Meeting ID: 935 807 4182
International numbers available: https://zoom.us/u/aeANHanzED
Slack
- https://vivo-project.slack.com
- Self-register at: http://bit.ly/vivo-slack
- Self-register at: http://bit.ly/vivo-slack
Attendees
Indicating note-taker
Agenda
- 1.12.1 status
- Small(er) development items for 1.13
- Search features related to SKOS / expertise?
- CRDC: https://github.com/UQAM-SB/CCRD-CRDC/ of CRDC vocabulary. https://www.statcan.gc.ca/eng/subjects/standard/crdc/2020v1/introduction .
- Sprint candidates? https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit?usp=sharing
- Search features related to SKOS / expertise?
- Defining shapes or subgraphs for use in APIs, edit forms, indexes etc.
- Diagrams:
- existing architecture: https://docs.google.com/presentation/d/1raO98mklGUQgAc6wMMbgDEsHVk1zoCA3bq4Fyy21GjI/edit?usp=sharing
- Georgy: existing versus proposed
- JSON entities in/out
- Apache Marmotta LDPath syntax https://marmotta.apache.org/ldpath/language.html
- JSON-LD framing: https://www.w3.org/TR/json-ld11-framing/
- Is round-tripping a potential benefit?
- Defining exercises for evaluation
- Ontology model for defining form behavior
- Diagrams:
- Moving Scholars closer to the core
Needing reviews
References
- 2019-01 Architectural Fly-in Summary#201901ArchitecturalFlyinSummary-Ingest
- VIVO in a Box current document for feedback:
Future topics
- Prioritizing and planning post-1.12 development
- Forward-looking topics:
- frameworks: Spring / Spring Boot / alternatives
- Horizontal scalability
- Deployment
- Configuration : files / environment variables / GUI settings
- Editing / form handling
- Adding custom theming without customizing build
- Post-release priorities
- Ingest / Kafka
- Advanced Role Management
- Moving Scholars closer to core - next steps
- Vitro JMS messaging approaches - redux
- Which architectural pattern should we take?
- What should the body of the messages be
- Incremental development initiatives
- Integration test opportunities with the switch to TDB - requires startup/shutdown of external Solr ..via Maven
Tickets
Status of In-Review tickets
Notes
- Announcements
- 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.)
- CRDC: Canadian classification/vocabulary for research. Standardized across Canada. Based on international organization. Open data made from statistics canada. Taxonomy is in CSV file.
- 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.
- Tried with VIVO and it seemed to work well.
- If researchers using VIVO in Canada, could then be represented in capability map with standardized expertise.
- Research area forms where vocabularies can be used. Would be good to include this ontology/vocabulary as choice in form.
- Taxonomy in both French and English. Three fields and four levels depth. For each level, individual entities which can be associated with research expertise.
- Repository has two ontologies: CCRD-CRDC: data graph. Another one has the semantics. Java source is code for transforming CSV into TTL.
- Brian: need to use SKOS version?
- Michel: SKOS.
- 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.
- Brian: how large?
- Michel: Under 5000 triples
- Brian: What is the semantic file?
- 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.
- VIVO-PROXY updates
- Github: https://github.com/vivo-community/VIVO-PROXY
- 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.
- Can be compiled
- Readme file explains proxy
- Calling API: CURL commands with JSON data
- If people could test it, this proxy might be a good starting point for sprint in September or October (after mid-September)
- Sweden/Louisiana universities will be interested in this sprint
- In the VIVO community github
- Brian: RDF API for person: Is that doing more than the linked data response for an entity?
- Michel: SPARQL describe request for a URI.
- Uses Swagger
- Port 1919: description of the API and ability to try the API
- Need to send in validated data since no validation process within Proxy
- William: vivo’s own responsibility to validate incoming data and not client.
- 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.
- Have pull request for VIVO to give 404 error if bad authentication.
- VIVO proxy: Or will need to re-manage communication with VIVO.
- William: Does SPARQL update return responses that show if something doesn’t work?
- Michel: Sparql update api seems to work ok.
- When creating a new URI: put it in query. Or build sparql function that can call VIVO to generate instance with particular URI
- Management of individuals not trivial in VIVO. If used in VIVO, can’t use one generated in VIVO itself
- 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.
- Michel: more formal way is to check if URI exists
- 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.
- Michel: Command design pattern implemented in code. VIVO proxy has own stubs with JAVA class. Request inside VIVO receiver.
- William: Do you need to change getters/setters if YAML for Swagger changes
- Michel: no
- William: What is test coverage?
- Michel: Currently none. This is a prototype.
- Brian: Authentication message always coming back as 200 with VIVO even when login doesn’t work.
- Proxy relying on human user behavior. Error shows up on the page but doesn’t send an http error
- Options: Scrape the response or build separate API that returns error code directly
- Via Christian, an efficient SHACL validation implementation developed at TIB: https://github.com/SDM-TIB/Trav-SHACL
- Unit tests
- Georgy has fixed the problematic unit tests in Vitro (none was problematic in VIVO): https://github.com/vivo-project/Vitro/pull/245
- runOrder fix ready for 1.12.1 VIVO-2005 - Add runOrder to unit tests In Review
- Small(er) development items for 1.13
- Firming up requirements for SKOS reasoner / indexer feature