Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Welcome to the guide on how to back up and restore graph database repositories using the enapso-graphdb-cli tool. This document provides step-by-step instructions for installing the tool and executing backup and restoration operations with popular triplestores like GraphDB, Fuseki, and Stardog. This guide ensures efficient data management and security for your graph databases. Implementing these procedures is crucial for protecting against data loss and ensuring that your system can quickly recover from potential disruptions.

Prerequisites

Ensure Node.js is installed on your machine. If not, install it from the Node.js official website.

Installation

Install the enapso-graphdb-cli tool globally using npm:

npm install -g @innotrade/enapso-graphdb-cli

Supported Triplestores

The tool supports the following triplestores:

  • GraphDB

  • Fuseki

  • Stardog

Backup Process

Use the following script to create a backup of the graph database repository. This example is configured for a Fuseki repository but can be adjusted for other supported triplestores by changing the appropriate variables.

#!/bin/bash
echo "Backup Script for Exporting Ontology from Graph Database Using enapso-graphdb-cli"

# Set Variables
DB_URL="http://localhost/fuseki"
REPOSITORY_NAME="Test"
FORMAT="application/x-trig"
EXPORT_FILE="export.trig"
REPORT_FILE="report.txt"
TRIPLESTORE="fuseki"

# Remove Previous Report File
echo "Removing Previous Report File..."
rm $REPORT_FILE

# Export ontology
enapsogdb export --dburl $DB_URL --repository $REPOSITORY_NAME --targetfile $EXPORT_FILE --triplestore $TRIPLESTORE >> $REPORT_FILE 2>&1

echo "Backup made successfully"

Variables Explanation

  • DB_URL: URL where the triplestore is running.

  • REPOSITORY_NAME: Name of the repository.

  • FORMAT: Data format, For Fuseki, the data is only returned in the application/x-trig format, so specifying the format is not necessary. For other triplestores like GraphDB and Stardog, the recommended format is application/x-trig due to its support of named graphs.

  • EXPORT_FILE: Path and filename for the backup file.

  • REPORT_FILE: Path and filename for the report file, which contains the response from the script's execution.

  • TRIPLESTORE: Type of the triplestore (fuseki, graphdb, stardog).

Restore Process

The following script restores a graph database repository from a backup file. It includes an optional step to rebuild the cache on the ENAPSO platform, beneficial for those using the ENAPSO Together or ENAPSO Together Free services, which utilize a cache mechanism to enhance data management efficiency and speed.

#!/bin/bash
echo "Running Script for Restoring Graph Database Repository Using enapso-graphdb-cli Tool"

# Set Variables
DB_URL="http://localhost/fuseki"
REPOSITORY_NAME="Test"
FORMAT="application/x-trig"
SOURCE_FILE="export.trig"
REPORT_FILE="report.txt"
TRIPLESTORE="fuseki"

# Remove Previous Report File
echo "Removing Previous Report File..."
rm $REPORT_FILE

# Import ontology
enapsogdb import --dburl $DB_URL --repository $REPOSITORY_NAME --sourcefile $SOURCE_FILE --format $FORMAT --triplestore $TRIPLESTORE >> $REPORT_FILE 2>&1

# Rebuild cache (if applicable)
curl -X POST http://localhost/enapso-dev/graphdb-management/v1/build-cache >> $REPORT_FILE

echo "Graph Database Repository Successfully Restored"

Variables Explanation

  • DB_URL: URL where the triplestore is running.

  • REPOSITORY_NAME: Name of the repository.

  • FORMAT: Data format of the backup file, which is application/x-trig.

  • SOURCE_FILE: Path and filename for the backup file.

  • REPORT_FILE: Path and filename for the report file, which contains the response from the script's execution.

  • TRIPLESTORE: Type of the triplestore (fuseki, graphdb, stardog).

Additional Step Explanation

The curl request to rebuild the cache is an optional step, relevant for users whose repositories are hosted on the ENAPSO platform:

curl -X POST http://localhost/enapso-dev/graphdb-management/v1/build-cache >> Report/EnapsoTestReport.txt

This command triggers the ENAPSO service to rebuild its cache using the latest uploaded data. This step ensures that any changes from the restoration process are promptly reflected, enhancing the performance and efficiency of queries against the updated repository.

Include this step if you are using the ENAPSO platform to benefit from faster data retrieval times post-restoration.

This enhanced documentation provides clear instructions and additional context for using the enapso-graphdb-cli tool effectively, ensuring users can manage their graph databases with confidence.

Conclusion

Regular backups and effective restoration capabilities are essential for managing graph database repositories securely. Using the enapso-graphdb-cli tool, users can easily safeguard their data and restore it quickly if necessary. It's important to maintain a consistent backup routine and periodically test your restoration process to ensure data integrity and minimize downtime.

For additional support or details, refer to the enapso-graphdb-cli documentation on npm. This will ensure that your data management processes remain robust and reliable.

  • No labels