Unified Cybersecurity Knowledge Graph
- Docker Desktop - https://www.docker.com/products/docker-desktop/
- First, pull the repository into your file system
$ git clone https://github.com/edogdu/UCKG.git ./UCKG- Next, switch to root directory of project
$ cd UCKG- Lastly, run docker-compose to start project
$ docker-compose up --build- To shutdown the UCKG, follow these steps
- type Ctrl+C to stop server
- use docker-compose to clean up images
$ docker-compose downThe embedding generation process can utilize NVIDIA GPUs for faster processing:
-
To run with GPU (default): The GPU configuration is enabled by default. Requires NVIDIA drivers and Docker GPU support.
-
To disable GPU support: Comment out the GPU-related lines in
docker-compose.ymlif you don't have an NVIDIA GPU:# In the ollama service section, comment out these lines: environment: # - NVIDIA_VISIBLE_DEVICES=all # - NVIDIA_DRIVER_CAPABILITIES=compute,utility # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu]
The system includes semantic embedding generation for enhanced search capabilities:
-
To enable embeddings (default): The embedding generation is enabled by default with
EMBED_ENV: "true". -
To disable embeddings: Change
EMBED_ENVto"false"indocker-compose.ymlto skip embedding generation and save processing time:# In uckg-scripts service environment section: uckg-scripts: environment: EMBED_ENV: "false" # Change from "true" to "false" to disable
Note: Disabling embeddings will skip the semantic search capabilities but the core knowledge graph functionality will still work.
- A copy of our paper outlining the project is available in the root directory as uckg_paper.pdf
- A web-based visualization of the Unified Cybersecurity Ontology can be accessed at this url: https://service.tib.eu/webvowl/#iri=http://purl.org/cyber/uco
- Docker has a tendency to have hanging resources that can take up alot of diskspace, I found the following commands useful
- In Docker Desktop Application, ensure no containers are running
- In Command Line or Bash run Docker prune commands
$ docker image prune -f
$ docker builder prune
- In Docker Desktop Application, navigate to Troubleshoot section (bug button) and select Clean/Purge data
- If diskspace utilization is not changing after running these steps, try restarting your computer
This project is licensed under the MIT License.