Files
visualizador_instanciados/backend_go/queryscope/scope.go

26 lines
616 B
Go

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")
}