glam/frontend/scripts/load-and-start.sh
kempersc 2761857b0d Add scripts for converting OWL/Turtle ontology to Mermaid and PlantUML diagrams
- Implemented `owl_to_mermaid.py` to convert OWL/Turtle files into Mermaid class diagrams.
- Implemented `owl_to_plantuml.py` to convert OWL/Turtle files into PlantUML class diagrams.
- Added two new PlantUML files for custodian multi-aspect diagrams.
2025-11-22 23:01:13 +01:00

85 lines
2.3 KiB
Bash
Executable file

#!/bin/bash
# Combined script: Start Oxigraph in-memory + Load sample data
# Ensures server is ready before loading data
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BIND_ADDRESS="127.0.0.1:7878"
ENDPOINT="http://${BIND_ADDRESS}"
DATA_DIR="${SCRIPT_DIR}/../data/sample-rdf"
echo "=================================================="
echo " Oxigraph Server: Start + Load Data"
echo "=================================================="
echo ""
# Step 1: Start server
echo "Step 1: Starting Oxigraph server (in-memory mode)..."
"${SCRIPT_DIR}/start-oxigraph-memory.sh"
if [ $? -ne 0 ]; then
echo "❌ Failed to start server"
exit 1
fi
echo ""
echo "Step 2: Waiting 2 seconds for server to stabilize..."
sleep 2
# Step 2: Load data
echo ""
echo "Step 3: Loading sample RDF data..."
if [ ! -d "$DATA_DIR" ]; then
echo "⚠️ Sample data directory not found: $DATA_DIR"
echo " Server is running but no data loaded"
exit 0
fi
LOADED=0
FAILED=0
for NT_FILE in "$DATA_DIR"/*.nt; do
if [ ! -f "$NT_FILE" ]; then
echo "⚠️ No .nt files found in $DATA_DIR"
break
fi
FILENAME=$(basename "$NT_FILE")
echo " Loading: $FILENAME"
RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \
-H 'Content-Type: application/n-triples' \
--data-binary "@${NT_FILE}" \
"${ENDPOINT}/store" 2>&1)
HTTP_CODE=$(echo "$RESPONSE" | tail -n 1)
if [ "$HTTP_CODE" = "204" ] || [ "$HTTP_CODE" = "201" ]; then
echo " ✅ Loaded successfully"
LOADED=$((LOADED + 1))
else
echo " ❌ Failed (HTTP $HTTP_CODE)"
FAILED=$((FAILED + 1))
fi
done
echo ""
echo "=================================================="
echo " Summary"
echo "=================================================="
echo "Server: Running at $ENDPOINT"
echo "Data: $LOADED file(s) loaded, $FAILED failed"
echo ""
echo "SPARQL Endpoint: ${ENDPOINT}/query"
echo ""
echo "Test query:"
echo " curl -X POST \\"
echo " -H 'Content-Type: application/sparql-query' \\"
echo " -H 'Accept: application/sparql-results+json' \\"
echo " --data 'SELECT * WHERE { ?s ?p ?o } LIMIT 10' \\"
echo " ${ENDPOINT}/query"
echo ""
echo "To stop server: kill \$(cat /tmp/oxigraph-server.pid)"
echo "=================================================="