26 lines
616 B
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")
|
|
}
|