Skip to content

MontyBitto/n4o-property-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

Packages

No packages published

Languages

  • JavaScript 95.1%
  • CSS 1.9%
  • Python 1.4%
  • Mermaid 0.6%
  • Lua 0.4%
  • Makefile 0.3%
  • Shell 0.3%