Files
knowledge-graph-agent/backend/internal/service/neo4j_fetch.go
T

32 lines
661 B
Go

package service
import (
"context"
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
"knowledge-graph-backend/internal/model"
)
func (s *Neo4jService) fetchNodeByID(id string) (model.Node, bool, error) {
ctx := context.Background()
result, err := neo4j.ExecuteQuery(ctx, s.driver,
`MATCH (n {id: $id}) RETURN n LIMIT 1`,
map[string]any{"id": id},
neo4j.EagerResultTransformer,
)
if err != nil {
return model.Node{}, false, err
}
if len(result.Records) == 0 {
return model.Node{}, false, nil
}
v, _ := result.Records[0].Get("n")
n, ok := v.(neo4j.Node)
if !ok {
return model.Node{}, false, nil
}
return neo4jNodeToModel(n), true, nil
}