Skip to content

Instantly share code, notes, and snippets.

@kortschak
Created September 18, 2014 00:22
Show Gist options
  • Select an option

  • Save kortschak/8d3f0610af8516716f5c to your computer and use it in GitHub Desktop.

Select an option

Save kortschak/8d3f0610af8516716f5c to your computer and use it in GitHub Desktop.
check quad data for duplicates
package main
import (
"compress/bzip2"
"fmt"
"os"
"github.com/google/cayley/quad"
"github.com/google/cayley/quad/nquads"
)
func main() {
f, err := os.Open(os.Args[1])
if err != nil {
panic(err)
}
defer f.Close()
seen := make(map[quad.Quad]struct{})
dec := nquads.NewDecoder(bzip2.NewReader(f))
for {
q, err := dec.Unmarshal()
if err != nil {
fmt.Fprintln(os.Stderr, err)
break
}
if _, exist := seen[q]; exist {
fmt.Fprintf(os.Stderr, "already seen %#v", q)
break
}
seen[q] = struct{}{}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment