本文整理汇总了Golang中github.com/google/badwolf/storage.Graph.Triples方法的典型用法代码示例。如果您正苦于以下问题:Golang Graph.Triples方法的具体用法?Golang Graph.Triples怎么用?Golang Graph.Triples使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/google/badwolf/storage.Graph
的用法示例。
在下文中一共展示了Graph.Triples方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: WriteGraph
// WriteGraph serializes the graph into the writer where each triple is
// marshaled into a separate line. If there is an error writing the
// serialization will stop. It returns the number of triples serialized
// regardless if it succeeded or failed partially.
func WriteGraph(ctx context.Context, w io.Writer, g storage.Graph) (int, error) {
var (
wg sync.WaitGroup
tErr error
wErr error
)
cnt, ts := 0, make(chan *triple.Triple)
wg.Add(1)
go func() {
defer wg.Done()
tErr = g.Triples(ctx, ts)
}()
for t := range ts {
if wErr != nil {
continue
}
if _, err := io.WriteString(w, fmt.Sprintf("%s\n", t.String())); err != nil {
wErr = err
continue
}
cnt++
}
wg.Wait()
if tErr != nil {
return 0, tErr
}
if wErr != nil {
return 0, wErr
}
return cnt, nil
}
示例2: WriteGraph
// WriteGraph serializes the graph into the writer where each triple is
// marshalled into a separate line. If there is an error writting the
// serializatino will stop. It returns the number of triples serialized
// regardless if it succeded of it failed partialy.
func WriteGraph(w io.Writer, g storage.Graph) (int, error) {
cnt := 0
for t := range g.Triples() {
_, err := io.WriteString(w, fmt.Sprintf("%s\n", t.String()))
if err != nil {
return cnt, err
}
cnt++
}
return cnt, nil
}
示例3: WriteGraph
// WriteGraph serializes the graph into the writer where each triple is
// marshalled into a separate line. If there is an error writting the
// serialization will stop. It returns the number of triples serialized
// regardless if it succeded of it failed partialy.
func WriteGraph(ctx context.Context, w io.Writer, g storage.Graph) (int, error) {
cnt := 0
ts, err := g.Triples(ctx)
if err != nil {
return 0, err
}
for t := range ts {
if _, err := io.WriteString(w, fmt.Sprintf("%s\n", t.String())); err != nil {
return cnt, err
}
cnt++
}
return cnt, nil
}