Skripte und Dokumentation zur Erstellung, Management und Nutzung des N4O Knowledge Graphen
Das Handbuch enthält eine
Beschreibung der Konzepte, Architektur und Workflows des Knowledge Graphen.
Die Dokumentation wird aus Markdown-Quelltexten im Verzeichnis
manual erstellt (lokale mit Aufruf von make docs
oder
auf GitHub nach jedem Commit auf dem main
Branch).
Das Handbuchs dient gleichzeitig als Integrationstest für den Knowledge Graphen.
Benötigt werden eine Standard-Unix-Tools (incl. curl und jq):
sudo apt install curl jq
Sowie Docker, Python3, Node >= v18 (deren Installation hier nicht erklärt).
Anschließend müssen weitere Python- und Node-Bibliotheken installiert werden:
sudo apt install python3-venv
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
Node-Programme pgraphs und mermaid-cli (letzteres nur falls die Dokumentation neu erstellt werden soll):
npm install pgraphs
npm install mermaid-cli
Die Datei neo4j.json enthält die interne und externe Konfiguration für eine oder zwei Neo4j-Datenbanken:
uri
,url
,user
,password
: Interne Zugangsdaten für temporäre Datenbankpublic
: Öffentliche API (Lese-Zugriff)
Zum Starten eines Docker-Containers mit der internen Neo4j-Datenbank:
./neo4j.sh start neo4j.json
Zur Installation eines RDF-Triple-Stores mit Fuseki gibt es hier ein Debian-Paket. In Fuseki muss zunächst eine Datenbank erstellt werden, z.B. n4o-rdf-import
:
curl --data "dbName=n4o-rdf-import&dbType=tdb2" http://localhost:3030/$/datasets
Zusätzlich muss die Konfiguration der Datenbank so erweitert werden, dass der Default Graph alle Teilgraphen umfasst:
# In Datei /etc/fuseki/configuration/n4o-rdf-import.ttl
:tdb_dataset_readwrite tdb2:unionDefaultGraph true .
Siehe Repository n4o-import.
Aufruf via
./venv/bin/python ./pg-expand-labels.py -c neo4j.json < crm-expand.txt
Wobei in neo4j.json
(bzw. einer anderen Konfigurationsdatei) die Verbindungsdaten zur jeweiligen Neo4J-Datenbank stehen müssen.
Verzeichnis voc enthält Informationen zu unterstützen Ontologien und Normdateien.
Alle Inhalte und Beiträge in diesem Repository können als Public Domain frei verwendet werden (CC Zero).