#!/usr/bin/env bash set -euo pipefail cd /app export PYTHONPATH=/app:${PYTHONPATH:-} export CORPORATE_GRAPH_URI="${CORPORATE_GRAPH_URI:-http://ld.company.org/prod}" export DBPEDIA_GRAPH_URI="${DBPEDIA_GRAPH_URI:-http://dbpedia.org}" export DBPEDIA_ENDPOINT_URL="${DBPEDIA_ENDPOINT_URL:-http://127.0.0.1:8890/sparql?default-graph-uri=${DBPEDIA_GRAPH_URI}}" export CORPORATE_ENDPOINT_URL="${CORPORATE_ENDPOINT_URL:-http://127.0.0.1:8890/sparql?default-graph-uri=${DBPEDIA_GRAPH_URI}&default-graph-uri=${CORPORATE_GRAPH_URI}}" export PORT="${PORT:-7860}" bash scripts/hf_restore_db_snapshot_clean.sh bash scripts/hf_prepare_virtuoso_ini.sh bash scripts/hf_start_virtuoso.sh echo "Verifying DBpedia graph availability ..." DBPEDIA_VERIFY_RESPONSE="$( curl -fsG \ --data-urlencode "query=ASK WHERE { ?p ?o }" \ --data-urlencode "format=application/sparql-results+json" \ "${DBPEDIA_ENDPOINT_URL}" || true )" if [[ "${DBPEDIA_VERIFY_RESPONSE}" != *'"boolean": true'* && "${DBPEDIA_VERIFY_RESPONSE}" != *'"boolean":true'* ]]; then echo "DBpedia verification failed." echo "Response: ${DBPEDIA_VERIFY_RESPONSE}" exit 1 fi bash scripts/hf_load_corporate_graph.sh exec uvicorn service.app:app --host 0.0.0.0 --port "$PORT"