Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Genesys Backend Genesys Backend
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 25
    • Issues 25
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Genesys PGR
  • Genesys BackendGenesys Backend
  • Issues
  • #565
Closed
Open
Created Jan 13, 2021 by Matija Obreza@mobrezaOwner

Knowledge management backend

For the next phase of Genesys we need to better document the meaning of terms, concepts and how they relate. We can (and will) use data and metadata that exists in the Genesys database schema. We want to be able to document the concepts using SKOS. Also see https://www.obitko.com/tutorials/ontologies-semantic-web/ontologies.html.

While following SKOS concepts, we will initially record Genesys terms in the database not RDF store.

Background

Multiple LOD (linked open data) resources contain data highly relevant to understanding and defining Genesys data.

Many of these resources provide not only definitions, but also translations.

Data model

The data modelling of a Concept follows SKOS nomenclature.

{
 "id": "foobar1",
 "prefLabel": {
   "_": "Default label",
   "en": "Something else",
   "de": "German label"  
 },
 "altLabel": { ... },
 "definition": { ... },
 "sameAs" : "https://...",
}

RDF engine

And RDF engine would allow for making inferences about the data, but it appears that we do not yet have a need for that.

https://jena.apache.org appears to be our best match.

In production, Jena (and whatever is needed) will run as a separate Docker container (just like Amphibian) and will be responsible for its data (volume). TBD will most likely be the most appropriate engine as we don't want to overload the Genesys accession database with this data.

Genesys will provide API endpoints to query and interact with the RDF engine.

In this first phase, we want to be able to

  1. Add a new record to the RDF store
  2. List (all) records existing in the store
  3. Retrieve the details from the store
Edited Mar 14, 2021 by Matija Obreza
Assignee
Assign to
Time tracking