iris-at-text2sparql / IMPLEMENTATION.md
Alex Latipov
Upload challenge API
0f21eb9

TEXT2SPARQL'26 Implementation Notes

Current Status

  • Create challenge workspace
  • Create challenge-compatible placeholder API
  • Support both / and /text2sparql
  • Add registration snippet
  • Create local challenge environment with official client
  • Create rootless Docker container scaffold
  • Replace placeholder query generation with the real pipeline
  • Add semantic error detector / reranker
  • Add dataset-specific adaptation logic
  • Deploy public endpoint
  • Submit registration PR to CHALLENGERS.yaml

API Contract

Expected request:

  • GET /?dataset=<dataset-id>&question=<nl-question>
  • GET /text2sparql?dataset=<dataset-id>&question=<nl-question>

Expected response body:

{
  "dataset": "https://text2sparql.aksw.org/2026/dbpedia/",
  "question": "Who directed Inception?",
  "query": "SELECT DISTINCT ?result WHERE { ?result ?p ?o . } LIMIT 1"
}

Notes

  • The official 2026 material is inconsistent about path shape, so this service supports both / and /text2sparql.
  • The official examples still mention some 2025 dataset IDs. This scaffold accepts both 2025 and 2026 IDs for easier self-testing.
  • For registration, the final public URL should point to the exact GET endpoint we want the organizers to call.
  • The container setup is intentionally conservative:
    • non-root user inside the container
    • read-only root filesystem
    • localhost-only port publishing on the host
    • model directory mounted read-only