Skip to content

Commit

Permalink
Handle nil from
Browse files Browse the repository at this point in the history
  • Loading branch information
iddan committed Jan 18, 2020
1 parent a3232dc commit 48b40f1
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions query/linkedql/steps/match.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,16 @@ func (s *Match) BuildIterator(qs graph.QuadStore, ns *voc.Namespaces) (query.Ite

// BuildPath implements linkedql.PathStep.
func (s *Match) BuildPath(qs graph.QuadStore, ns *voc.Namespaces) (*path.Path, error) {
fromPath, err := s.From.BuildPath(qs, ns)
if err != nil {
return nil, err
var p *path.Path
if s.From != nil {
fromPath, err := s.From.BuildPath(qs, ns)
if err != nil {
return nil, err
}
p = fromPath
} else {
p = path.StartPath(qs)
}
path := fromPath

// Get quads
quads, err := parsePattern(s.Pattern, ns)
Expand Down Expand Up @@ -73,14 +78,14 @@ func (s *Match) BuildPath(qs graph.QuadStore, ns *voc.Namespaces) (*path.Path, e

for entity, properties := range entities {
if iri, ok := entity.(quad.IRI); ok {
path = path.Is(iri)
p = p.Is(iri)
}
for property, values := range properties {
path = path.Has(property, values...)
p = p.Has(property, values...)
}
}

return path, nil
return p, nil
}

func parsePattern(pattern linkedql.GraphPattern, ns *voc.Namespaces) ([]quad.Quad, error) {
Expand Down

0 comments on commit 48b40f1

Please sign in to comment.