Skip to content

nfdi4objects/n4o-graph

Repository files navigation

NFDI4Objects Graph

Technical architecture and documentation of the NFDI4Objects Knowledge Graph

Components

Another component is planned to provide an admin interface.

Data flow

graph TD
    terminologies(terminologies) --> receive
    collections(collections) --> receive
    data(research data) --> receive
    stage(stage)

    subgraph importer ["n4o-graph-**importer**"]
        receive[**receive**]
        receive -- validate, transform, report --> stage
        stage --> load
        load[**load**]

    end
    subgraph n4o-**admin**
      admin-ui[**web application**]
    end
    admin-ui --> importer
    admin-ui -- web browser --- admin(admin)
    subgraph "n4o-**fuseki**"
        kg(triple store)
    end
    subgraph "n4o-graph-**apis**"
        ui[**web application**]
    end
    subgraph "lido-rdf-**converter**"
        lido2rdf[**lido2rdf**]
        web-app[**web-app**]
    end

    stage --> ui
    kg -- SPARQL --> ui
    ui -- SPARQL --> apps(applications)

    receive <--> lido2rdf
    load -- SPARQL update & graph store --> kg

    web-app <--> ui

    ui <--web browser--> users(users)
Loading

Installation

Clone this repository or copy file docker-compose.yml and config file config-apis.yml to a local directory. Then start a new set of docker containers that make the N4O Knowledge Graph:

docker compose up --force-recreate --remove-orphans -V

To update the locally cached Docker images, first run:

docker compose pull

Usage

The web interface is made public at http://localhost:8000/ by default. The tool to convert LIDO to RDF is hosted at http://localhost:8000/lido2rdf/.

The importer scripts can be called with docker compose run importer:

First retrieve the current list of terminologies and their metadata:

docker compose run importer update-terminologies
docker compose run importer load-terminologies-metadata 

The terminology metadata should now be listed at http://localhost:8000/terminology/.

Then retrieve and load selected terminologies, e.g.:

docker compose run importer import-terminology http://bartoc.org/en/node/18274  # SKOS
docker compose run importer import-terminology http://bartoc.org/en/node/1644   # CRM

To import collections, fist get and import the list of collections:

docker compose run importer update-collections
docker compose run importer load-collections-metadata

Import of selected collection data is not fully implemented yet.

To retrieve and load the lists of terminologies and collection with one command:

docker compose run importer import-metadata

Configuration

The following environment variables can be used for configuration:

  • PORT
  • STAGE
  • DATA

License

The content of this repository can be used freely as Public Domain (CC Zero).

About

NFDI4Objects Property Graph

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 5