Add filter, add READMES
This commit is contained in:
33
backend_go/selection_query.go
Normal file
33
backend_go/selection_query.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
selectionqueries "visualizador_instanciados/backend_go/selection_queries"
|
||||
)
|
||||
|
||||
func runSelectionQuery(
|
||||
ctx context.Context,
|
||||
sparql *AnzoGraphClient,
|
||||
snapshot GraphResponse,
|
||||
queryID string,
|
||||
selectedIDs []int,
|
||||
includeBNodes bool,
|
||||
) ([]int, error) {
|
||||
def, ok := selectionqueries.Get(queryID)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unknown query_id: %s", queryID)
|
||||
}
|
||||
|
||||
idToNode := make(map[int]selectionqueries.NodeRef, len(snapshot.Nodes))
|
||||
keyToID := make(map[string]int, len(snapshot.Nodes))
|
||||
for _, n := range snapshot.Nodes {
|
||||
nr := selectionqueries.NodeRef{ID: n.ID, TermType: n.TermType, IRI: n.IRI}
|
||||
idToNode[n.ID] = nr
|
||||
keyToID[n.TermType+"\x00"+n.IRI] = n.ID
|
||||
}
|
||||
|
||||
return def.Run(ctx, sparql, selectionqueries.Index{IDToNode: idToNode, KeyToID: keyToID}, selectedIDs, includeBNodes)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user