backend: support external SPARQL and named-graph snapshots

This commit is contained in:
Oxy8
2026-04-06 13:36:08 -03:00
parent 696844f341
commit 44c1d3eaa6
25 changed files with 1695 additions and 243 deletions

View File

@@ -0,0 +1,25 @@
package queryscope
import "strings"
// NamedGraph wraps a read pattern so app-generated queries read from any named graph via GRAPH ?g.
func NamedGraph(pattern string) string {
trimmed := strings.TrimSpace(pattern)
if trimmed == "" {
return " GRAPH ?g {\n }"
}
return indent("GRAPH ?g {\n"+indent(trimmed, " ")+"\n}", " ")
}
func AskAnyTripleQuery() string {
return "ASK WHERE {\n" + NamedGraph("?s ?p ?o .") + "\n}"
}
func indent(text string, prefix string) string {
lines := strings.Split(text, "\n")
for i, line := range lines {
lines[i] = prefix + line
}
return strings.Join(lines, "\n")
}