Natural-language prosopographic queries for the Roman Republic. Generates validated SPARQL against the DPRR RDF dataset and synthesises results with uncertainty flags and source citations.
Three well-named SPARQL tools with clear, action-verb naming (get_, validate_, execute_). Descriptions are substantial and actionable (ranging 126-257 chars, within production baseline of 194±200). All tools have input schemas with proper type definitions. However, output schemas are undocumented (descriptions mention 'toons format' but no structured schema provided), and error handling relies on free-text strings rather than structured error objects with recovery guidance. Tool composition is strong, each has a single responsibility and the chain (get_schema → validate_sparql → execute_sparql) is well-designed for SPARQL workflow. Parameter descriptions are present but could be more prescriptive about constraints (e.g., timeout bounds).
Validate and execute a SPARQL query against the local DPRR RDF store. Returns results in toons format. Automatically repairs missing PREFIX declarations before execution.
Get a DPRR ontology overview: namespace prefixes, available classes, and general query tips. Call this first, then use validate_sparql for class-specific guidance and examples.
Validate a SPARQL query against the DPRR schema without executing it. Checks syntax, auto-repairs missing PREFIX declarations, and validates that all classes and predicates exist in the ontology.
Output schemas are not documented. Descriptions mention 'toons format' and 'results in toons format' but provide no structured schema, field definitions, or example response structure. LLMs cannot plan downstream operations or extract fields reliably without documented output schemas.
Error responses are free-text strings without structured format. Code shows 'return f"ERROR: ..."' and 'return f"INVALID\n\nErrors:\n{error_list}"', these are human-readable but not machine-parseable. LLMs cannot reliably extract error codes, categories, or recovery actions.
Parameter 'timeout' in execute_sparql has no bounds or constraints documented. Description says 'Optional query timeout in seconds' but does not specify min/max values. Unbounded numeric parameters let LLMs pass absurd values (e.g., timeout=999999).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 57 | - | v1 |
No dry-run or confirmation mechanism for execute_sparql. While SPARQL queries are read-only against DPRR, the tool should support optional validation-only mode (already available via validate_sparql) but could offer a 'dry_run=true' parameter to make intent explicit.